Loading drivers/usb/gadget/composite.c +10 −13 Original line number Diff line number Diff line Loading @@ -28,6 +28,14 @@ #define SSUSB_GADGET_VBUS_DRAW_UNITS 8 #define HSUSB_GADGET_VBUS_DRAW_UNITS 2 /* * Based on enumerated USB speed, draw power with set_config and resume * HSUSB: 500mA, SSUSB: 900mA */ #define USB_VBUS_DRAW(speed)\ (speed == USB_SPEED_SUPER ?\ SSUSB_GADGET_VBUS_DRAW : CONFIG_USB_GADGET_VBUS_DRAW) static bool enable_l1_for_hs; module_param(enable_l1_for_hs, bool, S_IRUGO | S_IWUSR); MODULE_PARM_DESC(enable_l1_for_hs, "Enable support for L1 LPM for HS devices"); Loading Loading @@ -750,7 +758,6 @@ static int set_config(struct usb_composite_dev *cdev, struct usb_gadget *gadget = cdev->gadget; struct usb_configuration *c = NULL; int result = -EINVAL; unsigned power = gadget_is_otg(gadget) ? 8 : 100; int tmp; /* Loading Loading @@ -864,14 +871,8 @@ static int set_config(struct usb_composite_dev *cdev, } } /* Allow 900mA to draw with Super-Speed */ if (gadget->speed == USB_SPEED_SUPER) power = SSUSB_GADGET_VBUS_DRAW; else power = CONFIG_USB_GADGET_VBUS_DRAW; done: usb_gadget_vbus_draw(gadget, power); usb_gadget_vbus_draw(gadget, USB_VBUS_DRAW(gadget->speed)); if (result >= 0 && cdev->delayed_status) result = USB_GADGET_DELAYED_STATUS; return result; Loading Loading @@ -2305,7 +2306,6 @@ composite_resume(struct usb_gadget *gadget) { struct usb_composite_dev *cdev = get_gadget_data(gadget); struct usb_function *f; u16 maxpower; int ret; unsigned long flags; Loading Loading @@ -2338,10 +2338,7 @@ composite_resume(struct usb_gadget *gadget) f->resume(f); } maxpower = cdev->config->MaxPower; usb_gadget_vbus_draw(gadget, maxpower ? maxpower : CONFIG_USB_GADGET_VBUS_DRAW); usb_gadget_vbus_draw(gadget, USB_VBUS_DRAW(gadget->speed)); } spin_unlock_irqrestore(&cdev->lock, flags); Loading Loading
drivers/usb/gadget/composite.c +10 −13 Original line number Diff line number Diff line Loading @@ -28,6 +28,14 @@ #define SSUSB_GADGET_VBUS_DRAW_UNITS 8 #define HSUSB_GADGET_VBUS_DRAW_UNITS 2 /* * Based on enumerated USB speed, draw power with set_config and resume * HSUSB: 500mA, SSUSB: 900mA */ #define USB_VBUS_DRAW(speed)\ (speed == USB_SPEED_SUPER ?\ SSUSB_GADGET_VBUS_DRAW : CONFIG_USB_GADGET_VBUS_DRAW) static bool enable_l1_for_hs; module_param(enable_l1_for_hs, bool, S_IRUGO | S_IWUSR); MODULE_PARM_DESC(enable_l1_for_hs, "Enable support for L1 LPM for HS devices"); Loading Loading @@ -750,7 +758,6 @@ static int set_config(struct usb_composite_dev *cdev, struct usb_gadget *gadget = cdev->gadget; struct usb_configuration *c = NULL; int result = -EINVAL; unsigned power = gadget_is_otg(gadget) ? 8 : 100; int tmp; /* Loading Loading @@ -864,14 +871,8 @@ static int set_config(struct usb_composite_dev *cdev, } } /* Allow 900mA to draw with Super-Speed */ if (gadget->speed == USB_SPEED_SUPER) power = SSUSB_GADGET_VBUS_DRAW; else power = CONFIG_USB_GADGET_VBUS_DRAW; done: usb_gadget_vbus_draw(gadget, power); usb_gadget_vbus_draw(gadget, USB_VBUS_DRAW(gadget->speed)); if (result >= 0 && cdev->delayed_status) result = USB_GADGET_DELAYED_STATUS; return result; Loading Loading @@ -2305,7 +2306,6 @@ composite_resume(struct usb_gadget *gadget) { struct usb_composite_dev *cdev = get_gadget_data(gadget); struct usb_function *f; u16 maxpower; int ret; unsigned long flags; Loading Loading @@ -2338,10 +2338,7 @@ composite_resume(struct usb_gadget *gadget) f->resume(f); } maxpower = cdev->config->MaxPower; usb_gadget_vbus_draw(gadget, maxpower ? maxpower : CONFIG_USB_GADGET_VBUS_DRAW); usb_gadget_vbus_draw(gadget, USB_VBUS_DRAW(gadget->speed)); } spin_unlock_irqrestore(&cdev->lock, flags); Loading