On Mon, Nov 26, 2012 at 2:02 PM, Jinqiang Zeng <[email protected]> wrote:
>
> first creat a device class,then register a device to the kernel. using the 
> following functions:
> struct class *class_create(struct module *owner, char *name);
>  struct class_device *class_device_create(struct class *cls,
>                       struct class_device *parent,
>                       dev_t devt,
>                       struct device *device, char *fmt, ...)
>
>
> 2012/11/26 Manavendra Nath Manav <[email protected]>
>>
>>
>> On Sat, Nov 24, 2012 at 2:20 PM, Manavendra Nath Manav 
>> <[email protected]> wrote:
>>>
>>> Hi RK
>>>
>>> On Sat, Nov 24, 2012 at 2:03 PM, Manavendra Nath Manav 
>>> <[email protected]> wrote:
>>>>
>>>> I have written a simple UART serial driver in embedded Linux running 
>>>> busybox with mdev rules. I have provided .dev_name as "ttyC2C" in my 
>>>> driver code.
>>>>
>>>> static struct uart_driver serial_omap_reg = {
>>>>    .owner      = THIS_MODULE,
>>>>    .driver_name   = "Omap-C2C-Serial",
>>>>    .dev_name   = "ttyC2C",
>>>>    .nr      = OMAP_MAX_HSUART_PORTS,
>>>>    .cons    = NULL,
>>>> };
>>>>
>>>> However the node is getting created in
>>>>
>>>> ./sys/devices/platform/omap_c2c_uart.0/tty/ttyC2C0
>>>> ./sys/class/tty/ttyC2C0
>>>>
>>>> / # ls -l ./sys/class/tty/ttyC2C0
>>>> lrwxrwxrwx    1 root     0                0 Jan  1 00:14 
>>>> ./sys/class/tty/ttyC2C0 -> 
>>>> ../../devices/platform/omap_c2c_uart.0/tty/ttyC2C0
>>>>
>>>> / # ls -l ./sys/devices/platform/omap_c2c_uart.0/tty/ttyC2C0
>>>> -r--r--r--    1 root     0             4096 Jan  1 00:14 dev
>>>> lrwxrwxrwx    1 root     0                0 Jan  1 00:14 device -> 
>>>> ../../../omap_c2c_uart.0
>>>> drwxr-xr-x    2 root     0                0 Jan  1 00:14 power
>>>> lrwxrwxrwx    1 root     0                0 Jan  1 00:14 subsystem -> 
>>>> ../../../../../class/tty
>>>> -rw-r--r--    1 root     0             4096 Jan  1 00:14 uevent
>>>> / #
>>>>
>>>> The mdev rules for tty are:
>>>>
>>>> tty 0:5 0666
>>>> tty.* 0:0 0620
>>>>
>>>> How to get device node as /dev/ttyC2C ?
>>>>
>>>> --
>>>> Manavendra Nath Manav
>>>
>>>
>>> can you help me on following issue?
>>>
>>> --
>>> Manavendra Nath Manav
>>
>>
>> In "Essential Linux Device Drivers" book, it says that that the driver name 
>> in "struct platform_driver" and "struct uart_driver" should be same. I 
>> modified the code according but still /dev/ttyC2C node is not being 
>> populated.
>>
>> --
>> Manavendra Nath Manav


When i add .major and .minor to the struct uart_driver and create the
device node manually using "mknod" then the driver works fine. Why the
kernel (3.4.0) is not able to create it automatically?

--
Manavendra Nath Manav

_______________________________________________
Kernelnewbies mailing list
[email protected]
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

Reply via email to