2
0
mirror of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git synced 2025-09-04 20:19:47 +08:00
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: FFH: Drop the inclusion of linux/arm-smccc.h 2023-06-12 19:28:20 +02:00
acpi_fpdt.c ACPI: FPDT: properly handle invalid FPDT subtables 2023-10-03 21:12:22 +02:00
acpi_ipmi.c ACPI: IPMI: Add helper to wait for when SMI is selected 2024-04-28 10:07:34 -07:00
acpi_lpat.c
acpi_lpit.c ACPI: LPIT: Avoid u32 multiplication overflow 2023-11-22 20:55:20 +01:00
acpi_memhotplug.c mm/memory_hotplug: allow memmap on memory hotplug request to fallback 2023-08-21 13:37:48 -07:00
acpi_pad.c x86/cpu: Make all all CPUID leaf names consistent 2024-12-18 06:17:46 -08:00
acpi_pcc.c ACPI: PCC: Setup PCC Opregion handler only if platform interrupt is available 2022-11-23 19:06:56 +01:00
acpi_platform.c ACPI: platform: Move SMB0001 HID to the header and reuse 2023-07-04 19:28:20 +02:00
acpi_pnp.c ACPI: PNP: Introduce list of known non-PNP devices 2023-01-17 12:52:11 +01:00
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 ACPI: use %pe for better readability of errors while printing 2024-02-16 19:31:12 +01:00
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 ACPI: PM: Add acpi_device_fix_up_power_children() function 2023-11-20 17:31:49 +01:00
device_sysfs.c ACPI: sysfs: remove return value of acpi_device_setup_files() 2024-08-02 16:44:22 +02:00
dock.c ACPI: scan: Introduce typedef:s for struct acpi_hotplug_context members 2024-04-04 21:19:02 +02:00
ec_sys.c
ec.c ACPI: EC: Use strscpy() instead of strcpy() 2024-11-05 21:35:35 +01:00
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_attr.c ACPI: fan: Convert to use sysfs_emit_at() API 2022-12-06 12:44:14 +01:00
fan_core.c ACPI: fan: cleanup resources in the error path of .probe() 2024-12-16 21:22:22 +01:00
fan_hwmon.c ACPI: fan: Add hwmon support 2024-05-28 11:53:35 +02:00
fan.h ACPI: DPTF: Support Panther Lake 2024-12-10 20:01:38 +01:00
glue.c ACPI: Fix selecting wrong ACPI fwnode for the iGPU on some Dell laptops 2023-01-10 20:23:48 +01:00
hed.c ACPI: bus: Add context argument to acpi_dev_install_notify_handler() 2023-10-06 17:32:51 +02:00
internal.h ACPI: EC: make EC support compile-time conditional 2024-10-24 17:47:15 +02:00
ioapic.c ACPI: Silence missing prototype warnings 2022-12-30 19:12:30 +01:00
irq.c ACPI: irq: Fix incorrect return value in acpi_register_gsi() 2023-10-18 13:11:04 +02:00
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 ACPI: NHLT: Streamline struct naming 2024-03-27 16:36:45 +01:00
nvs.c
osi.c ACPI: OSI: refactor deprecated strncpy() 2023-09-21 20:55:43 +02:00
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 ACPI: use %pe for better readability of errors while printing 2024-02-16 19:31:12 +01:00
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 ACPI: PPTT: Fix to avoid sleep in the atomic context when PPTT is absent 2023-03-14 20:34:38 +01:00
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 ACPI: processor: Fix uninitialized access of buf in acpi_set_pdc_bits() 2023-09-18 12:16:16 +02:00
processor_perflib.c ACPI: processor_perflib: extend X86 dependency 2024-11-05 21:40:22 +01:00
processor_thermal.c ACPI: processor: reduce CPUFREQ thermal reduction pctg for Tegra241 2023-12-06 20:52:47 +01:00
processor_throttling.c ACPI: processor: throttling: remove variable count 2022-10-28 19:02:45 +02:00
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 ACPI: SPCR: Amend indentation 2023-03-27 20:50:28 +02:00
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_lib.c module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
thermal.c module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
tiny-power-button.c ACPI: tiny-power-button: Eliminate the driver notify callback 2023-06-16 19:48:09 +02:00
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