s3c-hsudc: implement vbus_draw hook
From: Heiko Stuebner <heiko@...> Date: Sun, 4 Sep 2011 19:45:30 +0200
Commit-Message
When a transceiver is available use otg_set_power to submit the target current to it. Signed-off-by: Heiko Stuebner <heiko@...>
Patch-Comment
drivers/usb/gadget/s3c-hsudc.c | 14 ++++++++++++++ 1 files changed, 14 insertions(+), 0 deletions(-)
Statistics
- 14 lines added
- 0 lines removed
Changes
------------------------ drivers/usb/gadget/s3c-hsudc.c ------------------------
index 3e96cc5..8b6336d 100644
@@ -1241,10 +1241,24 @@ static int s3c_hsudc_gadget_getframe(struct usb_gadget *gadget)
return s3c_hsudc_read_frameno(to_hsudc(gadget));
}
+static int s3c_hsudc_vbus_draw(struct usb_gadget *gadget, unsigned mA)
+{
+ struct s3c_hsudc *hsudc = the_controller;
+
+ if (!hsudc)
+ return -ENODEV;
+
+ if (hsudc->transceiver)
+ return otg_set_power(hsudc->transceiver, mA);
+
+ return -EOPNOTSUPP;
+}
+
static struct usb_gadget_ops s3c_hsudc_gadget_ops = {
.get_frame = s3c_hsudc_gadget_getframe,
.start = s3c_hsudc_start,
.stop = s3c_hsudc_stop,
+ .vbus_draw = s3c_hsudc_vbus_draw,
};
static int s3c_hsudc_probe(struct platform_device *pdev)