linux_dsm_epyc7002/drivers/acpi
Daniel Drake 82bf43b291 Revert "ACPI / battery: Add quirk for Asus GL502VSK and UX305LA"
Revert commit c68f0676ef ("ACPI / battery: Add quirk for Asus
GL502VSK and UX305LA") and commit 4446823e25 ("ACPI / battery: Add
quirk for Asus UX360UA and UX410UAK").

On many many Asus products, the battery is sometimes reported as
charging or discharging even when it is full and you are on AC power.
This change quirked the kernel to avoid advertising the discharging
state when this happens on 4 laptop models, under the belief that
this was incorrect information.  I presume it originates from user
reports who are confused that their battery status icon says that it
is discharging.

However, the reported information is indeed correct, and the quirk
approach taken is inadequate and more thought is needed first.
Specifically:

 1. It only quirks discharging state, not charging

 2. There are so many different Asus products and DMI naming variants
    within those product families that behave this way; Linux could
    grow to quirk hundreds of products and still not even be close at
    "winning" this battle.

 3. Asus previously clarified that this behaviour is intentional. The
    platform will periodically do a partial discharge/charge cycle
    when the battery is full, because this is one way to extend the
    lifetime of the battery (leaving a battery at 100% charge and
    unused will decrease its usable capacity over time).

    My understanding is that any decent consumer product will have
    this behaviour, but it appears that Asus is different in that
    they expose this info through ACPI.

    However, the behaviour seems correct. The ACPI spec does not
    suggest in that the platform should hide the truth.  It lets you
    report that the battery is full of charge, and discharging, and
    with external power connected; and Asus does this.

 4. In terms of not confusing the user, this seems like something that
    could/should be handled by userspace, which can also detect these
    same (accurate) conditions in the general case.

Revert this quirk before it gets included in a release, while we look
for better approaches.

Signed-off-by: Daniel Drake <drake@endlessm.com>
Acked-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2018-03-19 10:08:39 +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 ACPI: Mark expected switch fall-throughs 2017-11-09 00:55:16 +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: Switch to use generic guid_t in acpi_evaluate_dsm() 2017-06-07 12:20:49 +02:00
acpi_ipmi.c ACPI / IPMI: change warning to debug on timeout 2017-04-07 12:25:37 -05:00
acpi_lpat.c ACPI / lpat: Fix typos in comments and kerneldoc style 2017-07-24 22:52:00 +02:00
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 sched/headers: Prepare for new header dependencies before moving code to <uapi/linux/sched/types.h> 2017-03-02 08:42:27 +01:00
acpi_platform.c ACPI / platform: Update platform device NUMA node based on _PXM method 2017-04-18 16:56:39 +02:00
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 ACPI / watchdog: properly initialize resources 2017-09-19 01:49:02 +02:00
battery.c Revert "ACPI / battery: Add quirk for Asus GL502VSK and UX305LA" 2018-03-19 10:08:39 +01:00
battery.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
bgrt.c ACPI: BGRT: constify attribute_group structures 2017-07-04 22:15:20 +02:00
blacklist.c dmi: Mark all struct dmi_system_id instances const 2017-09-14 11:59:30 +02:00
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 ACPI / fan: Fix error reading cur_state 2016-10-10 02:20:43 +02:00
glue.c IOMMU Updates for Linux v4.12 2017-05-09 15:15:47 -07:00
hed.c
internal.h ACPI: EC: Fix debugfs_create_*() usage 2018-01-04 13:54:51 +01:00
ioapic.c ACPI: fix whitespace in pr_fmt() to align log entries 2017-06-22 02:18:20 +02:00
irq.c ACPI / irq: Fix return code of acpi_gsi_to_irq() 2017-07-12 13:11:49 +02:00
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 dmi: Mark all struct dmi_system_id instances const 2017-09-14 11:59:30 +02:00
osl.c ACPI / LPIT: Add Low Power Idle Table (LPIT) support 2017-10-11 15:38:10 +02:00
pci_irq.c ACPI / PCI: fix GIC irq model default PCI IRQ polarity 2016-09-10 02:50:50 +02:00
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/ACPI: Add ThunderX pass2.x 2nd node MCFG quirk 2017-04-24 11:58:56 -05:00
pci_root.c treewide: Consolidate Apple DMI checks 2017-08-03 23:26:22 +02:00
pci_slot.c dmi: Mark all struct dmi_system_id instances const 2017-09-14 11:59:30 +02:00
power.c ACPI / power: constify attribute_group structures 2017-07-04 22:15:14 +02:00
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 Revert"x86/acpi: Enable MADT APIs to return disabled apicids" 2017-03-11 14:41:18 +01:00
processor_driver.c ACPI: processor: use dev_dbg() instead of dev_warn() when CPPC probe failed 2017-07-27 01:51:06 +02:00
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 Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
processor_throttling.c acpi/processor: Prevent cpu hotplug deadlock 2017-05-26 10:10:47 +02:00
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 Merge branches 'acpi-video', 'acpi-battery', 'acpi-spcr' and 'acpi-misc' 2017-09-03 23:54:29 +02: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 dmi: Mark all struct dmi_system_id instances const 2017-09-14 11:59:30 +02:00
utils.c ACPI: utils: Introduce acpi_dev_get_first_match_name() 2018-01-10 00:41:43 +01:00
video_detect.c ACPI / video: Add force_none quirk for Dell OptiPlex 9020M 2017-07-16 02:27:23 +02:00
wakeup.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00