USB Driver Probe function not being called
I am trying to write a kernel USB driver. I have loaded the module and see that the core has accepted the registration. I have given the registration the following table for devices that the driver supports- according to all the doumentation I can find, this structure should tell the core to call my probe function for every device that gets plugged in
static struct usb_device_id usb_table[]=
{
{.driver_info= 42},
{}
};
MODULE_DEVICE_TABLE(usb,usb_table);
The usb_driver structure is as follows:
static struct us_driver mydriver=
{
.owner= THIS_MODULE,
.name= "mydriver",
.id_table= usb_table,
.probe= my_usb_probe,
.disconnect= my_usb_disconnect,
};
As I said, I see the core register the driver (through a message in the log file that I see with dmesg), and a driver shows up under /sys/bus/usb/drivers. When I plug in a memory stick, I see the device being added in the log file again (and via a usbview tool) but my probe function does not get called. I have a printk at the start of the probe function but I never see it in the log (I have a similar message in the init function and I do see that one).
Any help is greatly appreciated - I am running 2.6.9-1.667 and the driver sample I got from the Linux Device Drivers 3rd edition book.
Thanks in advance.....
|