title: What is the purpose of class and class device?
body: <p>I followed some tutorials that explained how to write Linux kernel modules and I am a bit confused. Even after reading the <a href="https://www.kernel.org/pub/linux/kernel/people/mochel/doc/text/class.txt" rel="nofollow noreferrer">official "documentation"</a>, I have poor understanding of the concepts.</p>
  
  <p>After creating a character device (<code>register_chrdev</code>), I see it is common to use a combination of the following functions:</p>
  
  <p><code>class_create</code></p>
  
  <p><code>class_device_create</code></p>
  
  <p><code>device_create</code></p>
  
  <p>I was not able to understand, what is a class, device and, class device and driver? </p>
  
  <p>Which one of these actually responsible to create an entry under <code>/proc/</code>?</p>