2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-27 06:34:11 +08:00
linux-next/drivers/power/supply
Maximilian Luz 167f77f7d0 power: supply: Add battery driver for Surface Aggregator Module
On newer Microsoft Surface models (specifically 7th-generation, i.e.
Surface Pro 7, Surface Book 3, Surface Laptop 3, and Surface Laptop Go),
battery and AC status/information is no longer handled via standard ACPI
devices, but instead directly via the Surface System Aggregator Module
(SSAM), i.e. the embedded controller on those devices.

While on previous generation models, battery status is also handled via
SSAM, an ACPI shim was present to translate the standard ACPI battery
interface to SSAM requests. The SSAM interface itself, which is modeled
closely after the ACPI interface, has not changed.

This commit introduces a new SSAM client device driver to support
battery status/information via the aforementioned interface on said
Surface models. It is in parts based on the standard ACPI battery
driver.

Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
2021-04-08 14:30:28 +02:00
..
88pm860x_battery.c power: supply: 88pm860x_battery: Remove unnecessary int for long long 2021-04-02 14:14:58 +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 mfd/power: ab8500: Push data to power supply code 2021-03-22 14:55:38 +00:00
ab8500_btemp.c mfd/power: ab8500: Push data to power supply code 2021-03-22 14:55:38 +00:00
ab8500_charger.c mfd/power: ab8500: Push algorithm to power supply code 2021-03-22 14:55:51 +00:00
ab8500_fg.c mfd/power: ab8500: Push data to power supply code 2021-03-22 14:55:38 +00:00
ab8500-bm.h mfd/power: ab8500: Push data to power supply code 2021-03-22 14:56:02 +00:00
ab8500-chargalg.h mfd/power: ab8500: Push algorithm to power supply code 2021-03-22 14:55:51 +00:00
abx500_chargalg.c mfd/power: ab8500: Push algorithm to power supply code 2021-03-22 14:55:51 +00:00
acer_a500_battery.c power: supply: Add battery gauge driver for Acer Iconia Tab A500 2021-01-14 23:39:43 +01: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 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: Add missing check in axp20x_usb_power_probe 2021-03-15 01:07:54 +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 BQ78Z100 2021-03-21 21:29:26 +01:00
bq27xxx_battery.c power: supply: bq27xxx: Add support for BQ78Z100 2021-03-21 21:29:26 +01:00
bq256xx_charger.c power: supply: bq256xx: Fix BQ256XX_NUM_WD_VAL and bq256xx_watchdog_time[] overrun 2021-01-14 23:38:56 +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: convert comma to semicolon 2021-01-16 12:38:57 +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: Move props from battery node 2021-04-05 17:51:21 +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 a typo 2021-03-22 14:59:48 +01: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-battery: constify psy_desc 2021-01-15 13:26:46 +01:00
cpcap-charger.c power: supply: cpcap-charger: Simplify bool conversion 2021-04-05 11:37:06 +02:00
cros_usbpd-charger.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
cw2015_battery.c power: supply: cw2015: Add CHARGE_NOW support 2021-03-06 18:39:05 +01:00
da9030_battery.c power: Convert to DEFINE_SHOW_ATTRIBUTE 2020-07-27 00:05:56 +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: use kobj_to_dev() 2021-01-28 01:31:42 +01:00
ds2780_battery.c power: supply: ds2780: Switch to using the new API kobj_to_dev() 2021-01-16 12:36:26 +01:00
ds2781_battery.c power: supply: ds2781: use kobj_to_dev() 2021-03-22 15:05:41 +01: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: Add battery driver for Surface Aggregator Module 2021-04-08 14:30:28 +02: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: Use IRQF_ONESHOT 2021-03-22 14:54:24 +01: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 power: supply: ltc2941: Fix ptr to enum cast 2020-10-10 22:16:43 +02:00
ltc4162-l-charger.c power: supply: ltc4162-l: Constify static struct attribute_group 2021-01-13 22:11:43 +01:00
Makefile power: supply: Add battery driver for Surface Aggregator Module 2021-04-08 14:30:28 +02:00
max1721x_battery.c power: supply: max1721x: Correct spelling 2021-03-22 15:11:22 +01: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: Switch to new binding 2021-04-02 14:12:52 +02: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: Trivial spelling fixes 2021-03-23 14:27:11 +01:00
max77650-charger.c power: supply: max77650: add of_match table 2019-12-19 01:13:26 +01:00
max77693_charger.c power: supply: maxim: Add SPDX license identifiers 2018-08-30 00:18:10 +02:00
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 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
pda_power.c power: supply: pda_power: add missed usb_unregister_notifier 2019-12-19 01:07:53 +01:00
pm2301_charger.c Immutable branch between MFD and Power due for the v5.13 merge window 2021-04-05 12:38:08 +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: core: reduce loglevel for probe defer info 2021-04-02 14:19:26 +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 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 218 2019-05-30 11:29:54 -07:00
power_supply_sysfs.c power: supply: core: Constify static struct attribute_group 2021-01-13 22:11:44 +01: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
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: remove unused pdata in suspend/resume 2021-03-06 18:39:05 +01:00
sbs-battery.c power: supply: sbs-battery: use dev_err_probe 2021-04-02 14:19:25 +02:00
sbs-charger.c power: supply: sbs-charger: drop unused gpio includes 2021-04-02 14:19:25 +02:00
sbs-manager.c power: supply: sbs-manager: update gpio include 2021-04-02 14:19:26 +02:00
sc27xx_fuel_gauge.c power: supply: sc27xx: prevent adc * 1000 from overflow 2020-07-28 00:49:26 +02:00
sc2731_charger.c power: supply: sc2731_charger: Free battery information 2018-12-05 23:54:01 +01:00
smb347-charger.c power: supply: smb347-charger: Clean up whitespaces in the code 2021-03-06 18:39:06 +01:00
surface_battery.c power: supply: Add battery driver for Surface Aggregator Module 2021-04-08 14:30:28 +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 power: supply: Use IRQF_ONESHOT 2021-03-22 14:54:24 +01:00
tps65217_charger.c power: supply: Use IRQF_ONESHOT 2021-03-22 14:54:24 +01:00
twl4030_charger.c power: twl4030: Use scnprintf() for avoiding potential buffer overflow 2020-03-11 23:20:32 +01: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: 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 power: supply: wm97xx_battery: Convert to GPIO descriptor 2021-01-13 22:25:07 +01: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 power: supply: z2_battery: Drop unused variable 2021-03-15 00:08:07 +01:00