title: What is the difference between register_chrdev_region and alloc_chrdev_region to allocate device numbers?
body: <p>I want to know the difference between these two functions:</p>
  
  <pre><code>int register_chrdev_region(dev_t first, unsigned int count, char *name);
  
  int alloc_chrdev_region(dev_t *dev, unsigned int firstminor, unsigned int count, char *name);
  </code></pre>