/dev nodes deletion.

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

 



Hi,

I'm writing a character device driver which handles 2 PCI devices. I want that
when loading the module /dev/x0 and /dev/x1 entries to be created.
Also i want that when  unloading the module these entries to be deleted.

The simplified code looks like this:

@init:
class = class_create(THIS_MODULE, "my_class");
pci_register_driver();

@pci probe.
device_create(class, NULL, dev_data->devno, "x%d", minor);

@pci_remove
device_destroy(class, dev_data->devno);

@exit
pci_unregister_driver();
class_destroy(class);

Since I have 2 devices probe and remove will be called for each device.

When I load the module /dev/x0 and /dev/x1 are created but when I unload
the module this entries are NOT deleted.

What could be the problem?

I'm using 2.6.25.17 kernel and the result for udevmonitor.

UEVENT[1244693249.045198] add      /module/my_module (module)
UEVENT[1244693249.045276] add      /class/my_class (class)
UEVENT[1244693249.045301] add      /devices/virtual/my_class/x0
(my_class)
UEVENT[1244693249.045327] add      /devices/virtual/my_class/x1
(my_class)
UEVENT[1244693249.045352] add      /bus/pci/drivers/my_driver
(drivers)
UEVENT[1244693307.929258] remove   /devices/virtual/my_class/can1
(my_class)
UEVENT[1244693307.929311] remove   /devices/virtual/my_class/can0
(my_class)
UEVENT[1244693307.929337] remove   /bus/pci/drivers/my_driver
(drivers)
UEVENT[1244693307.929362] remove   /class/my_class (class)
UEVENT[1244693307.929387] remove   /module/my_module (module)


thanks,
Daniel.

--
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