Re: sample USB Driver / Probe not getting called

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

 



On 10/17/2011 04:08 PM, selvamuthukumar v wrote:
> On Mon, Oct 17, 2011 at 3:05 PM, Abhijit Pawar<apawar.linux@xxxxxxxxx>  wrote:
>> Hi All,
>> Is there any way to call a sample USB driver whenever a USB device is
>> attached to the system irrespective of the class and type of the device?
>>
>> To do this, LDD3, chap 13 mention that for USB device table, we only
>> need to add the driver_info entry as 42.
>>
>> However if I do this, my probe is never getting called.
>>
>> Now, I give the vendor and product id of this Mouse to the device_id
>> table and load my driver again. Still the probe is not getting called.
>>
>> Is it that USB core is getting the proper driver for this mouse before
>> my driver entry in the list?
>>
>> Am I missing something?
>>
> probe function will get called only if no other driver is attached to
> the device. Make sure the device does not have any other driver.
> Please refer line 290 and 291.
>
> drivers/base/dd.c:
> 270 static int __driver_attach(struct device *dev, void *data)
> 271 {
> 272         struct device_driver *drv = data;
> 273
> 274         /*
> 275          * Lock device and try to bind to it. We drop the error
> 276          * here and always return 0, because we need to keep trying
> 277          * to bind to devices and some drivers will return an error
> 278          * simply if it didn't support the device.
> 279          *
> 280          * driver_probe_device() will spit a warning if there
> 281          * is an error.
> 282          */
> 283
> 284         if (!driver_match_device(drv, dev))
> 285                 return 0;
> 286
> 287         if (dev->parent)        /* Needed for USB */
> 288                 device_lock(dev->parent);
> 289         device_lock(dev);
> 290         if (!dev->driver)
> 291                 driver_probe_device(drv, dev);
Thanks for reference to this function. It seems that there isnt any way 
to override the already attached driver to the device.
Is there any?

Regards,
Abhijit Pawar


_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


[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