Messages in this thread |  | | | Date | Wed, 14 Dec 2005 02:23:29 -0500 | | From | Adam Belay <> | | Subject | Re: driver_attach question |
On Tue, Dec 13, 2005 at 06:07:54PM -0800, Anil kumar wrote: > Hi, > > Should driver_attach( ) return an error value? > > I have disabled a device in the system bios, The > driver fails to report -ENODEV. > This is for 2.6.11.1 kernel > When I dig through the PCI subsystem and driver_attach > code, I find that : > > pci_register_driver is returing zero(no error) even > when the device is not present in the system. > But when I check driver_attach( ), I get -ENODEV for > driver_probe_device(). which is correct. But > driver_attach( ) does not return this error value. > driver attach( ) is called in bus_add_driver( ) and > bus_add_driver just returns error=0 > Hence I get error=0 in pci_register_driver. > > Am I missing something in the flow?
The basic strategy is to leave the driver loaded so that later, if the a device is hotplugged or the user adds a dynamic id to an existing device, it will be available. In other words, even if the registration of a driver does not result in device detection, the operation can still considered successful.
Does this answer your question?
Thanks, Adam - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |