linux/drivers/platform/x86
Armin Wolf 4186a47dbf
platform/x86: wmi: Decouple probe deferring from wmi_block_list
Many aggregate WMI drivers do not use -EPROBE_DEFER when they
cannot find a WMI device during probe, instead they require
all WMI devices associated with an platform device to become
available at once. This is currently achieved by adding those
WMI devices to the wmi_block_list before they are registered,
which is then used by the deprecated GUID-based functions to
search for WMI devices.

Replace this approach with a device link which defers probing
of the WMI device until the associated platform device has finished
probing (and has registered all WMI devices). New aggregate WMI
drivers should not rely on this behaviour.

Signed-off-by: Armin Wolf <W_Armin@gmx.de>
Link: https://lore.kernel.org/r/20231020211005.38216-2-W_Armin@gmx.de
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
2023-10-25 12:46:35 +03:00
..
amd platform/x86/amd/hsmp: Fix iomem handling 2023-10-25 12:29:44 +03:00
dell Merge remote-tracking branch 'pdx86/fixes' into pdx86/for-next 2023-08-23 17:30:50 +02:00
hp platform/x86: hp-bioscfg: Annotate struct bios_args with __counted_by 2023-09-26 16:00:56 +03:00
intel Merge branch 'pdx86/platform-drivers-x86-int3472' into review-ilpo 2023-10-06 15:58:30 +03:00
siemens platform/x86/siemens: simatic-ipc-batt-f7188x: Convert to platform remove callback returning void 2023-09-28 13:27:06 +03:00
x86-android-tablets platform/x86: x86-android-tablets: Fix Lenovo Yoga Tablet 2 830F/L vs 1050F/L detection 2023-09-21 18:31:18 +02:00
acer-wireless.c
acer-wmi.c platform/x86: acer-wmi: Remove void function return 2023-10-17 10:14:35 +03:00
acerhdf.c Thermal control updates for 6.4-rc1 2023-04-25 18:32:43 -07:00
adv_swbutton.c platform/x86: adv_swbutton: Convert to platform remove callback returning void 2023-03-07 12:19:26 +01:00
amilo-rfkill.c platform/x86: amilo-rfkill: Convert to platform remove callback returning void 2023-03-07 12:19:43 +01:00
apple-gmux.c platform/x86: apple-gmux: don't use be32_to_cpu and cpu_to_be32 2023-06-16 16:47:44 +02:00
asus-laptop.c ACPI: make remove callback of ACPI driver void 2022-11-23 19:11:22 +01:00
asus-nb-wmi.c platform/x86: asus-wmi: Do not report brightness up/down keys when also reported by acpi_video 2023-10-25 12:29:13 +03:00
asus-tf103c-dock.c platform/x86: asus-tf103c-dock: Switch back to use struct i2c_driver's .probe() 2023-06-13 12:32:45 +02:00
asus-wireless.c platform/x86: asus-wireless: Replace open coded acpi_match_acpi_device() 2023-10-12 16:34:09 +03:00
asus-wmi.c platform/x86: asus-wmi: add support for ASUS screenpad 2023-09-12 10:18:07 +02:00
asus-wmi.h platform/x86: asus-wmi: add support for ASUS screenpad 2023-09-12 10:18:07 +02:00
barco-p50-gpio.c platform/x86: barco-p50-gpio: Convert to platform remove callback returning void 2023-03-07 12:19:45 +01:00
classmate-laptop.c platform/x86: classmate: mark SPI related data as maybe unused 2023-03-16 16:10:54 +01:00
compal-laptop.c platform/x86: compal-laptop: Convert to platform remove callback returning void 2023-03-07 12:19:47 +01:00
dual_accel_detect.h
eeepc-laptop.c Fix nomenclature for USB and PCI wireless devices 2023-08-25 12:56:49 +03:00
eeepc-wmi.c
firmware_attributes_class.c
firmware_attributes_class.h
fujitsu-laptop.c ACPI: make remove callback of ACPI driver void 2022-11-23 19:11:22 +01:00
fujitsu-tablet.c ACPI: make remove callback of ACPI driver void 2022-11-23 19:11:22 +01:00
gigabyte-wmi.c platform/x86: gigabyte: constify pointers to hwmon_channel_info 2023-05-16 10:36:56 +02:00
gpd-pocket-fan.c
hdaps.c
huawei-wmi.c platform/x86: huawei-wmi: Silence ambient light sensor 2023-07-25 16:38:03 +02:00
ibm_rtl.c platform/x86: ibm_rtl: move to use bus_get_dev_root() 2023-03-17 15:29:06 +01:00
ideapad-laptop.c platform/x86: ideapad-laptop: Add support for keyboard backlights using KBLC ACPI symbol 2023-08-28 10:48:53 +02:00
ideapad-laptop.h platform/x86: Add driver for Yoga Tablet Mode switch 2023-04-06 12:33:34 +02:00
intel_ips.c
intel_ips.h
intel_scu_ipc.c drivers: remove struct module * setting from struct class 2023-03-17 15:16:27 +01:00
intel_scu_ipcutil.c
intel_scu_pcidrv.c platform/x86: intel_scu_pcidrv: Add back PCI ID for Medfield 2023-05-08 17:35:08 +02:00
intel_scu_pltdrv.c
intel_scu_wdt.c
Kconfig platform/x86: mlx-platform: Add dependency on PCI to Kconfig 2023-08-30 15:13:41 +02:00
lenovo-ymc.c platform/x86: lenovo-ymc: Add Lenovo Yoga 7 14ACN6 to ec_trigger_quirk_dmi_table 2023-08-21 13:08:32 +02:00
lenovo-yogabook.c platform/x86: lenovo-yogabook: Rename lenovo-yogabook-wmi to lenovo-yogabook 2023-05-09 12:36:09 +02:00
lg-laptop.c ACPI updates for 6.2-rc1 2022-12-12 13:38:17 -08:00
Makefile Immutable branch between pdx86 simatic branch and LED due for the v6.6 merge window 2023-07-31 16:05:44 +02:00
meraki-mx100.c
mlx-platform.c Merge branch 'pdx86/platform-drivers-x86-mellanox-init' into review-ilpo 2023-10-06 17:51:21 +03:00
msi-ec.c platform/x86: msi-ec: Add more EC configs 2023-10-09 16:06:42 +03:00
msi-ec.h platform/x86: msi-ec: rename fn_super_swap 2023-10-09 14:30:11 +03:00
msi-laptop.c platform/x86: msi-laptop: Fix rfkill out-of-sync on MSI Wind U100 2023-07-25 16:35:58 +02:00
msi-wmi.c
mxm-wmi.c platform/x86: mxm-wmi: fix memleak in mxm_wmi_call_mx[ds|mx]() 2022-12-08 16:32:12 +01:00
nvidia-wmi-ec-backlight.c platform/x86: nvidia-wmi-ec-backlight: Add force module parameter 2023-02-18 11:45:52 +01:00
p2sb.c
panasonic-laptop.c ACPI: make remove callback of ACPI driver void 2022-11-23 19:11:22 +01:00
pcengines-apuv2.c platform/x86: pcengines-apuv2: Drop platform:pcengines-apuv2 module-alias 2023-03-16 16:14:52 +01:00
pmc_atom.c
samsung-laptop.c
samsung-q10.c platform/x86: samsung-q10: Convert to platform remove callback returning void 2023-03-07 12:20:44 +01:00
sel3350-platform.c platform/x86: sel3350-platform: Convert to platform remove callback returning void 2023-09-28 13:26:58 +03:00
serial-multi-instantiate.c ACPI: scan: Create platform device for CS35L56 2023-07-31 16:03:39 +02:00
sony-laptop.c platform/x86: sony: mark SPI related data as maybe unused 2023-03-16 16:11:03 +01:00
system76_acpi.c platform/x86: system76: Handle new KBLED ACPI methods 2023-07-26 11:00:07 +02:00
think-lmi.c platform/x86: think-lmi: Use strreplace() to replace a character by nul 2023-09-21 18:31:19 +02:00
think-lmi.h platform/x86: think-lmi: Add bulk save feature 2023-09-21 18:29:29 +02:00
thinkpad_acpi.c platform/x86: thinkpad_acpi: replace deprecated strncpy with memcpy 2023-10-23 16:58:21 +03:00
topstar-laptop.c ACPI: make remove callback of ACPI driver void 2022-11-23 19:11:22 +01:00
toshiba_acpi.c platform/x86: toshiba: constify pointers to hwmon_channel_info 2023-05-16 10:36:56 +02:00
toshiba_bluetooth.c ACPI: make remove callback of ACPI driver void 2022-11-23 19:11:22 +01:00
toshiba_haps.c ACPI: make remove callback of ACPI driver void 2022-11-23 19:11:22 +01:00
toshiba-wmi.c
touchscreen_dmi.c platform/x86: touchscreen_dmi.c: small changes for Archos 101 Cesium Educ tablet 2023-07-14 15:58:38 +02:00
uv_sysfs.c x86/platform/uv: Make kobj_type structure constant 2023-02-10 17:24:37 +01:00
winmate-fm07-keys.c
wireless-hotkey.c ACPI updates for 6.2-rc1 2022-12-12 13:38:17 -08:00
wmi-bmof.c platform/x86: wmi-bmof: Simplify read_bmof() 2023-07-31 16:07:41 +02:00
wmi.c platform/x86: wmi: Decouple probe deferring from wmi_block_list 2023-10-25 12:46:35 +03:00
xiaomi-wmi.c
xo1-rfkill.c platform/x86: xo1-rfkill: Convert to platform remove callback returning void 2023-03-07 12:20:50 +01:00
xo15-ebook.c platform/x86: xo15-ebook: Replace open coded acpi_match_acpi_device() 2023-10-12 16:33:49 +03:00