All of lore.kernel.org
 help / color / mirror / Atom feed
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
>>>
> 

  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: link
Be 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.