Commit fba9e546 authored by Heiko Stübner's avatar Heiko Stübner Committed by Greg Kroah-Hartman
Browse files

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: default avatarHeiko Stuebner <heiko@sntech.de>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent e538dfda
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -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)