All of lore.kernel.org
 help / color / mirror / Atom feed
From: Abdel Alkuor <alkuor@gmail.com>
To: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Cc: krzysztof.kozlowski+dt@linaro.org, bryan.odonoghue@linaro.org,
	gregkh@linuxfoundation.org, robh+dt@kernel.org,
	linux-usb@vger.kernel.org, devicetree@vger.kernel.org,
	conor+dt@kernel.org, linux-kernel@vger.kernel.org,
	abdelalkuor@geotab.com
Subject: Re: [PATCH v5 03/15] USB: typec: Add patch mode to tps6598x
Date: Wed, 20 Sep 2023 10:42:34 -0400	[thread overview]
Message-ID: <ZQsE2r5ws7gWlByN@primary> (raw)
In-Reply-To: <ZQgvgJRLK+ysS30D@kuha.fi.intel.com>

On Mon, Sep 18, 2023 at 02:07:44PM +0300, Heikki Krogerus wrote:
> On Sun, Sep 17, 2023 at 11:26:27AM -0400, Abdel Alkuor wrote:
> > TPS25750 has a patch mode indicating the device requires
> > a configuration to get the device into operational mode
> > 
> > Signed-off-by: Abdel Alkuor <alkuor@gmail.com>
> > ---
> >  drivers/usb/typec/tipd/core.c | 12 +++++++++---
> >  1 file changed, 9 insertions(+), 3 deletions(-)
> > 
> > diff --git a/drivers/usb/typec/tipd/core.c b/drivers/usb/typec/tipd/core.c
> > index a8aee4e1aeba..6d2151325fbb 100644
> > --- a/drivers/usb/typec/tipd/core.c
> > +++ b/drivers/usb/typec/tipd/core.c
> > @@ -68,6 +68,7 @@ enum {
> >  	TPS_MODE_BOOT,
> >  	TPS_MODE_BIST,
> >  	TPS_MODE_DISC,
> > +	TPS_MODE_PTCH,
> >  };
> >  
> >  static const char *const modes[] = {
> > @@ -75,6 +76,7 @@ static const char *const modes[] = {
> >  	[TPS_MODE_BOOT]	= "BOOT",
> >  	[TPS_MODE_BIST]	= "BIST",
> >  	[TPS_MODE_DISC]	= "DISC",
> > +	[TPS_MODE_PTCH] = "PTCH",
> >  };
> >  
> >  /* Unrecognized commands will be replaced with "!CMD" */
> > @@ -576,7 +578,7 @@ static void tps6598x_poll_work(struct work_struct *work)
> >  			   &tps->wq_poll, msecs_to_jiffies(POLL_INTERVAL));
> >  }
> >  
> > -static int tps6598x_check_mode(struct tps6598x *tps)
> > +static int tps6598x_check_mode(struct tps6598x *tps, u8 *curr_mode)
> >  {
> >  	char mode[5] = { };
> >  	int ret;
> > @@ -585,8 +587,11 @@ static int tps6598x_check_mode(struct tps6598x *tps)
> >  	if (ret)
> >  		return ret;
> >  
> > -	switch (match_string(modes, ARRAY_SIZE(modes), mode)) {
> > +	*curr_mode = match_string(modes, ARRAY_SIZE(modes), mode);
> > +
> > +	switch (*curr_mode) {
> >  	case TPS_MODE_APP:
> > +	case TPS_MODE_PTCH:
> 
> This check is OK, but it seems that you are not using that curr_mode
> for anything yet, so don't change the paramaters of this function in
> this patch.
> 
> I would also just return the mode. Then this function would be used
> like this:
> 
>         ret = tps6598x_check_mode(...)
>         if (ret < 0)
>                 return ret;
> 
> Now mode = ret.
> 
> >  		return 0;
> >  	case TPS_MODE_BOOT:
> >  		dev_warn(tps->dev, "dead-battery condition\n");
> > @@ -715,6 +720,7 @@ static int tps6598x_probe(struct i2c_client *client)
> >  	u32 vid;
> >  	int ret;
> >  	u64 mask1;
> > +	u8 mode;
> >  
> >  	tps = devm_kzalloc(&client->dev, sizeof(*tps), GFP_KERNEL);
> >  	if (!tps)
> > @@ -759,7 +765,7 @@ static int tps6598x_probe(struct i2c_client *client)
> >  
> >  	tps->irq_handler = irq_handler;
> >  	/* Make sure the controller has application firmware running */
> > -	ret = tps6598x_check_mode(tps);
> > +	ret = tps6598x_check_mode(tps, &mode);
> 
> Actually, if you need to know the mode in here later, then I'm not
> sure tps6592x_check_mode() is useful after that. This is the only
> place it's called. Just read and check the mode in here directly at
> that point.

I will return the mode and check ret directly.
> 
> thanks,
> 
> -- 
> heikki

Thanks,
Abdel

  reply	other threads:[~2023-09-20 14:56 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-17 15:26 [PATCH v5 00/15] Add TPS25750 USB type-C PD controller support Abdel Alkuor
2023-09-17 15:26 ` [PATCH v5 01/15] dt-bindings: usb: tps6598x: Add tps25750 Abdel Alkuor
2023-09-17 17:30   ` Krzysztof Kozlowski
2023-09-17 19:30     ` Abdel Alkuo
2023-09-17 15:26 ` [PATCH v5 02/15] USB: typec: Add cmd timeout and response delay Abdel Alkuor
2023-09-18 10:44   ` Heikki Krogerus
2023-09-20 14:29     ` Abdel Alkuor
2023-09-17 15:26 ` [PATCH v5 03/15] USB: typec: Add patch mode to tps6598x Abdel Alkuor
2023-09-18 11:07   ` Heikki Krogerus
2023-09-20 14:42     ` Abdel Alkuor [this message]
2023-09-17 15:26 ` [PATCH v5 04/15] USB: typec: Load TPS25750 patch bundle Abdel Alkuor
2023-09-17 17:04   ` kernel test robot
2023-09-17 17:24   ` kernel test robot
2023-09-18 11:31   ` Heikki Krogerus
2023-09-20 14:46     ` Abdel Alkuor
2023-09-17 15:26 ` [PATCH v5 05/15] USB: typec: Check for EEPROM present Abdel Alkuor
2023-09-18 12:45   ` Heikki Krogerus
2023-09-20 14:47     ` Abdel Alkuor
2023-09-17 15:26 ` [PATCH v5 06/15] USB: typec: Clear dead battery flag Abdel Alkuor
2023-09-17 15:26 ` [PATCH v5 07/15] USB: typec: Apply patch again after power resume Abdel Alkuor
2023-09-17 15:26 ` [PATCH v5 08/15] USB: typec: Add interrupt support for TPS25750 Abdel Alkuor
2023-09-18 12:46   ` Heikki Krogerus
2023-09-20 14:50     ` Abdel Alkuor
2023-09-17 15:26 ` [PATCH v5 09/15] USB: typec: Refactor tps6598x port registration Abdel Alkuor
2023-09-17 15:26 ` [PATCH v5 10/15] USB: typec: Add port registration for tps25750 Abdel Alkuor
2023-09-18 12:58   ` Heikki Krogerus
2023-09-20 14:53     ` Abdel Alkuor
2023-09-17 15:26 ` [PATCH v5 11/15] USB: typec: Enable sleep mode " Abdel Alkuor
2023-09-17 17:32   ` Krzysztof Kozlowski
2023-09-17 15:26 ` [PATCH v5 12/15] USB: typec: Add trace for tps25750 irq Abdel Alkuor
2023-09-17 15:26 ` [PATCH v5 13/15] USB: typec: Add power status trace for tps25750 Abdel Alkuor
2023-09-17 15:26 ` [PATCH v5 14/15] USB: typec: Add " Abdel Alkuor
2023-09-17 15:26 ` [PATCH v5 15/15] USB: typec: Do not check VID " Abdel Alkuor
2023-09-18 13:29   ` Heikki Krogerus
2023-09-20 15:10     ` Abdel Alkuor
2023-09-18 13:57 ` [PATCH v5 00/15] Add TPS25750 USB type-C PD controller support Heikki Krogerus
2023-09-20 15:21   ` Abdel Alkuor

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=ZQsE2r5ws7gWlByN@primary \
    --to=alkuor@gmail.com \
    --cc=abdelalkuor@geotab.com \
    --cc=bryan.odonoghue@linaro.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=heikki.krogerus@linux.intel.com \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=robh+dt@kernel.org \
    /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.