On Sun, Sep 26, 2010 at 12:17 AM, Bond <jamesbond.2k.g@xxxxxxxxx> wrote:
One of them is a left over from your previous mknod. Reboot the system. Then, do a mknod. You will only see one.
On Sun, Sep 26, 2010 at 12:30 PM, Venkatram Tummala <venkatram867@xxxxxxxxx> wrote:
Do a cat /proc/devices|grep <DEVICENAME>. This will get you the number.I am getting two numbers here
bond@bond:~/programming/venkatrama$ cat /proc/devices | grep bond
60 bond
250 bond
which one should I use.
One of them is a left over from your previous mknod. Reboot the system. Then, do a mknod. You will only see one.
Then do "mknod /dev/bond" c <NUMBER in /proc/devices> 0 .>zero in register_chrdev(..) is not the device number. It indicates a dynamic number.http://www.fsl.cs.sunysb.edu/kernel-api/re941.html
how is major number then assigned.
How is the name of device then decided
excerpts from the above link say
"The name of this device has nothing to do with the name of the device in /dev. It only helps to keep track of the different owners of devices. If your module name has only one type of devices it's ok to use e.g. the name of the module here."
how do I make sure that if I am writing to device /dev/bond then bond module is being used
My advise is to have printk in your module and see if your code is getting called on a read or write.
in your code you have done in memory_read*f_pos = *f_pos + count;
why have you done this?
What purpose it serves?
It updates the file pointer.Your program has worked I used 60 in mknod out of two outputs which came in cat /proc/device | grep bond