From: Roger Quadros <rogerq@ti.com> To: Peter Chen <peter.chen@freescale.com>, Li Jun <b47624@freescale.com> Cc: <stern@rowland.harvard.edu>, <balbi@ti.com>, <gregkh@linuxfoundation.org>, <dan.j.williams@intel.com>, <jun.li@freescale.com>, <mathias.nyman@linux.intel.com>, <tony@atomide.com>, <Joao.Pinto@synopsys.com>, <linux-usb@vger.kernel.org>, <linux-kernel@vger.kernel.org>, <linux-omap@vger.kernel.org> Subject: Re: [PATCH v3 02/11] usb: otg-fsm: support multiple instances Date: Fri, 17 Jul 2015 14:17:18 +0300 [thread overview] Message-ID: <55A8E43E.5090900@ti.com> (raw) In-Reply-To: <20150713013948.GA27710@shlinux2> On 13/07/15 04:39, Peter Chen wrote: > On Fri, Jul 10, 2015 at 04:06:43PM +0800, Li Jun wrote: >> On Wed, Jul 08, 2015 at 01:19:28PM +0300, Roger Quadros wrote: >>> Move the state_changed variable into struct otg_fsm >>> so that we can support multiple instances. >>> >> I am not sure if multiple instances may happen since OTG protocol requires >> only one OTG port can be equipped on OTG device. >> > > It is ok the software can support more than spec requires, the user can > only use one and the spec may change in future :) > >> Li Jun >> >>> Signed-off-by: Roger Quadros <rogerq@ti.com> >>> --- >>> 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..42c6376 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,7 @@ 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; >>> + fsm->state_changed = 1; >>> if (fsm->otg->state == new_state) >>> return 0; >> >> "fsm->state_changed = 1;" should be put here, I think. >> > > Yes, seems it is the problem at current code. Right. But I'll fix it as per Li's suggestion. cheers, -roger > >> Li Jun >> >>> VDBG("Set state: %s\n", usb_otg_state_string(new_state)); >>> @@ -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 ca508c2..243274f 100644 >>> --- a/include/linux/usb/otg-fsm.h >>> +++ b/include/linux/usb/otg-fsm.h >>> @@ -194,6 +194,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 >>> >
WARNING: multiple messages have this Message-ID (diff)
From: Roger Quadros <rogerq@ti.com> To: Peter Chen <peter.chen@freescale.com>, Li Jun <b47624@freescale.com> Cc: stern@rowland.harvard.edu, balbi@ti.com, gregkh@linuxfoundation.org, dan.j.williams@intel.com, jun.li@freescale.com, mathias.nyman@linux.intel.com, tony@atomide.com, Joao.Pinto@synopsys.com, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org Subject: Re: [PATCH v3 02/11] usb: otg-fsm: support multiple instances Date: Fri, 17 Jul 2015 14:17:18 +0300 [thread overview] Message-ID: <55A8E43E.5090900@ti.com> (raw) In-Reply-To: <20150713013948.GA27710@shlinux2> On 13/07/15 04:39, Peter Chen wrote: > On Fri, Jul 10, 2015 at 04:06:43PM +0800, Li Jun wrote: >> On Wed, Jul 08, 2015 at 01:19:28PM +0300, Roger Quadros wrote: >>> Move the state_changed variable into struct otg_fsm >>> so that we can support multiple instances. >>> >> I am not sure if multiple instances may happen since OTG protocol requires >> only one OTG port can be equipped on OTG device. >> > > It is ok the software can support more than spec requires, the user can > only use one and the spec may change in future :) > >> Li Jun >> >>> Signed-off-by: Roger Quadros <rogerq@ti.com> >>> --- >>> 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..42c6376 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,7 @@ 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; >>> + fsm->state_changed = 1; >>> if (fsm->otg->state == new_state) >>> return 0; >> >> "fsm->state_changed = 1;" should be put here, I think. >> > > Yes, seems it is the problem at current code. Right. But I'll fix it as per Li's suggestion. cheers, -roger > >> Li Jun >> >>> VDBG("Set state: %s\n", usb_otg_state_string(new_state)); >>> @@ -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 ca508c2..243274f 100644 >>> --- a/include/linux/usb/otg-fsm.h >>> +++ b/include/linux/usb/otg-fsm.h >>> @@ -194,6 +194,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 >>> >
next prev parent reply other threads:[~2015-07-17 11:17 UTC|newest] Thread overview: 109+ messages / expand[flat|nested] mbox.gz Atom feed top 2015-07-08 10:19 [PATCH v3 00/11] USB: OTG/DRD Core functionality Roger Quadros 2015-07-08 10:19 ` Roger Quadros 2015-07-08 10:19 ` [PATCH v3 01/11] usb: otg-fsm: Add documentation for struct otg_fsm Roger Quadros 2015-07-08 10:19 ` Roger Quadros 2015-07-13 1:21 ` Peter Chen 2015-07-13 1:21 ` Peter Chen 2015-07-13 10:06 ` Roger Quadros 2015-07-13 10:06 ` Roger Quadros 2015-07-08 10:19 ` [PATCH v3 02/11] usb: otg-fsm: support multiple instances Roger Quadros 2015-07-08 10:19 ` Roger Quadros 2015-07-10 8:06 ` Li Jun 2015-07-10 8:06 ` Li Jun 2015-07-13 1:39 ` Peter Chen 2015-07-13 1:39 ` Peter Chen 2015-07-17 11:17 ` Roger Quadros [this message] 2015-07-17 11:17 ` Roger Quadros 2015-07-08 10:19 ` [PATCH v3 03/11] usb: otg-fsm: Prevent build warning "VDBG" redefined Roger Quadros 2015-07-08 10:19 ` Roger Quadros 2015-07-13 1:52 ` Peter Chen 2015-07-13 1:52 ` Peter Chen 2015-07-08 10:19 ` [PATCH v3 04/11] otg-fsm: move usb_bus_start_enum into otg-fsm->ops Roger Quadros 2015-07-08 10:19 ` Roger Quadros 2015-07-13 1:58 ` Peter Chen 2015-07-13 1:58 ` Peter Chen 2015-07-13 10:13 ` Roger Quadros 2015-07-13 10:13 ` Roger Quadros 2015-07-14 0:34 ` Peter Chen 2015-07-14 0:34 ` Peter Chen 2015-07-15 13:30 ` Roger Quadros 2015-07-15 13:30 ` Roger Quadros 2015-07-16 0:54 ` Peter Chen 2015-07-16 0:54 ` Peter Chen 2015-07-16 10:40 ` Roger Quadros 2015-07-16 10:40 ` Roger Quadros 2015-07-17 0:28 ` Peter Chen 2015-07-17 0:28 ` Peter Chen 2015-07-08 10:19 ` [PATCH v3 05/11] usb: hcd.h: Add OTG to HCD interface Roger Quadros 2015-07-08 10:19 ` Roger Quadros 2015-07-13 2:00 ` Peter Chen 2015-07-13 2:00 ` Peter Chen 2015-07-17 0:30 ` Peter Chen 2015-07-17 0:30 ` Peter Chen 2015-07-08 10:19 ` [PATCH v3 06/11] usb: gadget.h: Add OTG to gadget interface Roger Quadros 2015-07-08 10:19 ` Roger Quadros 2015-07-17 0:31 ` Peter Chen 2015-07-17 0:31 ` Peter Chen 2015-07-08 10:19 ` [PATCH v3 07/11] usb: otg: add OTG core Roger Quadros 2015-07-08 10:19 ` Roger Quadros 2015-07-13 2:14 ` Peter Chen 2015-07-13 2:14 ` Peter Chen 2015-07-13 10:20 ` Roger Quadros 2015-07-13 10:20 ` Roger Quadros 2015-08-14 9:42 ` Roger Quadros 2015-08-14 9:42 ` Roger Quadros 2015-08-14 8:43 ` Peter Chen 2015-08-14 8:43 ` Peter Chen 2015-07-17 7:48 ` Li Jun 2015-07-17 7:48 ` Li Jun 2015-07-17 12:06 ` Roger Quadros 2015-07-17 12:06 ` Roger Quadros 2015-07-20 1:45 ` Peter Chen 2015-07-20 1:45 ` Peter Chen 2015-07-21 10:52 ` Li Jun 2015-07-21 10:52 ` Li Jun 2015-07-27 10:03 ` Roger Quadros 2015-07-27 10:03 ` Roger Quadros 2015-07-08 10:19 ` [PATCH v3 08/11] usb: hcd: Adapt to " Roger Quadros 2015-07-08 10:19 ` Roger Quadros 2015-07-08 10:19 ` [PATCH v3 09/11] usb: gadget: udc: adapt " Roger Quadros 2015-07-08 10:19 ` Roger Quadros 2015-07-08 10:19 ` [PATCH v3 10/11] usb: otg: Add dual-role device (DRD) support Roger Quadros 2015-07-08 10:19 ` Roger Quadros 2015-07-17 8:14 ` Li Jun 2015-07-17 8:14 ` Li Jun 2015-07-17 10:41 ` Roger Quadros 2015-07-17 10:41 ` Roger Quadros 2015-07-17 9:02 ` Li Jun 2015-07-17 9:02 ` Li Jun 2015-07-17 10:47 ` Roger Quadros 2015-07-17 10:47 ` Roger Quadros 2015-07-20 1:23 ` Peter Chen 2015-07-20 1:23 ` Peter Chen 2015-07-27 9:31 ` Roger Quadros 2015-07-27 9:31 ` Roger Quadros 2015-07-08 10:19 ` [PATCH v3 11/11] usb: otg: hub: Notify OTG fsm when A device sets b_hnp_enable Roger Quadros 2015-07-08 10:19 ` Roger Quadros 2015-07-08 10:23 ` [PATCH v3 12/12] usb: chipidea: move from CONFIG_USB_OTG_FSM to CONFIG_USB_OTG Roger Quadros 2015-07-08 10:23 ` Roger Quadros 2015-07-10 7:58 ` [PATCH v3 00/11] USB: OTG/DRD Core functionality Li Jun 2015-07-10 7:58 ` Li Jun 2015-07-13 10:24 ` Roger Quadros 2015-07-13 10:24 ` Roger Quadros 2015-07-13 13:04 ` Li Jun 2015-07-13 13:04 ` Li Jun 2015-07-15 13:07 ` Roger Quadros 2015-07-15 13:07 ` Roger Quadros [not found] ` <1436350777-28056-1-git-send-email-rogerq-l0cyMroinI0@public.gmane.org> 2015-07-13 19:14 ` Andrew Bresticker 2015-07-13 19:14 ` Andrew Bresticker 2015-07-14 0:59 ` Peter Chen 2015-07-14 0:59 ` Peter Chen 2015-07-14 18:18 ` Andrew Bresticker 2015-07-15 2:13 ` Peter Chen 2015-07-15 2:13 ` Peter Chen 2015-07-15 13:26 ` Roger Quadros 2015-07-15 13:26 ` Roger Quadros [not found] ` <55A65F98.203-l0cyMroinI0@public.gmane.org> 2015-07-16 18:29 ` Andrew Bresticker 2015-07-16 18:29 ` Andrew Bresticker 2015-07-17 10:34 ` Roger Quadros 2015-07-17 10:34 ` Roger Quadros
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=55A8E43E.5090900@ti.com \ --to=rogerq@ti.com \ --cc=Joao.Pinto@synopsys.com \ --cc=b47624@freescale.com \ --cc=balbi@ti.com \ --cc=dan.j.williams@intel.com \ --cc=gregkh@linuxfoundation.org \ --cc=jun.li@freescale.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-omap@vger.kernel.org \ --cc=linux-usb@vger.kernel.org \ --cc=mathias.nyman@linux.intel.com \ --cc=peter.chen@freescale.com \ --cc=stern@rowland.harvard.edu \ --cc=tony@atomide.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.