usb: typec: tps6598x: Export some power supply properties
Subsystems (2)
v5 cover usb: typec: tps6598x: Export some power supply properties
This allows downstream supplies and userspace to detect whether external power is supplied.
The Librem 5 has the tp65982 in front of bq25980 charge controller. Since that is capable of sinking and sourcing power the online property helps to decide what to do. It also makes upower happy.
There will be follow up patches providing more properties but these need some more time to cook and i wanted to check if this is the right way to go?
changes from v4
- As per review comments from Andy Shevchenko
https://lore.kernel.org/linux-usb/CAHp75Vfws_WMDxxpCpB1zSgbWucYx7-qeev6=mKE+znXSSPWSA@mail.gmail.com/T/#mb90b0f7dc49c4929590fa7fa0df53631b47a9285
- Use devm_kasprintf()
- Add reviewed by from Andy Shevchenko, thanks!
https://lore.kernel.org/linux-usb/CAHp75Vfws_WMDxxpCpB1zSgbWucYx7-qeev6=mKE+znXSSPWSA@mail.gmail.com/
changes from v3
- As per review comments from Andy Shevchenko
https://lore.kernel.org/linux-usb/CAHp75VeLZtm85Y=3QMkPGb332wn05-zr-_mrrwXvnqLhazR1Gg@mail.gmail.com/
- Use positive conditionals
- Add reviewed by from Heikki Krogerus
https://lore.kernel.org/linux-usb/[email protected]/T/#u https://lore.kernel.org/linux-usb/[email protected]/T/#u
- Fix typc vs typec typo in commit message
changes from v2
- As per kernel test robot
https://lore.kernel.org/linux-usb/[email protected]/
- Flip USB_ROLE_SWITCH and REGMAP_I2C from 'depends on' to 'select' This matches tcpm and avoids a config symbol recursion which went unnoticed on my arm64 build but trips up x86_64.
changes from v1
- As per review comments from Heikki Krogerus
https://lore.kernel.org/linux-usb/[email protected]/
- select POWER_SUPPLY
- use POWER_SUPPLY_USB_TYPE_PD when a PD contract got negotiated
Guido Günther (2):
usb: typec: tps6598x: Select USB_ROLE_SWITCH and REGMAP_I2C
usb: typec: tps6598x: Export some power supply properties
drivers/usb/typec/Kconfig | 5 +- drivers/usb/typec/tps6598x.c | 103 +++++++++++++++++++++++++++++++++++ 2 files changed, 106 insertions(+), 2 deletions(-)
Signature · 1 line
2.29.2
PATCH v5 1/2 usb: typec: tps6598x: Select USB_ROLE_SWITCH and REGMAP_I2C
This is more in line with what tcpm does and will be needed to avoid recursive dependency like
Quoted 1 line
drivers/power/supply/Kconfig:2:error: recursive dependency detected!
drivers/power/supply/Kconfig:2: symbol POWER_SUPPLY is selected by TYPEC_TPS6598X drivers/usb/typec/Kconfig:64: symbol TYPEC_TPS6598X depends on REGMAP_I2C drivers/base/regmap/Kconfig:19: symbol REGMAP_I2C is selected by CHARGER_ADP5061 drivers/power/supply/Kconfig:93: symbol CHARGER_ADP5061 depends on POWER_SUPPLY For a resolution refer to Documentation/kbuild/kconfig-language.rst subsection "Kconfig recursive dependency limitations"
when selecting POWER_SUPPLY.
--- drivers/usb/typec/Kconfig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/usb/typec/Kconfig +2 -2
@@ -64,8 +64,8 @@ config TYPEC_HD3SS3220 config TYPEC_TPS6598X tristate "TI TPS6598x USB Power Delivery controller driver" depends on I2C - depends on REGMAP_I2C - depends on USB_ROLE_SWITCH || !USB_ROLE_SWITCH + select REGMAP_I2C + select USB_ROLE_SWITCH help Say Y or M here if your system has TI TPS65982 or TPS65983 USB Power Delivery controller.
Signature · 1 line
2.29.2
PATCH v5 2/2 usb: typec: tps6598x: Export some power supply properties
In reply to Guido GüntherThis allows downstream supplies and userspace to detect whether external power is supplied.
--- drivers/usb/typec/Kconfig | 1 + drivers/usb/typec/tps6598x.c | 103 +++++++++++++++++++++++++++++++++++ 2 files changed, 104 insertions(+)
drivers/usb/typec/Kconfig +1 -0
@@ -64,6 +64,7 @@ config TYPEC_HD3SS3220 config TYPEC_TPS6598X tristate "TI TPS6598x USB Power Delivery controller driver" depends on I2C + select POWER_SUPPLY select REGMAP_I2C select USB_ROLE_SWITCH help
drivers/usb/typec/tps6598x.c +103 -0
147 lines not on this page · raw message
Signature · 1 line
2.29.2