All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Opensource \[Adam Thomson\]" <Adam.Thomson.Opensource@diasemi.com>
To: Hans de Goede <hdegoede@redhat.com>,
	Wolfram Sang <wsa@the-dreams.de>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Guenter Roeck <linux@roeck-us.net>,
	Heikki Krogerus <heikki.krogerus@linux.intel.com>
Cc: "linux-i2c@vger.kernel.org" <linux-i2c@vger.kernel.org>,
	Adam Thomson <Adam.Thomson.Opensource@diasemi.com>,
	"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>
Subject: [4.18,REGRESSION,fix,1/2] typec: tcpm: Correctly report power_supply current and voltage for non pd supply
Date: Mon, 2 Jul 2018 10:28:12 +0000	[thread overview]
Message-ID: <2E89032DDAA8B9408CB92943514A03370198305DAD@SW-EX-MBX01.diasemi.com> (raw)

On 01 July 2018 10:49, Hans de Goede wrote:

> Commit f2a8aa053c17 ("typec: tcpm: Represent source supply through
> power_supply") moved the code to register a power_supply representing
> the device supplying power to the type-C connector, from the fusb302
> code to the generic tcpm code so that we have a psy reporting the
> supply voltage and current for all tcpm devices.
> 
> This broke the reporting of current and voltage through the psy interface
> when supplied by a a non pd supply (5V, current as reported by
> get_current_limit). The cause of this breakage is port->supply_voltage
> and port->current_limit not being set in that case.
> 
> This commit fixes this by setting port->supply_voltage and
> port->current_limit from tcpm_set_current_limit().
> 
> This commit also removes setting supply_voltage and current_limit
> from tcpm_reset_port() as that calls tcpm_set_current_limit(0, 0)
> which now already sets these to 0.
> 
> Fixes: f2a8aa053c17 ("typec: tcpm: Represent source supply through...")
> Cc: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>

Apologies for this, and thanks for the fix.

Reviewed-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>

> ---
>  drivers/usb/typec/tcpm.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/usb/typec/tcpm.c b/drivers/usb/typec/tcpm.c
> index 8a201dd53d36..316959c26db9 100644
> --- a/drivers/usb/typec/tcpm.c
> +++ b/drivers/usb/typec/tcpm.c
> @@ -724,6 +724,9 @@ static int tcpm_set_current_limit(struct tcpm_port *port,
> u32 max_ma, u32 mv)
> 
>  	tcpm_log(port, "Setting voltage/current limit %u mV %u mA", mv, max_ma);
> 
> +	port->supply_voltage = mv;
> +	port->current_limit = max_ma;
> +
>  	if (port->tcpc->set_current_limit)
>  		ret = port->tcpc->set_current_limit(port->tcpc, max_ma, mv);
> 
> @@ -2594,8 +2597,6 @@ static void tcpm_reset_port(struct tcpm_port *port)
>  	tcpm_set_attached_state(port, false);
>  	port->try_src_count = 0;
>  	port->try_snk_count = 0;
> -	port->supply_voltage = 0;
> -	port->current_limit = 0;
>  	port->usb_type = POWER_SUPPLY_USB_TYPE_C;
> 
>  	power_supply_changed(port->psy);
> --
> 2.17.1
---
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

             reply	other threads:[~2018-07-02 10:28 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-02 10:28 Opensource [Adam Thomson] [this message]
  -- strict thread matches above, loose matches on Subject: below --
2018-07-02 10:50 [4.18,REGRESSION,fix,1/2] typec: tcpm: Correctly report power_supply current and voltage for non pd supply Hans de Goede
2018-07-01 14:01 Guenter Roeck
2018-07-01  9:48 Hans de Goede

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=2E89032DDAA8B9408CB92943514A03370198305DAD@SW-EX-MBX01.diasemi.com \
    --to=adam.thomson.opensource@diasemi.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=hdegoede@redhat.com \
    --cc=heikki.krogerus@linux.intel.com \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=wsa@the-dreams.de \
    /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.