aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlan Stern <stern@rowland.harvard.edu>2006-08-30 15:46:48 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2006-09-27 14:58:57 -0400
commitb6956ffa595db97656d5901ca8fec77ef272d41a (patch)
treede10e798f086de6d0fcda6f8d2423ef176d13839
parentd1ad4ea331e78a5ff90eda7718da31bcbc1a9c38 (diff)
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.c1
-rw-r--r--include/linux/usb.h1
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,
2414 usb_set_device_state(udev, USB_STATE_POWERED); 2414 usb_set_device_state(udev, USB_STATE_POWERED);
2415 udev->speed = USB_SPEED_UNKNOWN; 2415 udev->speed = USB_SPEED_UNKNOWN;
2416 udev->bus_mA = hub->mA_per_port; 2416 udev->bus_mA = hub->mA_per_port;
2417 udev->level = hdev->level + 1;
2417 2418
2418 /* set the address */ 2419 /* set the address */
2419 choose_address(udev); 2420 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 {
348 348
349 unsigned short bus_mA; /* Current available from the bus */ 349 unsigned short bus_mA; /* Current available from the bus */
350 u8 portnum; /* Parent port number (origin 1) */ 350 u8 portnum; /* Parent port number (origin 1) */
351 u8 level; /* Number of USB hub ancestors */
351 352
352 int have_langid; /* whether string_langid is valid */ 353 int have_langid; /* whether string_langid is valid */
353 int string_langid; /* language ID for strings */ 354 int string_langid; /* language ID for strings */