usbcore: trim down usb_bus structure
As part of the ongoing program to flatten out the HCD bus-glue layer, this patch (as771b) eliminates the hcpriv, release, and kref fields from struct usb_bus. hcpriv and release were not being used for anything worthwhile, and kref has been moved into the enclosing usb_hcd structure. Along with those changes, the patch gets rid of usb_bus_get and usb_bus_put, replacing them with usb_get_hcd and usb_put_hcd. The one interesting aspect is that the dev_set_drvdata call was removed from usb_put_hcd, where it clearly doesn't belong. This means the driver private data won't get reset to NULL. It shouldn't cause any problems, since the private data is undefined when no driver is bound. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
dd990f16a3
commit
1720058343
@@ -451,7 +451,7 @@ show_async (struct class_device *class_dev, char *buf)
|
||||
*buf = 0;
|
||||
|
||||
bus = class_get_devdata(class_dev);
|
||||
hcd = bus->hcpriv;
|
||||
hcd = bus_to_hcd(bus);
|
||||
ehci = hcd_to_ehci (hcd);
|
||||
next = buf;
|
||||
size = PAGE_SIZE;
|
||||
@@ -497,7 +497,7 @@ show_periodic (struct class_device *class_dev, char *buf)
|
||||
seen_count = 0;
|
||||
|
||||
bus = class_get_devdata(class_dev);
|
||||
hcd = bus->hcpriv;
|
||||
hcd = bus_to_hcd(bus);
|
||||
ehci = hcd_to_ehci (hcd);
|
||||
next = buf;
|
||||
size = PAGE_SIZE;
|
||||
@@ -634,7 +634,7 @@ show_registers (struct class_device *class_dev, char *buf)
|
||||
static char label [] = "";
|
||||
|
||||
bus = class_get_devdata(class_dev);
|
||||
hcd = bus->hcpriv;
|
||||
hcd = bus_to_hcd(bus);
|
||||
ehci = hcd_to_ehci (hcd);
|
||||
next = buf;
|
||||
size = PAGE_SIZE;
|
||||
|
Reference in New Issue
Block a user