From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751130AbbIFHEm (ORCPT ); Sun, 6 Sep 2015 03:04:42 -0400 Received: from mail-bn1on0145.outbound.protection.outlook.com ([157.56.110.145]:13886 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750804AbbIFHEg (ORCPT ); Sun, 6 Sep 2015 03:04:36 -0400 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=freescale.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=freescale.com; Date: Sun, 6 Sep 2015 13:52:26 +0800 From: Peter Chen To: Roger Quadros CC: , , , , , , , , , , , Subject: Re: [PATCH v4 02/13] usb: otg-fsm: support multiple instances Message-ID: <20150906055225.GD4914@shlinux2> References: <1440422484-4737-1-git-send-email-rogerq@ti.com> <1440422484-4737-3-git-send-email-rogerq@ti.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <1440422484-4737-3-git-send-email-rogerq@ti.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BL2FFO11OLC001;1:jq1myatQeQ+a8AOHc75Pyn1iMscr8DOF9ugJjsMCohL7YE3aeFp50sog9Fe3dfhi4f7GVk6jSfPyrNIFhuNtUgwkI1ar8RJg10z7whDHM9QmgnZZZ6O7pe+Dw3aJX9f/TmMkDO0e3laIqDoJhRJx7QyI8kprNrZRy04A08D5WQPhGrfTMY+gVgln02RiUeBH966KFs+p+Ij7M76e61gFz8q5F07NfloH48LMjTjNiXZ4fHlV1CSsm2PCDTl0ykCy/nWvh+AOJAdqxQ/nEpZ8KnyPbZ+Svy9rHSm9mB1tUl9AAy+b5nAumH/J4UYxvgRCilxfHYl7uFKbZgml1FwjXSAEArO+kfqLms/HSR7Mt1AIDHnk26yapHIPO+R9/nlMjvSrnQrLN3V2EBmuJj8Mi5oFxTR6go3YC/92Ezngy4E= X-Forefront-Antispam-Report: CIP:192.88.168.50;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(2980300002)(1109001)(339900001)(189002)(199003)(24454002)(64706001)(2950100001)(97736004)(5001960100002)(19580405001)(189998001)(6806004)(46406003)(50466002)(33656002)(54356999)(86362001)(85426001)(110136002)(76176999)(19580395003)(47776003)(97756001)(50986999)(87936001)(4001350100001)(5007970100001)(5001860100001)(106466001)(81156007)(83506001)(77156002)(105606002)(46102003)(33716001)(68736005)(5001830100001)(92566002)(104016003)(23726002)(62966003)(4001540100001)(77096005);DIR:OUT;SFP:1102;SCL:1;SRVR:BY1PR0301MB1222;H:tx30smr01.am.freescale.net;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BY1PR0301MB1222;2:+lJ+ZMOZzZ8iszHLzIf1INymUi//Aqjy9LRPvOGWTQQD/2714ZiwZkClyq3uo7Wl3ZHYNQGU8w0pC0KuY4icOYhNZuEQH6RQbGGAgMkzZFQAFh7eicwcx6MgL/d3QZBWnhmNbZYh1AnWtHFYl/pDidrXDxz/srAMI+Q54bbL0a8=;3:LKlU+hiBpn+XSXaZ+7YA+g9YzzogIW4AbTup2eC7vC7VtdYEw0nBYy1adCa78dl6DMfYGMngO2LDXzQCgI/XGDvPBmanqHba5P9xQULp0W1/9naq77KWYroVPBQXZ0uzaGw+3bFQWTzN9Qn5vTWYtXcXXZfMSeZUy72rh/qduFP2nrl91zAOdPgVaeaDdPvhOO0lCZlSsRIa44haIAN9n3In3U4y43618WCqIlxojDM=;25:52A21NxcGsq+Y+Yslg7KKlCLTf9Igg84mhFTLRXe3xAjU/r1rEWN3/mVqtme2c8QcjZ3r/iL+gJm6GeLbpokpJAL0WxEpSsUByCdYYrzRbTsOyKxaJt8Y5hO6Mi2Ke9LF5czTK/s74l8uRmJ8+ung70UBQATdiL4cBSB57M0WxncrNLzwpAuKW+U7VyIziyLFPJQFg0ai5gEDpLHXS+luBnjEJQGhzwk+PQ6oxlsVdb9SoBIAQS/zQp9n2ZdM8wm X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY1PR0301MB1222; X-Microsoft-Exchange-Diagnostics: 1;BY1PR0301MB1222;20:vDpqS6hbCqRNp9Qj1xzoh3we8bCrfo0w7hOwIx1LukC25uVsYCUN44gw+dKIGxygmyOaAWE0qh6lyHuMLdY8IALFS12Ehhm0GQZ44914Ka5ISpl1Yr5x1LKLe8nSJBre7Nz+DHbmqPngB45mON7CNPrRSpqq1aLAc5gOh0TFJiUXqIN/JbSTtnrFq0SJqSfZ9TPVmIeOa2sGs4CN2/yCWvBIgtDdv4O4djEFVCQ21LNMoqwue16+xmBL058jeT+SD3b56fqOWYNTuOozPrZBWp2CFL3U6+8PnwbsiVpBQHptuiK6tKkEPCbYe2hXj2aUZMLxOPNKLyY/THJNPH5XQwYzmTciN0B/cKfNx0EFPlU=;4:rz2bX1uFBzx9G3sIMGzDETZfA1KnAjjNGkIx5oxsyde0fv9CRYppXxyDDoWgMlkPy0eOVCv8ivNy8AZNcAWsk2OQRY4EqBpFgHB/rjo8zRJ7oyAqlWIW4zg9xnGADU/V4iwR+u2yf/F4YKf6yLkEX7SVH7HuAKtRMEXEANNqjeR0TmRKAOckFAzoH31/FOs2ev4OKrhEIArrbQdeb6LKktJNIQIb85Q+quvxF1oBOfKBFlQuqgI/sUmT78pGAOFrjLRV2sLatcoDQa/HIR9RdV+8qxPEGxnieQIABG9h4D2ICg+98LCtER8x8x9sKiL5 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(5005006)(8121501046)(3002001);SRVR:BY1PR0301MB1222;BCL:0;PCL:0;RULEID:;SRVR:BY1PR0301MB1222; X-Forefront-PRVS: 06911FE69E X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BY1PR0301MB1222;23:viw674W0lg5uPt9lkNMTLD43b8ezVi3VJKw3JA3?= =?us-ascii?Q?Jf6FVvXXYeqgzcLalfbQj4ZqqCwT10gwvQ+W+3RsUpmI48jg+0YOhZkHVsJ1?= =?us-ascii?Q?rYB5w9686H/fWGZcOuhrdFKm4lJsafO9lSZb1/imBunBy8LD4uVpYbqcz0UZ?= =?us-ascii?Q?0AduKCNBOUNSQm5Fgt6QyxlDYmOiVMtnRWJT8/JOnKx+ql/fhdKajFwlhxih?= =?us-ascii?Q?BrLx8Xqr6I15Y/J73LwyEVbTe/xLs8zCFIn8YlOoEn8cRNdE0v4UUCQ19IJd?= =?us-ascii?Q?Ekf/rsuH3aFor3sWmH92nxQ+Gp+sX48/KLJHtjyCVEWkIbDseTt1GlVIw9/V?= =?us-ascii?Q?twBeU9mJzCu2CQDnb76tvfyE2YgfrIb0lVbVqwvXTdGTQ2SDzoDMHj9C+ta4?= =?us-ascii?Q?0osmjzI8Fo7EHkkttjYCirVx2uPAR5LjhWo2HY8RueGRaXCDKUVI/InRk915?= =?us-ascii?Q?8e2pAJmp01mmdurYl+Thchh5UNWd/zV4rvay9U0a1gjbkT/GG2Sg5nXyTYDj?= =?us-ascii?Q?dwtjeBlmSNg0ZmAQj3MopeJ+p4s5ekFra5HQ1eIsH01AtqOv4hKnWFTZwKSM?= =?us-ascii?Q?j3s76RskwQCuHwVHKQREgIPUMtKpMqbmAqR5P0P5nh1qEvXNLd2gqK3hGCje?= =?us-ascii?Q?UZ1SomX5KHjHNAF/HIlJOrEHnsSHMki9KdOkabXiAw8KMgkrKySVSqx7inyC?= =?us-ascii?Q?JrLoyU+mlOZ/91MmEHQibQLPlYq8az1ed9FseFBd1wf5msUspe70tm59lFF6?= =?us-ascii?Q?pxt1fdaxtt+I0elNJIDzqQ0qGNpfBnTKD7e/7wO8l2is2I/sWN71vLhR5GQH?= =?us-ascii?Q?OZ3emYDiNAexf+0p89BZ4NyJGkeeSDtWHmwKiSSUbNoPeLkM3DXrXDTQ/nxw?= =?us-ascii?Q?kPr83KSz1Ul0ptDNjab9q9MIj+Y3u+TzY2ArBotIc3CbTG10jtFDDoADxHxo?= =?us-ascii?Q?xQrMhHKaaX+/3LJ9IdwigX1RQbx94yDForntjFdf7+79lEDnAHKW9mdYbs0D?= =?us-ascii?Q?FNZ1fvpVMKf1EXpaK2QKVNEQK2n2Rhi13hwOk8vFRZBxOBKU+AkwWGHN9vF6?= =?us-ascii?Q?KOfzWyOhftTHgmHXyZjWIoU5RK9DNQRAMUfGMVwI5aHdu7+q+FRbNCf8zCYd?= =?us-ascii?Q?cQgl2H6yCxStGvIm4gPAyISNbxtDnoX6TXJh8gTXLAENk/Qubqo+MXC181JF?= =?us-ascii?Q?z1GvH2l4fVDGFKLk3XLZCCn7aPa+fRIAFzHc0?= X-Microsoft-Exchange-Diagnostics: 1;BY1PR0301MB1222;5:W20sXxrnyeGUoqAKkt5DUw0QoteBwgQ51B7ITm8eJ9Xe+yleZc2HM3njunpjb8cjckIcbg2TSsh+euvCSEh46yzgM88BWfGBqUGfTjdWhwpcanBeBp3kjWvpFZCcMFJmo3g73yzd72h1vOIs3MrKyA==;24:z8sQqDYzkno3GgkBKq7EZcV9zQ1lM98ydMz+QkxneivQvpw4lnToD6eAfZix6Gv/YEyA0WRfZqU0At1gTOrva4KXsYaE3ytIzEfpOWNNh1Q=;20:Do/Xeovt52wp2oJKO5G6rS07oiYO6fIkx/Sl+a2SBr+dmHO8nkUmHEr/KLJZ0WOR/rNIds+Z+nYWDHHLvBa4fw== X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Sep 2015 07:04:31.4553 (UTC) X-MS-Exchange-CrossTenant-Id: 710a03f5-10f6-4d38-9ff4-a80b81da590d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=710a03f5-10f6-4d38-9ff4-a80b81da590d;Ip=[192.88.168.50];Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR0301MB1222 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Aug 24, 2015 at 04:21:13PM +0300, Roger Quadros wrote: > Move the state_changed variable into struct otg_fsm > so that we can support multiple instances. > > Signed-off-by: Roger Quadros > --- > drivers/usb/common/usb-otg-fsm.c | 10 ++++------ > include/linux/usb/otg-fsm.h | 1 + > 2 files changed, 5 insertions(+), 6 deletions(-) > > diff --git a/drivers/usb/common/usb-otg-fsm.c b/drivers/usb/common/usb-otg-fsm.c > index 61d538a..32862a4 100644 > --- a/drivers/usb/common/usb-otg-fsm.c > +++ b/drivers/usb/common/usb-otg-fsm.c > @@ -61,8 +61,6 @@ static int otg_set_protocol(struct otg_fsm *fsm, int protocol) > return 0; > } > > -static int state_changed; > - > /* Called when leaving a state. Do state clean up jobs here */ > static void otg_leave_state(struct otg_fsm *fsm, enum usb_otg_state old_state) > { > @@ -123,7 +121,6 @@ static void otg_leave_state(struct otg_fsm *fsm, enum usb_otg_state old_state) > /* Called when entering a state */ > static int otg_set_state(struct otg_fsm *fsm, enum usb_otg_state new_state) > { > - state_changed = 1; > if (fsm->otg->state == new_state) > return 0; > VDBG("Set state: %s\n", usb_otg_state_string(new_state)); > @@ -237,6 +234,7 @@ static int otg_set_state(struct otg_fsm *fsm, enum usb_otg_state new_state) > } > > fsm->otg->state = new_state; > + fsm->state_changed = 1; > return 0; > } > > @@ -248,7 +246,7 @@ int otg_statemachine(struct otg_fsm *fsm) > mutex_lock(&fsm->lock); > > state = fsm->otg->state; > - state_changed = 0; > + fsm->state_changed = 0; > /* State machine state change judgement */ > > switch (state) { > @@ -361,7 +359,7 @@ int otg_statemachine(struct otg_fsm *fsm) > } > mutex_unlock(&fsm->lock); > > - VDBG("quit statemachine, changed = %d\n", state_changed); > - return state_changed; > + VDBG("quit statemachine, changed = %d\n", fsm->state_changed); > + return fsm->state_changed; > } > EXPORT_SYMBOL_GPL(otg_statemachine); > diff --git a/include/linux/usb/otg-fsm.h b/include/linux/usb/otg-fsm.h > index fc5b4d9..20c8219 100644 > --- a/include/linux/usb/otg-fsm.h > +++ b/include/linux/usb/otg-fsm.h > @@ -195,6 +195,7 @@ struct otg_fsm { > /* Current usb protocol used: 0:undefine; 1:host; 2:client */ > int protocol; > struct mutex lock; > + bool state_changed; > }; > > struct otg_fsm_ops { > -- > 2.1.4 > Acked-by: Peter Chen -- Best Regards, Peter Chen