diff options
author | Alan Stern <stern@rowland.harvard.edu> | 2006-08-30 23:46:48 +0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-09-27 22:58:57 +0400 |
commit | b6956ffa595db97656d5901ca8fec77ef272d41a (patch) | |
tree | de10e798f086de6d0fcda6f8d2423ef176d13839 | |
parent | d1ad4ea331e78a5ff90eda7718da31bcbc1a9c38 (diff) | |
download | linux-b6956ffa595db97656d5901ca8fec77ef272d41a.tar.xz |
usbcore: store each usb_device's level in the tree
This patch (as778) adds a field to struct usb_device to store the
device's level in the USB tree. In itself this number isn't really
important. But the overhead is very low, and in a later patch it will
be used for preventing bogus warnings from the lockdep checker.
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r-- | drivers/usb/core/hub.c | 1 | ||||
-rw-r--r-- | include/linux/usb.h | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c index f5adce049b35..78e910b2046c 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c @@ -2414,6 +2414,7 @@ static void hub_port_connect_change(struct usb_hub *hub, int port1, usb_set_device_state(udev, USB_STATE_POWERED); udev->speed = USB_SPEED_UNKNOWN; udev->bus_mA = hub->mA_per_port; + udev->level = hdev->level + 1; /* set the address */ choose_address(udev); diff --git a/include/linux/usb.h b/include/linux/usb.h index c66303285a45..df5c93eb3ce9 100644 --- a/include/linux/usb.h +++ b/include/linux/usb.h @@ -348,6 +348,7 @@ struct usb_device { unsigned short bus_mA; /* Current available from the bus */ u8 portnum; /* Parent port number (origin 1) */ + u8 level; /* Number of USB hub ancestors */ int have_langid; /* whether string_langid is valid */ int string_langid; /* language ID for strings */ |