s3c-hsudc: implement vbus_draw hook

When a transceiver is available use otg_set_power to submit
the target current to it.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Heiko Stübner 2011-09-04 21:56:02 +02:00 committed by Greg Kroah-Hartman
parent e538dfdae8
commit fba9e546ea
1 changed files with 14 additions and 0 deletions

View File

@ -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)