forked from Minki/linux
typec: tcpm: Correctly report power_supply current and voltage for non pd supply
Commitf2a8aa053c
("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:f2a8aa053c
("typec: tcpm: Represent source supply through...") Signed-off-by: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Guenter Roeck <linux@roeck-us.net> Reviewed-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
74cb319bd9
commit
146971e624
@ -725,6 +725,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);
|
||||
|
||||
@ -2595,8 +2598,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);
|
||||
|
Loading…
Reference in New Issue
Block a user