<div class="gmail_quote">On Tue, Feb 8, 2011 at 5:36 PM, Daniel Baluta <span dir="ltr">&lt;<a href="mailto:daniel.baluta@gmail.com">daniel.baluta@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">&gt; If I try to create a file using, &#39;mknod /dev/scull2 c 250 7&#39; , the<br>
&gt; character device file gets created with a minor number of 7.<br>
<br>
</div>You can create as much /dev/scull2 files using mknod as you<br>
want, but they are not linked with your driver.<br>
<br>
[first_minor, count] pair passed to alloc_chrdev_region reserve<br>
for you a range of minors that will be later used by your driver.<br>
<br>
Next step is to actually create the link between the node and your<br>
driver using chrdev_add.<br>
<div class="im"><br></div></blockquote><div><br></div><div>Ah okay. I understand this now. On reading a few more pages in the book, I see that the authors explain this phenomenon.</div><div><br></div><div>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. </div>
<div><br></div><div>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.</div>
</div><br clear="all">Thanks for all your help. I shall update once I make progress.<div><br>-- <br>Sankar P<br><a href="http://psankar.blogspot.com">http://psankar.blogspot.com</a> <br><br>
</div>