Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753604AbbGWO3E (ORCPT ); Thu, 23 Jul 2015 10:29:04 -0400 Received: from mailout1.w1.samsung.com ([210.118.77.11]:62256 "EHLO mailout1.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753028AbbGWO3B (ORCPT ); Thu, 23 Jul 2015 10:29:01 -0400 X-AuditID: cbfec7f5-f794b6d000001495-82-55b0fa2aa249 Message-id: <55B0FA29.5080402@samsung.com> Date: Thu, 23 Jul 2015 16:28:57 +0200 From: Andrzej Pietrasiewicz User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.8.0 MIME-version: 1.0 To: "Du, Changbin" , Felipe Balbi Cc: Greg Kroah-Hartman , "linux-usb@vger.kernel.org" , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH] usb/gadget: make composite gadget meet usb compliance for vbus draw References: <0C18FE92A7765D4EB9EE5D38D86A563A01D14FD5@SHSMSX103.ccr.corp.intel.com> In-reply-to: <0C18FE92A7765D4EB9EE5D38D86A563A01D14FD5@SHSMSX103.ccr.corp.intel.com> Content-type: text/plain; charset=windows-1252; format=flowed Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrFLMWRmVeSWpSXmKPExsVy+t/xy7pavzaEGuy/pmVx8H69xcaLx5ks mhevZ7O4vGsOm8WiZa3MDqwei/e8ZPLYP3cNu8fxG9uZPD5vkgtgieKySUnNySxLLdK3S+DK eLf1L1vBdsGK7w/nsDYw/uftYuTgkBAwkbh+OLqLkRPIFJO4cG89WxcjF4eQwFJGiQULT7ND OC8YJZraPjCBVPEKaElMvjCNBcRmEVCVOHujgQ3EZhMwlth7sIMRxBYViJBYvvokI0S9oMSP yffA6kUE3CX6D0xmAhnKLLCeUeL0lSdMIFcIC0RJvP0lDWIKCYRKPHyWClLOKRAmsevEUlYQ m1nAVmLB+3UsELa8xOY1b5knMArMQrJhFpKyWUjKFjAyr2IUTS1NLihOSs810itOzC0uzUvX S87P3cQICeGvOxiXHrM6xCjAwajEw/vDZ0OoEGtiWXFl7iFGCQ5mJRFe/rdAId6UxMqq1KL8 +KLSnNTiQ4zSHCxK4rwzd70PERJITyxJzU5NLUgtgskycXBKNTAmRt459X+O4xpJvs4Ch8rl 2Yy7EoMPvb9f3XxuEb9ryV7DPbJ8m2fp888LXSu1vezSlvj85xZm8Z7Pt0QpNQYdvLF6w8FF C7dwv5Y2d2YVFJHZtlCOKcXQ3vtUQFh018vpL75O0d3NPin1j0/Xrafsx98FLfu5bZd31CeO cu/A1z5u+Yfli68qsRRnJBpqMRcVJwIAlH2kg10CAAA= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2395 Lines: 86 Hi Changbin, (I assume I address your name properly, if not please excuse) W dniu 23.07.2015 o 14:34, Du, Changbin pisze: >>From 0a8e0d63a9887735c6782d7b0c15c2c1fdf1952a Mon Sep 17 00:00:00 2001 > void composite_disconnect(struct usb_gadget *gadget) > { > struct usb_composite_dev *cdev = get_gadget_data(gadget); > @@ -2095,7 +2119,7 @@ void composite_suspend(struct usb_gadget *gadget) > > cdev->suspended = 1; > > - usb_gadget_vbus_draw(gadget, 2); > + usb_gadget_vbus_draw(gadget, USB_VBUS_DRAW_SUSPEND); > } This looks like an unrelated change. I think it should go first in a separate patch which eliminates usage of "magic" numbers. > > void composite_resume(struct usb_gadget *gadget) > @@ -2117,10 +2141,11 @@ void composite_resume(struct usb_gadget *gadget) > } > > maxpower = cdev->config->MaxPower; > - > - usb_gadget_vbus_draw(gadget, maxpower ? > - maxpower : CONFIG_USB_GADGET_VBUS_DRAW); > - } > + if (!maxpower) > + maxpower = CONFIG_USB_GADGET_VBUS_DRAW; > + } else > + maxpower = unconfigured_vbus_draw(cdev); > + usb_gadget_vbus_draw(gadget, maxpower); > > cdev->suspended = 0; > } > @@ -2132,7 +2157,7 @@ static const struct usb_gadget_driver composite_driver_template = { > .unbind = composite_unbind, > > .setup = composite_setup, > - .reset = composite_disconnect, > + .reset = composite_reset, > .disconnect = composite_disconnect, > A similar "template" is in drivers/usb/gadget/configfs.c. Shouldn't the "reset" method be changed there as well? > .suspend = composite_suspend, > diff --git a/include/linux/usb/composite.h b/include/linux/usb/composite.h > index 2511469..90b434d 100644 > --- a/include/linux/usb/composite.h > +++ b/include/linux/usb/composite.h > @@ -333,6 +333,14 @@ enum { > USB_GADGET_FIRST_AVAIL_IDX, > }; > > +/* USB2 compliance requires that un-configured current draw <= 100mA, > + * USB3 requires it <= 150mA, OTG requires it <= 2.5mA. > + */ > +#define USB2_VBUS_DRAW_UNCONF 100 > +#define USB3_VBUS_DRAW_UNCONF 150 > +#define USB_OTG_VBUS_DRAW_UNCONF 2 > +#define USB_VBUS_DRAW_SUSPEND 2 separate patch Thanks, AP -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/