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