lkml.org 
[lkml]   [2002]   [Aug]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
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:
http://marc.theaimsgroup.com/?l=linux-usb-devel&m=103065990107372

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

Yes.

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

Yes.

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

exactly.

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

thanks,

greg k-h
-
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/

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