[lkml]   [2002]   [Aug]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [linux-usb-devel] [RFC] USB driver conversion to "struct device_driver" for 2.5.32
For the lkml readers, my original post (with patch) didn't seem to go
through to that list, it can be found at:

On Thu, Aug 29, 2002 at 04:50:11PM -0700, David Brownell wrote:
> So to be sure I've got this right ... those modified driver
> entry points change things as follows:
> >+ int (*probe) (struct usb_interface *intf,
> >+ const struct usb_device_id *id);
> (a) the device (for urbs etc) is now implicit:
> struct usb_device *dev = interface_to_usbdev (int):


> (b) the interface index should no longer matter

Yes. But for those drivers that do care, they can get it with the new
usb_if_to_ifnum() function. This will provide the _correct_ interface
number, the old interface only provided the index, which people seemed
to use as the ifnum.

> (c) returns 0 (not void *) or -Errno (not null)


> (d) that void * handle is explicitly intf->dev.driver_data

Yes. dev.driver_data should be wrapped by a function, like
pci_set_drvdata() and pci_get_drvdata() are for.

> >+ void (*disconnect) (struct usb_interface *intf);
> (a) and (d) above: same change


> Makes me wonder about intf->private_data, which was the
> original version of intf->dev.driver_data. Shouldn't that
> be removed too?

Yes it should.

> It's only used in the interface claiming calls (shouldn't they fit in
> with the driver model?) and usbfs just now. Is that the usbfs work
> you mentioned?

Yes, that's the part that I am pretty sure is not working properly right
now, and is next on my list of things to clean up.


greg k-h
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:28    [W:0.073 / U:5.768 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site