s3c2410_udc per-platform vbus_draw
Arnaud Patard (Rtp)
arnaud.patard at rtp-net.org
Fri Feb 16 23:49:53 CET 2007
Harald Welte <laforge at openmoko.org> writes:
> Hi!
Hi!
>
> Please consider to merge the following patch into your s3c2410_udc
> driver:
>
> Introduce a platform_device (machine) specific callback function
> which gets called when the amount of power we can draw from Vbus
> has changed.
>
> Signed-off-by: Harald Welte <laforge at openmoko.org>
>
> Index: linux-2.6.20/drivers/usb/gadget/s3c2410_udc.c
> ===================================================================
> --- linux-2.6.20.orig/drivers/usb/gadget/s3c2410_udc.c 2007-02-15 14:55:45.000000000 +0100
> +++ linux-2.6.20/drivers/usb/gadget/s3c2410_udc.c 2007-02-15 15:00:11.000000000 +0100
> @@ -1404,12 +1404,23 @@
> return IRQ_HANDLED;
> }
>
> +static void s3c2410_vbus_draw(struct usb_gadget *_gadget, int ma)
> +{
afaik correct declaration should be :
static int s3c2410_vbus_draw(struct usb_gadget *_gadget, unsigned int
ma).
> + struct s3c2410_udc *udc;
> +
> + dprintk(DEBUG_NORMAL, "s3c2410_vbus_draw()\n");
> +
> + if (udc_info && udc_info->vbus_draw)
> + udc_info->vbus_draw(ma);
> +}
> +
> static const struct usb_gadget_ops s3c2410_ops = {
> .get_frame = s3c2410_g_get_frame,
> .wakeup = s3c2410_wakeup,
> .set_selfpowered = s3c2410_set_selfpowered,
> .pullup = s3c2410_pullup,
> .vbus_session = s3c2410_udc_vbus_session,
> + .vbus_draw = s3c2410_vbus_draw,
> };
>
> /*------------------------- gadget driver handling---------------------------*/
> Index: linux-2.6.20/include/asm-arm/arch-s3c2410/udc.h
> ===================================================================
> --- linux-2.6.20.orig/include/asm-arm/arch-s3c2410/udc.h 2007-02-15 14:54:49.000000000 +0100
> +++ linux-2.6.20/include/asm-arm/arch-s3c2410/udc.h 2007-02-15 15:00:50.000000000 +0100
> @@ -12,6 +12,7 @@
> * 14-Mar-2005 RTP Created file
> * 02-Aug-2005 RTP File rename
> * 07-Sep-2005 BJD Minor cleanups, changed cmd to enum
> + * 18-Jan-2007 HMW Add per-platform vbus_draw function
> */
>
> #ifndef __ASM_ARM_ARCH_UDC_H
> @@ -25,6 +26,7 @@
>
> struct s3c2410_udc_mach_info {
> void (*udc_command)(enum s3c2410_udc_cmd_e);
> + void (*vbus_draw)(unsigned int ma);
> unsigned int vbus_pin;
> unsigned char vbus_pin_inverted;
> };
will send this to rmk as the udc.h is in rmk's tree.
Arnaud
More information about the openmoko-kernel
mailing list