linux/drivers/power/supply
Linus Walleij 50da8d04ee power: supply: max8903: Convert to GPIO descriptors
The MAX8903 uses up to 5 different GPIO lines to control and
monitor charging.

When converting to use GPIO descriptors instead of the old
GPIO numbers the following side-refactorings were done:

- Decomission the platform data container struct as all
  GPIO descriptors are now "live" members of the driver
  state container. The "dc_valid" and "usb_valid" just
  indicate the presence of a DC or USB charger detection
  line, and this can be handled by just checking if
  the optional GPIO descriptor for each is != NULL.

- The gpiolib will now respect the GPIO_ACTIVE_LOW flag
  for each of the lines, meaning gpiod_get_value() for example
  will return 1 (asserted) if a line is flagged as
  active low and is also physically low. The same applies
  to output lines, vice versa mutatis mutandis. The code
  has been augmented to account for this in all sites.

- The terse parenthesis such as this:
    gpio_set_value(pdata->cen, ta_in ? 0 :
                     (data->usb_in ? 0 : 1));
  have been expanded to more readable if / else if / else
  statements that are easier for humans to read.

- Comments were inserted to underscore polarity in each
  case where it could be confusing to users of the old code.

One thing is notable: the device tree bindings does not show
an example of polarity assigned for the line "dcm-gpios"
DC current monitor, is assumed to be flagged GPIO_ACTIVE_HIGH
and driving it high (asserted) will achieve DC charger current
limits and driving it low will achieve USB charger current
limits. Device trees with this (optional) GPIO line defined
should definately be flagged as GPIO_ACTIVE_HIGH.

Cc: Chris Lapa <chris@lapa.com.au>
Cc: MyungJoo Ham <myungjoo.ham@samsung.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
2021-01-12 23:23:49 +01:00
..
88pm860x_battery.c power: supply: check if calc_soc succeeded in pm860x_init_battery 2020-07-28 02:13:21 +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
ab8500_btemp.c power: supply: ab8500: Use dev_err_probe() for IIO channels 2020-12-12 22:11:18 +01:00
ab8500_charger.c power: supply: ab8500: Use dev_err_probe() for IIO channels 2020-12-12 22:11:18 +01:00
ab8500_fg.c power: supply: ab8500: Use dev_err_probe() for IIO channels 2020-12-12 22:11:18 +01:00
abx500_chargalg.c power: supply: ab8500: Convert to dev_pm_ops 2020-12-12 22:06:57 +01:00
act8945a_charger.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
adp5061.c
apm_power.c
axp20x_ac_power.c power: supply: axp20x_ac_power: Add wakeup control 2020-01-14 01:00:41 +01:00
axp20x_battery.c
axp20x_usb_power.c power: supply: axp20x_usb_power: Use power efficient workqueue for debounce 2020-11-30 02:07:58 +01:00
axp288_charger.c power: supply: axp288_charger: Fix HP Pavilion x2 10 DMI matching 2020-11-30 01:15:02 +01:00
axp288_fuel_gauge.c power: supply: axp288_fuel_gauge: Add Mele PCG03 to the deny-list 2021-01-12 22:52:42 +01:00
bd70528-charger.c power: supply: bd70528: use linear ranges 2020-05-10 02:35:46 +02:00
bd99954-charger.c power: supply: Make bd9995x_chip_reset static 2020-05-28 19:02:59 +02:00
bd99954-charger.h power: supply: Support ROHM bd99954 charger 2020-05-10 02:35:49 +02:00
bq27xxx_battery_hdq.c power supply and reset changes for the v5.10 series 2020-10-20 10:56:34 -07:00
bq27xxx_battery_i2c.c power: supply: bq27xxx: add support for TI bq34z100 2020-10-02 00:01:42 +02:00
bq27xxx_battery.c power: supply: bq27xxx: add support for TI bq34z100 2020-10-02 00:01:42 +02:00
bq256xx_charger.c power: supply: bq256xx: Introduce the BQ256XX charger driver 2021-01-06 21:25:05 +01:00
bq2415x_charger.c power: supply: bq2xxxx: Replace HTTP links with HTTPS ones 2020-07-28 02:07:35 +02:00
bq2515x_charger.c power: supply: bq2515x: fix kerneldoc 2020-10-03 22:17:50 +02:00
bq24190_charger.c power: supply: bq24190_charger: Drop unused include 2020-11-30 02:45:37 +01:00
bq24257_charger.c power: supply: bq24257: skip 'struct acpi_device_id' when !CONFIG_ACPI 2020-10-03 22:17:50 +02:00
bq24735-charger.c power: supply: bq24735: Drop unused include 2020-11-30 02:45:37 +01:00
bq25890_charger.c power: supply: bq25890: Use the correct range for IILIM register 2020-11-29 23:06:03 +01:00
bq25980_charger.c power: supply: bq25980: Fix uninitialized wd_reg_val and overrun 2020-10-13 23:24:10 +02:00
bq25980_charger.h power: supply: bq25980: Add support for the BQ259xx family 2020-10-04 01:54:35 +02:00
charger-manager.c power: supply: charger-manager: fix incorrect check on charging_duration_ms 2020-10-09 00:33:09 +02:00
collie_battery.c power: supply: collie_battery: Convert to GPIO descriptors 2020-11-30 02:18:49 +01:00
cpcap-battery.c power: supply: cpcap: Add missing IRQF_ONESHOT to fix regression 2021-01-02 23:57:44 +01:00
cpcap-charger.c power: supply: cpcap: Add missing IRQF_ONESHOT to fix regression 2021-01-02 23:57:44 +01:00
cros_usbpd-charger.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
cw2015_battery.c power: supply: cw2015: Attach OF ID table to the driver 2020-06-06 01:13:56 +02:00
da9030_battery.c power: Convert to DEFINE_SHOW_ATTRIBUTE 2020-07-27 00:05:56 +02:00
da9052-battery.c
da9150-charger.c
da9150-fg.c
ds2760_battery.c power: supply: Constify static w1_family_ops structs 2020-10-05 13:21:49 +02:00
ds2780_battery.c power: supply: ds278x: fix spelling typo 2020-09-30 01:12:04 +02:00
ds2781_battery.c power: supply: ds278x: fix spelling typo 2020-09-30 01:12:04 +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: supply: generic-adc-battery: Use GPIO descriptors 2020-11-30 02:42:42 +01:00
goldfish_battery.c power: supply: goldfish: skip 'struct acpi_device_id' when !CONFIG_ACPI 2020-10-03 22:17:50 +02:00
gpio-charger.c power: supply: gpio-charger: add charge-current-limit feature 2020-08-27 21:13:23 +02:00
ingenic-battery.c power: supply: ingenic: remove unneeded semicolon 2020-12-30 00:42:46 +01:00
ipaq_micro_battery.c power: supply: ipaq_micro_battery: remove unneeded semicolon 2020-01-17 02:13:00 +01:00
isp1704_charger.c change email address for Pali Rohár 2020-04-10 15:36:22 -07:00
Kconfig power: supply: bq256xx: Introduce the BQ256XX charger driver 2021-01-06 21:25:05 +01:00
lego_ev3_battery.c power: supply: lego_ev3: Simplify with dev_err_probe() 2020-08-26 17:25:45 +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 power: supply: lp8788: Fix an error handling path in 'lp8788_charger_probe()' 2020-05-10 01:20:41 +02:00
lt3651-charger.c
ltc2941-battery-gauge.c power: supply: ltc2941: Fix ptr to enum cast 2020-10-10 22:16:43 +02:00
Makefile power: supply: bq256xx: Introduce the BQ256XX charger driver 2021-01-06 21:25:05 +01:00
max1721x_battery.c power: supply: Constify static w1_family_ops structs 2020-10-05 13:21:49 +02:00
max8903_charger.c power: supply: max8903: Convert to GPIO descriptors 2021-01-12 23:23:49 +01:00
max8925_power.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
max8997_charger.c power: supply: max8997_charger: fix spelling mistake "diconnected" -> "disconnected" 2021-01-06 17:39:24 +01:00
max8998_charger.c power: supply: max8998_charger: Correct ONLINE and add STATUS props 2020-06-19 19:58:23 +02:00
max14577_charger.c power: charger: max14577: Add proper dt-compatible strings 2020-05-28 09:11:55 +02:00
max14656_charger_detector.c power: supply: max14656: Drop unused includes 2021-01-12 23:09:45 +01:00
max17040_battery.c power: supply: max17040: Fix ptr to enum cast 2020-10-09 00:10:32 +02:00
max17042_battery.c power: supply: max17042_battery: Export charge termination current property 2020-11-30 01:14:42 +01:00
max77650-charger.c power: supply: max77650: add of_match table 2019-12-19 01:13:26 +01:00
max77693_charger.c
mp2629_charger.c power: supply: Add support for mps mp2629 battery charger 2020-05-26 10:41:52 +01:00
olpc_battery.c power: supply: olpc_battery: fix the power supply name 2020-05-10 18:56:30 +02:00
pcf50633-charger.c
pda_power.c power: supply: pda_power: add missed usb_unregister_notifier 2019-12-19 01:07:53 +01:00
pm2301_charger.c power: supply: pm2301_charger: remove unnecessary variable 2020-11-30 01:44:11 +01:00
pm2301_charger.h
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: Support battery temperature device-tree properties 2020-08-25 19:24:37 +02:00
power_supply_hwmon.c power: supply: remove duplicated argument in power_supply_hwmon_info 2021-01-12 23:00:32 +01:00
power_supply_leds.c
power_supply_sysfs.c power: supply: Fix a typo in warning message 2020-12-13 01:00:10 +01:00
power_supply.h
qcom_smbb.c
rn5t618_power.c power: supply: fix spelling mistake "unprecise" -> "imprecise" 2020-10-03 23:45:02 +02:00
rt5033_battery.c power: supply: rt5033_battery: Fix error code in rt5033_battery_probe() 2020-07-28 02:18:24 +02:00
rt9455_charger.c power: supply: rt9455: skip 'struct acpi_device_id' when !CONFIG_ACPI 2020-10-03 22:17:50 +02:00
rx51_battery.c change email address for Pali Rohár 2020-04-10 15:36:22 -07:00
s3c_adc_battery.c power: supply: s3c-adc-battery: Convert to GPIO descriptors 2020-11-30 02:13:02 +01:00
sbs-battery.c power supply and reset changes for the v5.10 series 2020-10-20 10:56:34 -07:00
sbs-charger.c
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: prevent adc * 1000 from overflow 2020-07-28 00:49:26 +02:00
sc2731_charger.c
smb347-charger.c power: supply: smb347-charger: Use generic property framework 2020-08-28 15:34:36 +02:00
test_power.c power: supply: test-power: revise parameter printing to use sprintf 2020-10-09 01:02:30 +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
tps65217_charger.c
twl4030_charger.c power: twl4030: Use scnprintf() for avoiding potential buffer overflow 2020-03-11 23:20:32 +01:00
twl4030_madc_battery.c
ucs1002_power.c power: supply: ucs1002: fix some health status issues 2020-10-01 00:18:05 +02:00
wilco-charger.c power: supply: wilco_ec: Add long life charging mode 2020-07-31 14:33:56 +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 power: supply: wm831x_power: remove unneeded break 2020-11-30 02:46:23 +01:00
wm8350_power.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
z2_battery.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00