Please merge; useful for battery powered hosts.
- Dave
This adds hub_set_power_budget(), mostly so that HCDs for low powered ports (cell phone, PDA, etc) can more easily report their true power budgets. It's not always 500mA per root hub port; this makes dummy_hcd report the minimum, 8mA.
Signed-off-by: David Brownell <[EMAIL PROTECTED]>
--- a/drivers/usb/core/hub.h Mon Jun 7 14:31:53 2004
+++ b/drivers/usb/core/hub.h Mon Jun 7 14:31:53 2004
@@ -216,4 +216,15 @@
struct work_struct leds;
};
+/* use this for low-powered root hubs */
+static inline void
+hub_set_power_budget (struct usb_device *hubdev, unsigned mA)
+{
+ struct usb_hub *hub;
+
+ hub = (struct usb_hub *)
+ usb_get_intfdata (hubdev->actconfig->interface[0]);
+ hub->power_budget = min(mA,(unsigned)500)/2;
+}
+
#endif /* __LINUX_HUB_H */
--- a/drivers/usb/gadget/dummy_hcd.c Mon Jun 7 14:31:53 2004
+++ b/drivers/usb/gadget/dummy_hcd.c Mon Jun 7 14:31:53 2004
@@ -1679,6 +1679,9 @@
goto clean1;
}
+ /* only show a low-power port: just 8mA */
+ hub_set_power_budget (root, 8);
+
dum->started = 1;
if ((retval = dummy_register_udc (dum)) != 0) {
