Doubt regarding Minor Numbers and alloc_chrdev_region

Sankar P sankar.curiosity at gmail.com
Tue Feb 8 10:50:39 EST 2011


On Tue, Feb 8, 2011 at 5:36 PM, Daniel Baluta <daniel.baluta at gmail.com>wrote:

> > If I try to create a file using, 'mknod /dev/scull2 c 250 7' , the
> > character device file gets created with a minor number of 7.
>
> You can create as much /dev/scull2 files using mknod as you
> want, but they are not linked with your driver.
>
> [first_minor, count] pair passed to alloc_chrdev_region reserve
> for you a range of minors that will be later used by your driver.
>
> Next step is to actually create the link between the node and your
> driver using chrdev_add.
>
>
Ah okay. I understand this now. On reading a few more pages in the book, I
see that the authors explain this phenomenon.

However, It seems using register_chrdev is an old way of doing things and
new code should use cdev. I just did a grep for cdev on the latest sources
and not much seem to be using the cdev* apis.

On a sidenote, I believe this whole scull section can be re-written in a way
(in the LDD3 book I meant) such that there are some small milestones, which
the reader can implement, understand and proceed further. Rightnow, it is
too big and theoretical and difficult to visualize and needs us to read a
lot of pages before we touch first line of code.

Thanks for all your help. I shall update once I make progress.

-- 
Sankar P
http://psankar.blogspot.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20110208/cd5c8e19/attachment.html 


More information about the Kernelnewbies mailing list