linux_dsm_epyc7002/drivers/acpi
Laszlo Toth a20136a67a ACPI: battery: do not export degraded capacity values over 100
With a degraded battery, full_charge_capacity can be less
than design_capacity, however it's not sure that capacity_now's
max will follow.

Example from an affected machine:
/sys/class/power_supply/BAT0/charge_full        -> 4290000
/sys/class/power_supply/BAT0/charge_full_design -> 5900000
/sys/class/power_supply/BAT0/charge_now         -> 5900000
/sys/class/power_supply/BAT0/capacity           -> 137

The battery is a degraded one with a full charge, and
charge_now is the value of charge_full_design instead of
charge_full.

Added a new quirk to test and correct this, and
a new function to check if the battery is a degraded one
or not. This keeps the possibility to be over 100 if
it's really the case.

Signed-off-by: Laszlo Toth <laszlth@gmail.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2018-02-27 17:17:11 +01:00
..
acpica ACPICA: All acpica: Update copyrights to 2018 2018-02-06 10:31:20 +01:00
apei Merge branch 'siginfo-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace 2018-01-30 14:18:52 -08:00
arm64 arm64 updates for 4.15 2017-11-15 10:56:56 -08:00
dptf License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
nfit Merge branch 'for-4.16/nfit' into libnvdimm-for-next 2018-02-03 00:26:26 -07:00
pmic ACPI / PMIC: Convert to use builtin_platform_driver() macro 2018-01-11 02:17:41 +01:00
x86 ACPI / x86: Extend KIOX000A quirk to cover all affected BIOS versions 2017-10-21 13:24:53 +02:00
ac.c battery: Add the battery hooking API 2018-02-21 23:27:13 +01:00
acpi_amba.c
acpi_apd.c ACPI / APD: Add clock frequency for ThunderX2 I2C controller 2017-10-17 23:52:54 +02:00
acpi_cmos_rtc.c
acpi_configfs.c ACPI: configfs: make config_item_type const 2017-10-19 16:15:29 +02:00
acpi_dbg.c vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
acpi_extlog.c
acpi_ipmi.c
acpi_lpat.c
acpi_lpit.c ACPI / LPIT: Export lpit_read_residency_count_address() 2018-02-04 15:55:52 +02:00
acpi_lpss.c ACPI / LPSS: Do not instiate platform_dev for devs without MMIO resources 2018-01-15 17:45:25 +01:00
acpi_memhotplug.c
acpi_pad.c
acpi_platform.c
acpi_pnp.c
acpi_processor.c ACPI: Mark expected switch fall-throughs 2017-11-09 00:55:16 +01:00
acpi_video.c ACPI / video: Use true for boolean value 2018-02-04 08:55:36 +01:00
acpi_watchdog.c
battery.c ACPI: battery: do not export degraded capacity values over 100 2018-02-27 17:17:11 +01:00
bgrt.c
blacklist.c
bus.c device property: Constify device_get_match_data() 2018-02-12 10:41:11 +01:00
button.c ACPI: button: Add a LID switch blacklist and add 1 model to it 2017-12-13 01:05:02 +01:00
cm_sbs.c
container.c
cppc_acpi.c ACPI / CPPC: Use 64-bit arithmetic instead of 32-bit 2018-02-07 11:15:02 +01:00
custom_method.c
debugfs.c
device_pm.c Merge back PM core material for v4.16. 2017-12-16 02:05:48 +01:00
device_sysfs.c treewide: Use DEVICE_ATTR_RO 2018-01-09 16:34:34 +01:00
dock.c ACPI: Mark expected switch fall-throughs 2017-11-09 00:55:16 +01:00
ec_sys.c ACPI: EC: Fix debugfs_create_*() usage 2018-01-04 13:54:51 +01:00
ec.c ACPI / EC: Restore polling during noirq suspend/resume phases 2018-02-12 10:29:31 +01:00
event.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
evged.c ACPI: GED: unregister interrupts during shutdown 2017-12-16 03:05:37 +01:00
fan.c
glue.c
hed.c
internal.h ACPI: EC: Fix debugfs_create_*() usage 2018-01-04 13:54:51 +01:00
ioapic.c
irq.c
Kconfig More ACPI updates for v4.16-rc1 2018-02-09 09:44:25 -08:00
Makefile - New Drivers 2017-11-16 09:15:57 -08:00
numa.c ACPI / NUMA: ia64: Parse all entries of SRAT memory affinity table 2017-11-27 01:19:52 +01:00
nvs.c
osi.c
osl.c
pci_irq.c
pci_link.c ACPI/PCI: pci_link: reduce verbosity when IRQ is enabled 2018-01-17 12:53:04 +01:00
pci_mcfg.c
pci_root.c
pci_slot.c
power.c
proc.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
processor_core.c
processor_driver.c
processor_idle.c More ACPI updates for v4.16-rc1 2018-02-09 09:44:25 -08:00
processor_pdc.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
processor_perflib.c ACPI: processor_perflib: Do not send _PPC change notification if not ready 2018-02-04 09:14:50 +01:00
processor_thermal.c
processor_throttling.c
property.c device property: Constify device_get_match_data() 2018-02-12 10:41:11 +01:00
reboot.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
resource.c ACPI: Mark expected switch fall-throughs 2017-11-09 00:55:16 +01:00
sbs.c battery: Add the battery hooking API 2018-02-21 23:27:13 +01:00
sbshc.c ACPI: sbshc: remove raw pointer from printk() message 2018-02-08 09:50:08 +01:00
sbshc.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
scan.c ACPI / scan: Use acpi_bus_get_status() to initialize ACPI_TYPE_DEVICE devs 2018-02-04 09:11:56 +01:00
sleep.c ACPI / PM: Use Low Power S0 Idle on more systems 2018-01-11 18:54:31 +01:00
sleep.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
spcr.c ACPI: SPCR: Mark expected switch fall-through in acpi_parse_spcr 2018-02-12 10:31:26 +01:00
sysfs.c ACPI: sysfs: Make ACPI GPE mask kernel parameter cover all GPEs 2017-12-13 01:11:33 +01:00
tables.c ACPI / tables: Add IORT to injectable table list 2018-02-07 11:06:48 +01:00
thermal.c
utils.c ACPI: utils: Introduce acpi_dev_get_first_match_name() 2018-01-10 00:41:43 +01:00
video_detect.c
wakeup.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00