linux/drivers/acpi
Mario Limonciello 778b94d7ac ACPI: platform_profile: Add support for hidden choices
When two drivers don't support all the same profiles the legacy interface
only exports the common profiles.

This causes problems for cases where one driver uses low-power but another
uses quiet because the result is that neither is exported to sysfs.

To allow two drivers to disagree, add support for "hidden choices".
Hidden choices are platform profiles that a driver supports to be
compatible with the platform profile of another driver.

Fixes: 688834743d ("ACPI: platform_profile: Allow multiple handlers")
Reported-by: Antheas Kapenekakis <lkml@antheas.dev>
Closes: https://lore.kernel.org/platform-driver-x86/e64b771e-3255-42ad-9257-5b8fc6c24ac9@gmx.de/T/#mc068042dd29df36c16c8af92664860fc4763974b
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Tested-by: Antheas Kapenekakis <lkml@antheas.dev>
Tested-by: Derek J. Clark <derekjohn.clark@gmail.com>
Acked-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Link: https://patch.msgid.link/20250228170155.2623386-2-superm1@kernel.org
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2025-03-04 20:45:34 +01:00
..
acpica LoongArch: Fix warnings during S3 suspend 2025-01-26 21:49:59 +08:00
apei APEI: GHES: Have GHES honor the panic= setting 2025-01-14 18:27:55 +01:00
arm64 ACPI: GTDT: Relax sanity checking on Platform Timers array count 2025-02-13 11:12:47 +00:00
dptf ACPI: DPTF: Support Panther Lake 2024-12-10 20:01:38 +01:00
nfit acpi: nfit: vmalloc-out-of-bounds Read in acpi_nfit_ctl 2024-12-04 14:58:44 -06:00
numa mm/fake-numa: handle cases with no SRAT info 2025-02-01 03:53:25 -08:00
pmic ACPI: PMIC: Remove unneeded check in tps68470_pmic_opregion_probe() 2024-08-02 17:05:08 +02:00
riscv ACPI: introduce acpi_arch_init() 2024-11-22 21:32:25 +01:00
x86 ACPI: x86: Add skip i2c clients quirk for Vexia EDU ATLA 10 tablet 5V 2025-01-23 20:16:51 +01:00
ac.c ACPI: Switch back to struct platform_driver::remove() 2024-11-12 21:30:30 +01:00
acpi_adxl.c
acpi_apd.c ACPI: APD: Use strscpy() instead of strcpy() 2024-11-05 21:35:35 +01:00
acpi_configfs.c
acpi_dbg.c
acpi_extlog.c mm/early_ioremap: add null pointer checks to prevent NULL-pointer dereference 2025-01-13 22:40:59 -08:00
acpi_ffh.c
acpi_fpdt.c
acpi_ipmi.c
acpi_lpat.c
acpi_lpit.c
acpi_memhotplug.c
acpi_pad.c x86/cpu: Make all all CPUID leaf names consistent 2024-12-18 06:17:46 -08:00
acpi_pcc.c
acpi_platform.c
acpi_pnp.c
acpi_processor.c Merge branches 'acpi-video', 'acpi-resource', 'acpi-pad' and 'acpi-misc' 2024-09-11 22:05:16 +02:00
acpi_tad.c ACPI: Switch back to struct platform_driver::remove() 2024-11-12 21:30:30 +01:00
acpi_video.c ACPI: video: Fix random crashes due to bad kfree() 2025-01-13 21:09:10 +01:00
acpi_watchdog.c
battery.c ACPI: battery: Rename extensions to hook in messages 2024-12-10 19:50:30 +01:00
bgrt.c ACPI: BGRT: Constify 'struct bin_attribute' 2024-12-10 19:34:41 +01:00
bus.c ACPI: introduce acpi_arch_init() 2024-11-22 21:32:25 +01:00
button.c ACPI: button: Add DMI quirk for Samsung Galaxy Book2 to fix initial lid detection issue 2024-10-21 14:00:59 +02:00
container.c
cppc_acpi.c Merge branches 'acpi-battery', 'acpi-ec', 'acpi-pfr' and 'acpi-osl' 2024-11-15 20:45:14 +01:00
debugfs.c
device_pm.c
device_sysfs.c ACPI: sysfs: remove return value of acpi_device_setup_files() 2024-08-02 16:44:22 +02:00
dock.c
ec.c ACPI: EC: Use strscpy() instead of strcpy() 2024-11-05 21:35:35 +01:00
ec_sys.c
event.c ACPI: event: Use strscpy() instead of strcpy() 2024-11-05 21:35:35 +01:00
evged.c ACPI: Switch back to struct platform_driver::remove() 2024-11-12 21:30:30 +01:00
fan.h ACPI: DPTF: Support Panther Lake 2024-12-10 20:01:38 +01:00
fan_attr.c
fan_core.c ACPI: fan: cleanup resources in the error path of .probe() 2024-12-16 21:22:22 +01:00
fan_hwmon.c
glue.c
hed.c
internal.h ACPI: EC: make EC support compile-time conditional 2024-10-24 17:47:15 +02:00
ioapic.c
irq.c
Kconfig ACPI: EC: Enable EC support on LoongArch by default 2024-12-18 20:23:59 +01:00
Makefile ACPI: EC: make EC support compile-time conditional 2024-10-24 17:47:15 +02:00
mipi-disco-img.c ACPI: bus: change the prototype for acpi_get_physical_device_location 2024-12-19 20:59:35 +01:00
nhlt.c
nvs.c
osi.c
osl.c ACPI: OSL: Use usleep_range() in acpi_os_sleep() 2024-12-10 19:45:27 +01:00
pci_irq.c xen/pvh: Setup gsi for passthrough device 2024-09-25 09:54:52 +02:00
pci_link.c ACPI: pci_link: Use strscpy() instead of strcpy() 2024-11-05 21:35:36 +01:00
pci_mcfg.c PCI/ACPI: Increase Loongson max PCI hosts to 8 2024-08-01 18:04:05 -05:00
pci_root.c ACPI: pci_root: Use strscpy() instead of strcpy() 2024-11-05 21:35:36 +01:00
pci_slot.c
pfr_telemetry.c Merge branch 'acpi-misc' 2024-11-15 20:52:02 +01:00
pfr_update.c ACPI: Switch back to struct platform_driver::remove() 2024-11-12 21:30:30 +01:00
platform_profile.c ACPI: platform_profile: Add support for hidden choices 2025-03-04 20:45:34 +01:00
power.c ACPI: power: Use strscpy() instead of strcpy() 2024-11-05 21:35:36 +01:00
pptt.c
prmt.c ACPI: PRM: Remove unnecessary strict handler address checks 2025-02-05 21:16:40 +01:00
proc.c
processor_core.c Updates for the interrupt subsystem: 2024-07-22 13:52:05 -07:00
processor_driver.c ACPI: processor: Move arch_init_invariance_cppc() call later 2024-11-06 21:31:36 +01:00
processor_idle.c More ACPI updates for 6.13-rc1 2024-11-27 14:50:31 -08:00
processor_pdc.c
processor_perflib.c ACPI: processor_perflib: extend X86 dependency 2024-11-05 21:40:22 +01:00
processor_thermal.c
processor_throttling.c
property.c ACPI: property: Fix return value for nval == 0 in acpi_data_prop_read() 2025-02-05 21:09:28 +01:00
reboot.c
resource.c ACPI: resource: IRQ override for Eluktronics MECH-17 2025-02-05 21:12:46 +01:00
sbs.c ACPI: SBS: Use strscpy() instead of strcpy() 2024-11-05 21:35:36 +01:00
sbshc.c Merge branch 'acpi-misc' 2024-11-15 20:52:02 +01:00
sbshc.h
scan.c sound updates for 6.14-rc1 2025-01-24 07:54:34 -08:00
sleep.c ACPI: PM: Quirk ASUS ROG M16 to default to S3 sleep 2024-09-10 20:19:52 +02:00
sleep.h
spcr.c
sysfs.c ACPI: sysfs: Constify 'struct bin_attribute' 2024-12-10 19:34:41 +01:00
tables.c ACPI: tables: Use string choice helpers 2025-01-07 19:12:43 +01:00
thermal.c module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
thermal_lib.c module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
tiny-power-button.c
utils.c ACPI: bus: change the prototype for acpi_get_physical_device_location 2024-12-19 20:59:35 +01:00
video_detect.c ACPI: video: force native for Apple MacbookPro11,2 and Air7,2 2024-11-13 12:48:50 +01:00
viot.c iommu: Resolve fwspec ops automatically 2024-07-04 14:36:03 +01:00
wakeup.c