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@xxxxxxxxxxxxxx/T/#mb90b0f7dc49c4929590fa7fa0df53631b47a9285 - Use devm_kasprintf() - Add reviewed by from Andy Shevchenko, thanks! https://lore.kernel.org/linux-usb/CAHp75Vfws_WMDxxpCpB1zSgbWucYx7-qeev6=mKE+znXSSPWSA@xxxxxxxxxxxxxx/ changes from v3 - As per review comments from Andy Shevchenko https://lore.kernel.org/linux-usb/CAHp75VeLZtm85Y=3QMkPGb332wn05-zr-_mrrwXvnqLhazR1Gg@xxxxxxxxxxxxxx/ - Use positive conditionals - Add reviewed by from Heikki Krogerus https://lore.kernel.org/linux-usb/20201130102720.GA2911464@xxxxxxxxxxxxxxxxx/T/#u https://lore.kernel.org/linux-usb/20201130102942.GB2911464@xxxxxxxxxxxxxxxxx/T/#u - Fix typc vs typec typo in commit message changes from v2 - As per kernel test robot https://lore.kernel.org/linux-usb/202011271005.zJVawX74-lkp@xxxxxxxxx/ - 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/20201126123552.GP1008337@xxxxxxxxxxxxxxxxx/ - 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(-) -- 2.29.2