linux/drivers/power/supply
Romain Izard f1b937cc86 power: supply: register HWMON devices with valid names
With the introduction of the HWMON compatibility layer to the power
supply framework in Linux 5.3, all power supply devices' names can be
used directly to create HWMON devices with the same names.

But HWMON has rules on allowable names that are different from those
used in the power supply framework. The dash character is forbidden, as
it is used by the libsensors library in userspace as a separator,
whereas this character is used in the device names in more than half of
the existing power supply drivers. This last case is consistent with the
typical naming usage with MFD and Device Tree.

This leads to warnings in the kernel log, with the format:

power_supply gpio-charger: hwmon: \
	'gpio-charger' is not a valid name attribute, please fix

Add a protection to power_supply_add_hwmon_sysfs() that replaces any
dash in the device name with an underscore when registering with the
HWMON framework. Other forbidden characters (star, slash, space, tab,
newline) are not replaced, as they are not in common use.

Fixes: e67d4dfc9f ("power: supply: Add HWMON compatibility layer")
Signed-off-by: Romain Izard <romain.izard.pro@gmail.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
2019-09-01 21:43:04 +02:00
..
88pm860x_battery.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
88pm860x_charger.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
ab8500_bmdata.c power: supply: ab8500: fix leaked of_node refs in ab8500_bm_of_probe 2019-04-17 22:14:24 +02:00
ab8500_btemp.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 197 2019-05-30 11:29:22 -07:00
ab8500_charger.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 197 2019-05-30 11:29:22 -07:00
ab8500_fg.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 197 2019-05-30 11:29:22 -07:00
abx500_chargalg.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 197 2019-05-30 11:29:22 -07:00
act8945a_charger.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
adp5061.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 177 2019-05-30 11:29:19 -07:00
apm_power.c
axp20x_ac_power.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
axp20x_battery.c power: supply: axp20x_battery: add support for AXP813 2018-03-09 16:52:33 +01:00
axp20x_usb_power.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
axp288_charger.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
axp288_fuel_gauge.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 285 2019-06-05 17:36:37 +02:00
bd70528-charger.c power: supply: Initial support for ROHM BD70528 PMIC charger block 2019-06-27 10:57:24 +01:00
bq27xxx_battery_hdq.c power: supply: bq27xxx: move platform driver code into bq27xxx_battery_hdq.c 2017-07-25 15:31:21 +02:00
bq27xxx_battery_i2c.c power: supply: bq27xxx: Add support for BQ27411 2018-09-20 11:35:40 +02:00
bq27xxx_battery.c power: supply: bq27xxx_battery: Notify also about status changes 2019-05-02 00:27:29 +02:00
bq2415x_charger.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
bq24190_charger.c power supply and reset changes for the v5.3 series 2019-07-15 21:06:15 -07:00
bq24257_charger.c power supply and reset changes for the v5.3 series 2019-07-15 21:06:15 -07:00
bq24735-charger.c power: supply: bq24735: remove incorrect le16_to_cpu calls 2017-06-15 16:47:35 +02:00
bq25890_charger.c power supply and reset changes for the v5.3 series 2019-07-15 21:06:15 -07:00
charger-manager.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
collie_battery.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
cpcap-battery.c power: supply: cpcap-battery: Fix pointless EPROBE_DEFER warnings 2019-04-15 22:53:50 +02:00
cpcap-charger.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
cros_usbpd-charger.c power: supply: cros: allow to set input voltage and current limit 2019-06-28 17:28:27 +02:00
da9030_battery.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
da9052-battery.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
da9150-charger.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
da9150-fg.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
ds2760_battery.c power: supply: ds2760_battery: add devicetree probing 2018-07-11 18:09:09 +02:00
ds2780_battery.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
ds2781_battery.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
ds2782_battery.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
generic-adc-battery.c power: generic-adc-battery: check for duplicate properties copied from iio channels 2018-07-06 18:58:44 +02:00
goldfish_battery.c drivers: power: supply: goldfish_battery: Fix bogus SPDX identifier 2019-04-15 11:16:31 +02:00
gpio-charger.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 151 2019-05-30 11:26:28 -07:00
ingenic-battery.c power: supply: add Ingenic JZ47xx battery driver. 2019-04-18 21:35:49 +02:00
ipaq_micro_battery.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
isp1704_charger.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
jz4740-battery.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
Kconfig power supply and reset changes for the v5.3 series 2019-07-15 21:06:15 -07:00
lego_ev3_battery.c power: supply: lego_ev3_battery: fix Vce offset 2018-07-22 23:33:43 +02:00
lp8727_charger.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
lp8788-charger.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
lt3651-charger.c power: supply: ltc3651-charger: Fix device name (rename files) 2019-04-10 00:39:01 +02:00
ltc2941-battery-gauge.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
Makefile power supply and reset changes for the v5.3 series 2019-07-15 21:06:15 -07:00
max1721x_battery.c power: supply: max1721x: fix spelling mistake "RSenese" -> "RSense" 2018-06-28 14:24:13 +02:00
max8903_charger.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
max8925_power.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
max8997_charger.c power: supply: maxim: Add SPDX license identifiers 2018-08-30 00:18:10 +02:00
max8998_charger.c power: supply: max8998-charger: Fix platform data retrieval 2018-09-16 13:46:39 +02:00
max14577_charger.c power: supply: maxim: Add SPDX license identifiers 2018-08-30 00:18:10 +02:00
max14656_charger_detector.c power supply and reset changes for the v5.3 series 2019-07-15 21:06:15 -07:00
max17040_battery.c power: supply: max17040_battery: simplify getting the adapter of a client 2019-06-23 18:02:53 +02:00
max17042_battery.c power: supply: max17042_battery: simplify getting the adapter of a client 2019-06-23 18:03:02 +02:00
max77650-charger.c power: supply: max77650: Add support for battery charger 2019-05-08 12:06:52 +01:00
max77693_charger.c power: supply: maxim: Add SPDX license identifiers 2018-08-30 00:18:10 +02:00
olpc_battery.c platform-drivers-x86 for v5.3-1 2019-07-14 16:51:47 -07:00
pcf50633-charger.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
pda_power.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
pm2301_charger.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
pm2301_charger.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00
pmu_battery.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
power_supply_core.c power supply and reset changes for the v5.3 series 2019-07-15 21:06:15 -07:00
power_supply_hwmon.c power: supply: register HWMON devices with valid names 2019-09-01 21:43:04 +02:00
power_supply_leds.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 218 2019-05-30 11:29:54 -07:00
power_supply_sysfs.c power supply and reset changes for the v5.3 series 2019-07-15 21:06:15 -07:00
power_supply.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 218 2019-05-30 11:29:54 -07:00
qcom_smbb.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 284 2019-06-05 17:36:37 +02:00
rt5033_battery.c power supply and reset changes for the v5.3 series 2019-07-15 21:06:15 -07:00
rt9455_charger.c power supply and reset changes for the v5.3 series 2019-07-15 21:06:15 -07:00
rx51_battery.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 1 2019-05-21 11:28:39 +02:00
s3c_adc_battery.c power: supply: s3c-adc-battery: fix driver data initialization 2018-04-26 00:12:11 +02:00
sbs-battery.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
sbs-charger.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
sbs-manager.c power supply and reset changes for the v5.3 series 2019-07-15 21:06:15 -07:00
sc27xx_fuel_gauge.c power: supply: sc27xx: Fix capacity saving function 2019-01-23 21:26:56 +01:00
sc2731_charger.c power: supply: sc2731_charger: Free battery information 2018-12-05 23:54:01 +01:00
smb347-charger.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
test_power.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
tosa_battery.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
tps65090-charger.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
tps65217_charger.c power: supply: tps65217: Switch to SPDX identifier. 2018-06-28 14:19:20 +02:00
twl4030_charger.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
twl4030_madc_battery.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
ucs1002_power.c power: supply: fix semicolon.cocci warnings 2019-06-26 21:56:52 +02:00
wilco-charger.c power_supply: wilco_ec: Add charging config driver 2019-07-05 00:54:36 +02:00
wm97xx_battery.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
wm831x_backup.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
wm831x_power.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
wm8350_power.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
z2_battery.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00