udev problems with cdev_add()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,
 I'm having trouble getting udev to create a device node in /dev/, the
init_module() code is below, the kernel loads the module fine, any
help/ideas would be much appreciated..


TIA.

Cheers.

mars char # insmod char.ko ; dmesg
char: char_init_module()
char: registered char 253,0


mars char # udevinfo -a -p /sys/module/char

  looking at device '/module/char':
    KERNEL=="char"
    SUBSYSTEM=="module"
    DRIVER==""
    ATTR{initstate}=="live"
    ATTR{refcnt}=="0"

mars char # udevtest /module/char
parse_file: reading '/etc/udev/rules.d/05-udev-early.rules' as rules file
...
parse_file: reading '/etc/udev/rules.d/95-udev-late.rules' as rules file
main: looking at device '/module/char' from subsystem 'module'
main: run: 'socket:/org/freedesktop/hal/udev_event'
main: run: 'socket:/org/kernel/udev/monitor'
mars char #


udev rules I've tried

KERNEL=="char", SUBSYSTEM=="module", NAME="%k", MODE="0666"
KERNEL=="char", NAME="%k", MODE="0666"
SUBSYSTEM=="module", NAME="%k", MODE="0666"


static int __init char_init_module (void)
{
#ifdef DEBUG
    printk(KERN_INFO "char: char_init_module()\n");
#endif
    _char_device=cdev_alloc();
    if(_char_device)
    {
        // create major/minor
        _char_devt=MKDEV(_char_major,0);
        alloc_chrdev_region(&_char_devt,0,1,_char_name);
        _char_major=MAJOR(_char_devt);
        _char_minor=MINOR(_char_devt);

        // init and & register
        cdev_init(_char_device,&_char_fops);
        _char_device->owner=THIS_MODULE;
        if(cdev_add(_char_device,_char_major,1)==0)
        {
            // must be ready to handle requests at this point!
            printk(KERN_INFO "char: registered char %d,%d",
                   _char_major,
                   _char_minor);
        }
    }
    else
    {
        printk(KERN_ERR "char: error creating char");
    }
    return(0);
}


--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux