Re: [PATCH V1] USB Gadget: Verify VBUS current before setting the device self-powered bit

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




--- On Wed, 8/25/10, Praveena Nadahally <praveen.nadahally@xxxxxxxxxxxxxx> wrote:

> From: Praveena Nadahally <praveen.nadahally@xxxxxxxxxxxxxx>
> Subject: [PATCH V1] USB Gadget: Verify VBUS current before setting the device self-powered bit
> To: linux-usb@xxxxxxxxxxxxxxx
> Cc: STEricsson_nomadik_linux@xxxxxxxxxxx, linus.walleij@xxxxxxxxxxxxxx, dbrownell@xxxxxxxxxxxxxxxxxxxxx, "Parirajan Muthalagu" <parirajan.muthalagu@xxxxxxxxxxxxxx>, "Praveena Nadahally" <praveen.nadahally@xxxxxxxxxxxxxx>
> Date: Wednesday, August 25, 2010, 4:03 AM
> From: Parirajan Muthalagu <parirajan.muthalagu@xxxxxxxxxxxxxx>
> 
> 
> Acked-by: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx>

Yes, better -- thanks.


> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxxxxxx>
> Signed-off-by: Praveena Nadahally <praveen.nadahally@xxxxxxxxxxxxxx>
> Signed-off-by: Parirajan Muthalagu <parirajan.muthalagu@xxxxxxxxxxxxxx>
> ---
>  drivers/usb/gadget/composite.c |    8 +++++++-
>  include/linux/usb/ch9.h       
> |   10 ++++++++++
>  2 files changed, 17 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/usb/gadget/composite.c
> b/drivers/usb/gadget/composite.c
> index e483f80..ef7760f 100644
> --- a/drivers/usb/gadget/composite.c
> +++ b/drivers/usb/gadget/composite.c
> @@ -1074,7 +1074,13 @@ static int composite_bind(struct
> usb_gadget *gadget)
>      cdev->bufsiz = USB_BUFSIZ;
>      cdev->driver = composite;
>  
> -    usb_gadget_set_selfpowered(gadget);
> +    /*
> +     * As per USB compliance
> update, a device that is actively drawing
> +     * more than 100mA from USB
> must report itself as bus-powered in
> +     * the GetStatus(DEVICE)
> call.
> +     */
> +    if (CONFIG_USB_GADGET_VBUS_DRAW <=
> USB_SELF_POWER_VBUS_MAX_DRAW)
> +       
> usb_gadget_set_selfpowered(gadget);
>  
>      /* interface and string IDs start at
> zero via kzalloc.
>       * we force endpoints to
> start unassigned; few controller
> diff --git a/include/linux/usb/ch9.h
> b/include/linux/usb/ch9.h
> index da2ed77..b0f7e9f 100644
> --- a/include/linux/usb/ch9.h
> +++ b/include/linux/usb/ch9.h
> @@ -808,4 +808,14 @@ enum usb_device_state {
>       */
>  };
>  
> +/*-------------------------------------------------------------------------*/
> +
> +/*
> + * As per USB compliance update, a device that is actively
> drawing
> + * more than 100mA from USB must report itself as
> bus-powered in
> + * the GetStatus(DEVICE) call.
> + * http://compliance.usb.org/index.asp?UpdateFile=Electrical&Format=Standard#34
> + */
> +#define USB_SELF_POWER_VBUS_MAX_DRAW   
>     100
> +
>  #endif /* __LINUX_USB_CH9_H */
> -- 
> 1.6.3.3
> 
> --
> To unsubscribe from this list: send the line "unsubscribe
> linux-usb" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux