All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Prashanth K <quic_prashk@quicinc.com>
Cc: Matthias Brugger <matthias.bgg@gmail.com>,
	AngeloGioacchino Del Regno 
	<angelogioacchino.delregno@collabora.com>,
	linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v5] usb: common: usb-conn-gpio: Set last role to unknown before initial detection
Date: Mon, 29 May 2023 20:01:03 +0100	[thread overview]
Message-ID: <2023052943-headfirst-satchel-6d90@gregkh> (raw)
In-Reply-To: <a86f3bd4-8c87-de67-bdb6-fbe88dc23a56@quicinc.com>

On Tue, May 30, 2023 at 12:00:15AM +0530, Prashanth K wrote:
> 
> 
> On 28-05-23 05:03 pm, Greg Kroah-Hartman wrote:
> > > > > diff --git a/drivers/usb/common/usb-conn-gpio.c b/drivers/usb/common/usb-conn-gpio.c
> > > > > index e20874c..30bdb81 100644
> > > > > --- a/drivers/usb/common/usb-conn-gpio.c
> > > > > +++ b/drivers/usb/common/usb-conn-gpio.c
> > > > > @@ -257,6 +257,9 @@ static int usb_conn_probe(struct platform_device *pdev)
> > > > >    	platform_set_drvdata(pdev, info);
> > > > >    	device_set_wakeup_capable(&pdev->dev, true);
> > > > > +	/* Set last role to unknown before performing the initial detection */
> > > > > +	info->last_role = USB_ROLE_UNKNOWN;
> > > > 
> > > > Shouldn't last_role have already been set to 0?  If so, why not just
> > > > have this enum value be 0?
> > > Last role would be 0 during first detection, that's the problem here.
> > > During initial detection, if the the new role is detected as USB_ROLE_NONE
> > > (0), then we wouldn't call the set_role(). But it should send the current
> > > role to gadget after the inital detection.
> > 
> > So you are hoping that the old enum type is still assigned to 0?  That's
> > brave, please make it explicit otherwise it's very hard to follow or
> > ensure that this really will happen.  And most of all, document it so
> > that that value remains 0 in the future, otherwise a list of enum types
> > without explicit values are seen as if the values do not matter.
> > 
> > thanks,
> > 
> > greg k-h
> 
> So I think it would be better to add USB_ROLE_UNKNOWN towards the end of
> enum usb_role, so that we can avoid explicit declaration. Is that fine?
> 
>  enum usb_role {
>  	USB_ROLE_NONE,
>  	USB_ROLE_HOST,
>  	USB_ROLE_DEVICE,
> +	USB_ROLE_UNKNOWN,

Either is fine, be explicit, or not, just don't mix the two please.

thanks,

greg k-h

  reply	other threads:[~2023-05-29 19:01 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-25  8:53 [PATCH v5] usb: common: usb-conn-gpio: Set last role to unknown before initial detection Prashanth K
2023-05-25 16:34 ` Greg Kroah-Hartman
2023-05-26  4:45   ` Prashanth K
2023-05-28 11:33     ` Greg Kroah-Hartman
2023-05-29 18:30       ` Prashanth K
2023-05-29 19:01         ` Greg Kroah-Hartman [this message]
2023-05-29 19:38           ` Prashanth K

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=2023052943-headfirst-satchel-6d90@gregkh \
    --to=gregkh@linuxfoundation.org \
    --cc=angelogioacchino.delregno@collabora.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=matthias.bgg@gmail.com \
    --cc=quic_prashk@quicinc.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.