All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/9] ACPI: use named initializers for acpi_device_id
@ 2026-07-27 12:10 Pawel Zalewski (The Capable Hub)
  2026-07-27 12:10 ` [PATCH 1/9] ACPI: use a named initializer " Pawel Zalewski (The Capable Hub)
                   ` (9 more replies)
  0 siblings, 10 replies; 20+ messages in thread
From: Pawel Zalewski (The Capable Hub) @ 2026-07-27 12:10 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown, Bjorn Helgaas, Zhang Rui,
	Kai-Heng Feng, Tony Luck, Borislav Petkov, Hanjun Guo,
	Mauro Carvalho Chehab, Shuai Xue, Lorenzo Pieralisi, Sudeep Holla,
	Catalin Marinas, Will Deacon, Dan Williams, Vishal Verma,
	Dave Jiang, Alison Schofield, Ira Weiny
  Cc: linux-acpi, linux-kernel, linux-pci, linux-arm-kernel, nvdimm,
	Pawel Zalewski (The Capable Hub)

This series is converting lists that contain the acpi_device_id 
struct, which is defined in the include/linux/device-id/acpi.h 
to makes use of named initializers (which they do not use currently).
This work is part of the on going effort in the kernel associated
with device-ids [1]

The plan is to convert acpi_device_id::driver_data to have an anonymous 
union, similarly to what was introduced for PCI and I2C device ID tables.
The goal is to increase type-safety (as most of the existing casts are gone), 
to improve readability and to make use intent a bit more clear:

```
union {
	kernel_ulong_t driver_data;
	const void *driver_data_ptr;
}
```

But for that to work all lists containing the structs need to use named
initializers first. I already have patches that implement this and touching
a lot of kernel subsystmes that use the acpi_device_id struct and that list
keeps on growing. Therefore, I have decided to split the series per every
subsystem into:
- pre-clean-ups that convert the lists to use named initializers
- actual implementations that make some of the modules use the new driver_data_ptr

That way the task can be fragmented into manageable and independent
chunks of work and makes this effort easier to review.

Tested builds on arm64 and x86-64 in Yocto on 7.2-rc5

[1] https://lore.kernel.org/all/cover.1780048925.git.u.kleine-koenig@baylibre.com/

Signed-off-by: Pawel Zalewski (The Capable Hub) <pzalewski@thegoodpenguin.co.uk>
---
Pawel Zalewski (The Capable Hub) (9):
      ACPI: use a named initializer for acpi_device_id
      ACPI: drop unused assignment of acpi_device_id::driver_data
      ACPI: pci: drop unused assignment of acpi_device_id::driver_data
      ACPI: ghes-nvidia: use a named initializer for acpi_device_id::id
      ACPI: amba: drop unused assignment of acpi_device_id::driver_data
      ACPI: dptf: drop unused assignment of acpi_device_id::driver_data
      ACPI: nfit: core: drop unused assignment of acpi_device_id::driver_data
      ACPI: x86: use a named initializer for acpi_device_id::id
      ACPI: use a named initializer for acpi_device_id::id

 drivers/acpi/ac.c                 |   4 +-
 drivers/acpi/acpi_apd.c           |  42 ++--
 drivers/acpi/acpi_memhotplug.c    |   4 +-
 drivers/acpi/acpi_pad.c           |   4 +-
 drivers/acpi/acpi_platform.c      |  13 +-
 drivers/acpi/acpi_pnp.c           | 514 +++++++++++++++++++-------------------
 drivers/acpi/acpi_processor.c     |   8 +-
 drivers/acpi/acpi_tad.c           |   4 +-
 drivers/acpi/acpi_video.c         |   2 +-
 drivers/acpi/apei/ghes-nvidia.c   |   2 +-
 drivers/acpi/arm64/amba.c         |   6 +-
 drivers/acpi/battery.c            |   8 +-
 drivers/acpi/button.c             |  12 +-
 drivers/acpi/container.c          |   8 +-
 drivers/acpi/dptf/dptf_pch_fivr.c |  14 +-
 drivers/acpi/dptf/dptf_power.c    |  38 +--
 drivers/acpi/ec.c                 |   6 +-
 drivers/acpi/evged.c              |   4 +-
 drivers/acpi/fan_core.c           |   2 +-
 drivers/acpi/hed.c                |   4 +-
 drivers/acpi/nfit/core.c          |   4 +-
 drivers/acpi/pci_link.c           |   4 +-
 drivers/acpi/pci_root.c           |   4 +-
 drivers/acpi/pfr_telemetry.c      |   4 +-
 drivers/acpi/pfr_update.c         |   4 +-
 drivers/acpi/processor_driver.c   |   6 +-
 drivers/acpi/sbs.c                |   4 +-
 drivers/acpi/sbshc.c              |   6 +-
 drivers/acpi/scan.c               |  46 ++--
 drivers/acpi/thermal.c            |   4 +-
 drivers/acpi/tiny-power-button.c  |   6 +-
 drivers/acpi/video_detect.c       |   4 +-
 drivers/acpi/x86/cmos_rtc.c       |   2 +-
 drivers/acpi/x86/lpss.c           |  54 ++--
 drivers/acpi/x86/s2idle.c         |  14 +-
 drivers/acpi/x86/utils.c          |  16 +-
 include/linux/acpi.h              |   8 +-
 37 files changed, 443 insertions(+), 446 deletions(-)
---
base-commit: 48a5a7ab8d6ab7090564339e039c421f315de912
change-id: 20260724-acpi-refactor-f4efc2f44203

Best regards,
--  
Pawel Zalewski (The Capable Hub) <pzalewski@thegoodpenguin.co.uk>


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [PATCH 1/9] ACPI: use a named initializer for acpi_device_id
  2026-07-27 12:10 [PATCH 0/9] ACPI: use named initializers for acpi_device_id Pawel Zalewski (The Capable Hub)
@ 2026-07-27 12:10 ` Pawel Zalewski (The Capable Hub)
  2026-07-27 12:17   ` sashiko-bot
  2026-07-27 12:10 ` [PATCH 2/9] ACPI: drop unused assignment of acpi_device_id::driver_data Pawel Zalewski (The Capable Hub)
                   ` (8 subsequent siblings)
  9 siblings, 1 reply; 20+ messages in thread
From: Pawel Zalewski (The Capable Hub) @ 2026-07-27 12:10 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown, Bjorn Helgaas, Zhang Rui,
	Kai-Heng Feng, Tony Luck, Borislav Petkov, Hanjun Guo,
	Mauro Carvalho Chehab, Shuai Xue, Lorenzo Pieralisi, Sudeep Holla,
	Catalin Marinas, Will Deacon, Dan Williams, Vishal Verma,
	Dave Jiang, Alison Schofield, Ira Weiny
  Cc: linux-acpi, linux-kernel, linux-pci, linux-arm-kernel, nvdimm,
	Pawel Zalewski (The Capable Hub)

Use a named initializer for the acpi_device_id fields which
makes the code more readable and consistent with how lists
are initialized in the rest of the kernel code base.

While we are at it - unify the list terminator to have
a single space between the brackets.

Signed-off-by: Pawel Zalewski (The Capable Hub) <pzalewski@thegoodpenguin.co.uk>
---
 drivers/acpi/acpi_apd.c       |  42 ++--
 drivers/acpi/acpi_platform.c  |  13 +-
 drivers/acpi/acpi_pnp.c       | 514 +++++++++++++++++++++---------------------
 drivers/acpi/acpi_processor.c |   8 +-
 drivers/acpi/acpi_video.c     |   2 +-
 drivers/acpi/button.c         |  12 +-
 drivers/acpi/evged.c          |   4 +-
 drivers/acpi/fan_core.c       |   2 +-
 drivers/acpi/pfr_telemetry.c  |   4 +-
 drivers/acpi/pfr_update.c     |   4 +-
 drivers/acpi/scan.c           |  46 ++--
 11 files changed, 325 insertions(+), 326 deletions(-)

diff --git a/drivers/acpi/acpi_apd.c b/drivers/acpi/acpi_apd.c
index 008bd0552cb7..e649c93129b9 100644
--- a/drivers/acpi/acpi_apd.c
+++ b/drivers/acpi/acpi_apd.c
@@ -242,29 +242,29 @@ static int acpi_apd_create_device(struct acpi_device *adev,
 static const struct acpi_device_id acpi_apd_device_ids[] = {
 	/* Generic apd devices */
 #ifdef CONFIG_X86_AMD_PLATFORM_DEVICE
-	{ "AMD0010", APD_ADDR(cz_i2c_desc) },
-	{ "AMD0020", APD_ADDR(cz_uart_desc) },
-	{ "AMD0030", },
-	{ "AMD0040", APD_ADDR(fch_misc_desc)},
-	{ "AMDI0010", APD_ADDR(wt_i2c_desc) },
-	{ "AMDI0015", APD_ADDR(wt_i3c_desc) },
-	{ "AMDI0019", APD_ADDR(wt_i2c_desc) },
-	{ "AMDI0020", APD_ADDR(cz_uart_desc) },
-	{ "AMDI0022", APD_ADDR(cz_uart_desc) },
-	{ "HYGO0010", APD_ADDR(wt_i2c_desc) },
+	{ .id = "AMD0010",	.driver_data = APD_ADDR(cz_i2c_desc) },
+	{ .id = "AMD0020",	.driver_data = APD_ADDR(cz_uart_desc) },
+	{ .id = "AMD0030" },
+	{ .id = "AMD0040",	.driver_data = APD_ADDR(fch_misc_desc) },
+	{ .id = "AMDI0010",	.driver_data = APD_ADDR(wt_i2c_desc) },
+	{ .id = "AMDI0015",	.driver_data = APD_ADDR(wt_i3c_desc) },
+	{ .id = "AMDI0019",	.driver_data = APD_ADDR(wt_i2c_desc) },
+	{ .id = "AMDI0020",	.driver_data = APD_ADDR(cz_uart_desc) },
+	{ .id = "AMDI0022",	.driver_data = APD_ADDR(cz_uart_desc) },
+	{ .id = "HYGO0010",	.driver_data = APD_ADDR(wt_i2c_desc) },
 #endif
 #ifdef CONFIG_ARM64
-	{ "APMC0D0F", APD_ADDR(xgene_i2c_desc) },
-	{ "BRCM900D", APD_ADDR(vulcan_spi_desc) },
-	{ "CAV900D",  APD_ADDR(vulcan_spi_desc) },
-	{ "CAV9007",  APD_ADDR(thunderx2_i2c_desc) },
-	{ "HISI02A1", APD_ADDR(hip07_i2c_desc) },
-	{ "HISI02A2", APD_ADDR(hip08_i2c_desc) },
-	{ "HISI02A3", APD_ADDR(hip08_lite_i2c_desc) },
-	{ "HISI0173", APD_ADDR(hip08_spi_desc) },
-	{ "LECA0002", APD_ADDR(leca_spi_desc) },
-	{ "LECA0003", APD_ADDR(leca_i2c_desc) },
-	{ "NXP0001", APD_ADDR(nxp_i2c_desc) },
+	{ .id = "APMC0D0F",	.driver_data = APD_ADDR(xgene_i2c_desc) },
+	{ .id = "BRCM900D",	.driver_data = APD_ADDR(vulcan_spi_desc) },
+	{ .id = "CAV900D",	.driver_data = APD_ADDR(vulcan_spi_desc) },
+	{ .id = "CAV9007",	.driver_data = APD_ADDR(thunderx2_i2c_desc) },
+	{ .id = "HISI02A1",	.driver_data = APD_ADDR(hip07_i2c_desc) },
+	{ .id = "HISI02A2",	.driver_data = APD_ADDR(hip08_i2c_desc) },
+	{ .id = "HISI02A3",	.driver_data = APD_ADDR(hip08_lite_i2c_desc) },
+	{ .id = "HISI0173",	.driver_data = APD_ADDR(hip08_spi_desc) },
+	{ .id = "LECA0002",	.driver_data = APD_ADDR(leca_spi_desc) },
+	{ .id = "LECA0003",	.driver_data = APD_ADDR(leca_i2c_desc) },
+	{ .id = "NXP0001",	.driver_data = APD_ADDR(nxp_i2c_desc) },
 #endif
 	{ }
 };
diff --git a/drivers/acpi/acpi_platform.c b/drivers/acpi/acpi_platform.c
index a09636a4168e..cf05b4889157 100644
--- a/drivers/acpi/acpi_platform.c
+++ b/drivers/acpi/acpi_platform.c
@@ -24,12 +24,13 @@
 #define ACPI_ALLOW_WO_RESOURCES		BIT(0)
 
 static const struct acpi_device_id forbidden_id_list[] = {
-	{"ACPI0009", 0},	/* IOxAPIC */
-	{"ACPI000A", 0},	/* IOAPIC */
-	{"PNP0000",  0},	/* PIC */
-	{"PNP0100",  0},	/* Timer */
-	{"PNP0200",  0},	/* AT DMA Controller */
-	{ACPI_SMBUS_MS_HID,  ACPI_ALLOW_WO_RESOURCES},	/* ACPI SMBUS virtual device */
+	{ .id = "ACPI0009" },	/* IOxAPIC */
+	{ .id = "ACPI000A" },	/* IOAPIC */
+	{ .id = "PNP0000" },	/* PIC */
+	{ .id = "PNP0100" },	/* Timer */
+	{ .id = "PNP0200" },	/* AT DMA Controller */
+	{ .id = ACPI_SMBUS_MS_HID, .driver_data = ACPI_ALLOW_WO_RESOURCES },
+							/* ACPI SMBUS virtual device */
 	{ }
 };
 
diff --git a/drivers/acpi/acpi_pnp.c b/drivers/acpi/acpi_pnp.c
index da886923b008..bbacbd03d06a 100644
--- a/drivers/acpi/acpi_pnp.c
+++ b/drivers/acpi/acpi_pnp.c
@@ -15,293 +15,293 @@
 
 static const struct acpi_device_id acpi_pnp_device_ids[] = {
 	/* pata_isapnp */
-	{"PNP0600"},		/* Generic ESDI/IDE/ATA compatible hard disk controller */
+	{ .id = "PNP0600" },	/* Generic ESDI/IDE/ATA compatible hard disk controller */
 	/* floppy */
-	{"PNP0700"},
+	{ .id = "PNP0700" },
 	/* tpm_inf_pnp */
-	{"IFX0101"},		/* Infineon TPMs */
-	{"IFX0102"},		/* Infineon TPMs */
+	{ .id = "IFX0101" },	/* Infineon TPMs */
+	{ .id = "IFX0102" },	/* Infineon TPMs */
 	/*tpm_tis */
-	{"PNP0C31"},		/* TPM */
-	{"ATM1200"},		/* Atmel */
-	{"IFX0102"},		/* Infineon */
-	{"BCM0101"},		/* Broadcom */
-	{"BCM0102"},		/* Broadcom */
-	{"NSC1200"},		/* National */
-	{"ICO0102"},		/* Intel */
+	{ .id = "PNP0C31" },	/* TPM */
+	{ .id = "ATM1200" },	/* Atmel */
+	{ .id = "IFX0102" },	/* Infineon */
+	{ .id = "BCM0101" },	/* Broadcom */
+	{ .id = "BCM0102" },	/* Broadcom */
+	{ .id = "NSC1200" },	/* National */
+	{ .id = "ICO0102" },	/* Intel */
 	/* ide   */
-	{"PNP0600"},		/* Generic ESDI/IDE/ATA compatible hard disk controller */
+	{ .id = "PNP0600" },	/* Generic ESDI/IDE/ATA compatible hard disk controller */
 	/* ns558 */
-	{"ASB16fd"},		/* AdLib NSC16 */
-	{"AZT3001"},		/* AZT1008 */
-	{"CDC0001"},		/* Opl3-SAx */
-	{"CSC0001"},		/* CS4232 */
-	{"CSC000f"},		/* CS4236 */
-	{"CSC0101"},		/* CS4327 */
-	{"CTL7001"},		/* SB16 */
-	{"CTL7002"},		/* AWE64 */
-	{"CTL7005"},		/* Vibra16 */
-	{"ENS2020"},		/* SoundscapeVIVO */
-	{"ESS0001"},		/* ES1869 */
-	{"ESS0005"},		/* ES1878 */
-	{"ESS6880"},		/* ES688 */
-	{"IBM0012"},		/* CS4232 */
-	{"OPT0001"},		/* OPTi Audio16 */
-	{"YMH0006"},		/* Opl3-SA */
-	{"YMH0022"},		/* Opl3-SAx */
-	{"PNPb02f"},		/* Generic */
+	{ .id = "ASB16fd" },	/* AdLib NSC16 */
+	{ .id = "AZT3001" },	/* AZT1008 */
+	{ .id = "CDC0001" },	/* Opl3-SAx */
+	{ .id = "CSC0001" },	/* CS4232 */
+	{ .id = "CSC000f" },	/* CS4236 */
+	{ .id = "CSC0101" },	/* CS4327 */
+	{ .id = "CTL7001" },	/* SB16 */
+	{ .id = "CTL7002" },	/* AWE64 */
+	{ .id = "CTL7005" },	/* Vibra16 */
+	{ .id = "ENS2020" },	/* SoundscapeVIVO */
+	{ .id = "ESS0001" },	/* ES1869 */
+	{ .id = "ESS0005" },	/* ES1878 */
+	{ .id = "ESS6880" },	/* ES688 */
+	{ .id = "IBM0012" },	/* CS4232 */
+	{ .id = "OPT0001" },	/* OPTi Audio16 */
+	{ .id = "YMH0006" },	/* Opl3-SA */
+	{ .id = "YMH0022" },	/* Opl3-SAx */
+	{ .id = "PNPb02f" },	/* Generic */
 	/* i8042 kbd */
-	{"PNP0300"},
-	{"PNP0301"},
-	{"PNP0302"},
-	{"PNP0303"},
-	{"PNP0304"},
-	{"PNP0305"},
-	{"PNP0306"},
-	{"PNP0309"},
-	{"PNP030a"},
-	{"PNP030b"},
-	{"PNP0320"},
-	{"PNP0343"},
-	{"PNP0344"},
-	{"PNP0345"},
-	{"CPQA0D7"},
+	{ .id = "PNP0300" },
+	{ .id = "PNP0301" },
+	{ .id = "PNP0302" },
+	{ .id = "PNP0303" },
+	{ .id = "PNP0304" },
+	{ .id = "PNP0305" },
+	{ .id = "PNP0306" },
+	{ .id = "PNP0309" },
+	{ .id = "PNP030a" },
+	{ .id = "PNP030b" },
+	{ .id = "PNP0320" },
+	{ .id = "PNP0343" },
+	{ .id = "PNP0344" },
+	{ .id = "PNP0345" },
+	{ .id = "CPQA0D7" },
 	/* i8042 aux */
-	{"AUI0200"},
-	{"FJC6000"},
-	{"FJC6001"},
-	{"PNP0f03"},
-	{"PNP0f0b"},
-	{"PNP0f0e"},
-	{"PNP0f12"},
-	{"PNP0f13"},
-	{"PNP0f19"},
-	{"PNP0f1c"},
-	{"SYN0801"},
+	{ .id = "AUI0200" },
+	{ .id = "FJC6000" },
+	{ .id = "FJC6001" },
+	{ .id = "PNP0f03" },
+	{ .id = "PNP0f0b" },
+	{ .id = "PNP0f0e" },
+	{ .id = "PNP0f12" },
+	{ .id = "PNP0f13" },
+	{ .id = "PNP0f19" },
+	{ .id = "PNP0f1c" },
+	{ .id = "SYN0801" },
 	/* fcpnp */
-	{"AVM0900"},
+	{ .id = "AVM0900" },
 	/* radio-cadet */
-	{"MSM0c24"},		/* ADS Cadet AM/FM Radio Card */
+	{ .id = "MSM0c24" },	/* ADS Cadet AM/FM Radio Card */
 	/* radio-gemtek */
-	{"ADS7183"},		/* AOpen FX-3D/Pro Radio */
+	{ .id = "ADS7183" },	/* AOpen FX-3D/Pro Radio */
 	/* radio-sf16fmr2 */
-	{"MFRad13"},		/* tuner subdevice of SF16-FMD2 */
+	{ .id = "MFRad13" },	/* tuner subdevice of SF16-FMD2 */
 	/* ene_ir */
-	{"ENE0100"},
-	{"ENE0200"},
-	{"ENE0201"},
-	{"ENE0202"},
+	{ .id = "ENE0100" },
+	{ .id = "ENE0200" },
+	{ .id = "ENE0201" },
+	{ .id = "ENE0202" },
 	/* fintek-cir */
-	{"FIT0002"},		/* CIR */
+	{ .id = "FIT0002" },	/* CIR */
 	/* ite-cir */
-	{"ITE8704"},		/* Default model */
-	{"ITE8713"},		/* CIR found in EEEBox 1501U */
-	{"ITE8708"},		/* Bridged IT8512 */
-	{"ITE8709"},		/* SRAM-Bridged IT8512 */
+	{ .id = "ITE8704" },	/* Default model */
+	{ .id = "ITE8713" },	/* CIR found in EEEBox 1501U */
+	{ .id = "ITE8708" },	/* Bridged IT8512 */
+	{ .id = "ITE8709" },	/* SRAM-Bridged IT8512 */
 	/* nuvoton-cir */
-	{"WEC0530"},		/* CIR */
-	{"NTN0530"},		/* CIR for new chip's pnp id */
+	{ .id = "WEC0530" },	/* CIR */
+	{ .id = "NTN0530" },	/* CIR for new chip's pnp id */
 	/* Winbond CIR */
-	{"WEC1022"},
+	{ .id = "WEC1022" },
 	/* wbsd */
-	{"WEC0517"},
-	{"WEC0518"},
+	{ .id = "WEC0517" },
+	{ .id = "WEC0518" },
 	/* Winbond CIR */
-	{"TCM5090"},		/* 3Com Etherlink III (TP) */
-	{"TCM5091"},		/* 3Com Etherlink III */
-	{"TCM5094"},		/* 3Com Etherlink III (combo) */
-	{"TCM5095"},		/* 3Com Etherlink III (TPO) */
-	{"TCM5098"},		/* 3Com Etherlink III (TPC) */
-	{"PNP80f7"},		/* 3Com Etherlink III compatible */
-	{"PNP80f8"},		/* 3Com Etherlink III compatible */
+	{ .id = "TCM5090" },	/* 3Com Etherlink III (TP) */
+	{ .id = "TCM5091" },	/* 3Com Etherlink III */
+	{ .id = "TCM5094" },	/* 3Com Etherlink III (combo) */
+	{ .id = "TCM5095" },	/* 3Com Etherlink III (TPO) */
+	{ .id = "TCM5098" },	/* 3Com Etherlink III (TPC) */
+	{ .id = "PNP80f7" },	/* 3Com Etherlink III compatible */
+	{ .id = "PNP80f8" },	/* 3Com Etherlink III compatible */
 	/* nsc-ircc */
-	{"NSC6001"},
-	{"HWPC224"},
-	{"IBM0071"},
+	{ .id = "NSC6001" },
+	{ .id = "HWPC224" },
+	{ .id = "IBM0071" },
 	/* smsc-ircc2 */
-	{"SMCf010"},
+	{ .id = "SMCf010" },
 	/* parport_pc */
-	{"PNP0400"},		/* Standard LPT Printer Port */
-	{"PNP0401"},		/* ECP Printer Port */
+	{ .id = "PNP0400" },	/* Standard LPT Printer Port */
+	{ .id = "PNP0401" },	/* ECP Printer Port */
 	/* apple-gmux */
-	{"APP000B"},
+	{ .id = "APP000B" },
 	/* c6xdigio */
-	{"PNP0400"},		/* Standard LPT Printer Port */
-	{"PNP0401"},		/* ECP Printer Port */
+	{ .id = "PNP0400" },	/* Standard LPT Printer Port */
+	{ .id = "PNP0401" },	/* ECP Printer Port */
 	/* ni_atmio.c */
-	{"NIC1900"},
-	{"NIC2400"},
-	{"NIC2500"},
-	{"NIC2600"},
-	{"NIC2700"},
+	{ .id = "NIC1900" },
+	{ .id = "NIC2400" },
+	{ .id = "NIC2500" },
+	{ .id = "NIC2600" },
+	{ .id = "NIC2700" },
 	/* serial */
-	{"AAC000F"},		/* Archtek America Corp. Archtek SmartLink Modem 3334BT Plug & Play */
-	{"ADC0001"},		/* Anchor Datacomm BV. SXPro 144 External Data Fax Modem Plug & Play */
-	{"ADC0002"},		/* SXPro 288 External Data Fax Modem Plug & Play */
-	{"AEI0250"},		/* PROLiNK 1456VH ISA PnP K56flex Fax Modem */
-	{"AEI1240"},		/* Actiontec ISA PNP 56K X2 Fax Modem */
-	{"AKY1021"},		/* Rockwell 56K ACF II Fax+Data+Voice Modem */
-	{"ALI5123"},		/* ALi Fast Infrared Controller */
-	{"AZT4001"},		/* AZT3005 PnP SOUND DEVICE */
-	{"BDP3336"},		/* Best Data Products Inc. Smart One 336F PnP Modem */
-	{"BRI0A49"},		/* Boca Complete Ofc Communicator 14.4 Data-FAX */
-	{"BRI1400"},		/* Boca Research 33,600 ACF Modem */
-	{"BRI3400"},		/* Boca 33.6 Kbps Internal FD34FSVD */
-	{"CPI4050"},		/* Computer Peripherals Inc. EuroViVa CommCenter-33.6 SP PnP */
-	{"CTL3001"},		/* Creative Labs Phone Blaster 28.8 DSVD PnP Voice */
-	{"CTL3011"},		/* Creative Labs Modem Blaster 28.8 DSVD PnP Voice */
-	{"DAV0336"},		/* Davicom ISA 33.6K Modem */
-	{"DMB1032"},		/* Creative Modem Blaster Flash56 DI5601-1 */
-	{"DMB2001"},		/* Creative Modem Blaster V.90 DI5660 */
-	{"ETT0002"},		/* E-Tech CyberBULLET PC56RVP */
-	{"FUJ0202"},		/* Fujitsu 33600 PnP-I2 R Plug & Play */
-	{"FUJ0205"},		/* Fujitsu FMV-FX431 Plug & Play */
-	{"FUJ0206"},		/* Fujitsu 33600 PnP-I4 R Plug & Play */
-	{"FUJ0209"},		/* Fujitsu Fax Voice 33600 PNP-I5 R Plug & Play */
-	{"GVC000F"},		/* Archtek SmartLink Modem 3334BT Plug & Play */
-	{"GVC0303"},		/* Archtek SmartLink Modem 3334BRV 33.6K Data Fax Voice */
-	{"HAY0001"},		/* Hayes Optima 288 V.34-V.FC + FAX + Voice Plug & Play */
-	{"HAY000C"},		/* Hayes Optima 336 V.34 + FAX + Voice PnP */
-	{"HAY000D"},		/* Hayes Optima 336B V.34 + FAX + Voice PnP */
-	{"HAY5670"},		/* Hayes Accura 56K Ext Fax Modem PnP */
-	{"HAY5674"},		/* Hayes Accura 56K Ext Fax Modem PnP */
-	{"HAY5675"},		/* Hayes Accura 56K Fax Modem PnP */
-	{"HAYF000"},		/* Hayes 288, V.34 + FAX */
-	{"HAYF001"},		/* Hayes Optima 288 V.34 + FAX + Voice, Plug & Play */
-	{"IBM0033"},		/* IBM Thinkpad 701 Internal Modem Voice */
-	{"PNP4972"},		/* Intermec CV60 touchscreen port */
-	{"IXDC801"},		/* Intertex 28k8 33k6 Voice EXT PnP */
-	{"IXDC901"},		/* Intertex 33k6 56k Voice EXT PnP */
-	{"IXDD801"},		/* Intertex 28k8 33k6 Voice SP EXT PnP */
-	{"IXDD901"},		/* Intertex 33k6 56k Voice SP EXT PnP */
-	{"IXDF401"},		/* Intertex 28k8 33k6 Voice SP INT PnP */
-	{"IXDF801"},		/* Intertex 28k8 33k6 Voice SP EXT PnP */
-	{"IXDF901"},		/* Intertex 33k6 56k Voice SP EXT PnP */
-	{"KOR4522"},		/* KORTEX 28800 Externe PnP */
-	{"KORF661"},		/* KXPro 33.6 Vocal ASVD PnP */
-	{"LAS4040"},		/* LASAT Internet 33600 PnP */
-	{"LAS4540"},		/* Lasat Safire 560 PnP */
-	{"LAS5440"},		/* Lasat Safire 336  PnP */
-	{"MNP0281"},		/* Microcom TravelPorte FAST V.34 Plug & Play */
-	{"MNP0336"},		/* Microcom DeskPorte V.34 FAST or FAST+ Plug & Play */
-	{"MNP0339"},		/* Microcom DeskPorte FAST EP 28.8 Plug & Play */
-	{"MNP0342"},		/* Microcom DeskPorte 28.8P Plug & Play */
-	{"MNP0500"},		/* Microcom DeskPorte FAST ES 28.8 Plug & Play */
-	{"MNP0501"},		/* Microcom DeskPorte FAST ES 28.8 Plug & Play */
-	{"MNP0502"},		/* Microcom DeskPorte 28.8S Internal Plug & Play */
-	{"MOT1105"},		/* Motorola BitSURFR Plug & Play */
-	{"MOT1111"},		/* Motorola TA210 Plug & Play */
-	{"MOT1114"},		/* Motorola HMTA 200 (ISDN) Plug & Play */
-	{"MOT1115"},		/* Motorola BitSURFR Plug & Play */
-	{"MOT1190"},		/* Motorola Lifestyle 28.8 Internal */
-	{"MOT1501"},		/* Motorola V.3400 Plug & Play */
-	{"MOT1502"},		/* Motorola Lifestyle 28.8 V.34 Plug & Play */
-	{"MOT1505"},		/* Motorola Power 28.8 V.34 Plug & Play */
-	{"MOT1509"},		/* Motorola ModemSURFR External 28.8 Plug & Play */
-	{"MOT150A"},		/* Motorola Premier 33.6 Desktop Plug & Play */
-	{"MOT150F"},		/* Motorola VoiceSURFR 56K External PnP */
-	{"MOT1510"},		/* Motorola ModemSURFR 56K External PnP */
-	{"MOT1550"},		/* Motorola ModemSURFR 56K Internal PnP */
-	{"MOT1560"},		/* Motorola ModemSURFR Internal 28.8 Plug & Play */
-	{"MOT1580"},		/* Motorola Premier 33.6 Internal Plug & Play */
-	{"MOT15B0"},		/* Motorola OnlineSURFR 28.8 Internal Plug & Play */
-	{"MOT15F0"},		/* Motorola VoiceSURFR 56K Internal PnP */
-	{"MVX00A1"},		/*  Deskline K56 Phone System PnP */
-	{"MVX00F2"},		/* PC Rider K56 Phone System PnP */
-	{"nEC8241"},		/* NEC 98NOTE SPEAKER PHONE FAX MODEM(33600bps) */
-	{"PMC2430"},		/* Pace 56 Voice Internal Plug & Play Modem */
-	{"PNP0500"},		/* Generic standard PC COM port     */
-	{"PNP0501"},		/* Generic 16550A-compatible COM port */
-	{"PNPC000"},		/* Compaq 14400 Modem */
-	{"PNPC001"},		/* Compaq 2400/9600 Modem */
-	{"PNPC031"},		/* Dial-Up Networking Serial Cable between 2 PCs */
-	{"PNPC032"},		/* Dial-Up Networking Parallel Cable between 2 PCs */
-	{"PNPC100"},		/* Standard 9600 bps Modem */
-	{"PNPC101"},		/* Standard 14400 bps Modem */
-	{"PNPC102"},		/*  Standard 28800 bps Modem */
-	{"PNPC103"},		/*  Standard Modem */
-	{"PNPC104"},		/*  Standard 9600 bps Modem */
-	{"PNPC105"},		/*  Standard 14400 bps Modem */
-	{"PNPC106"},		/*  Standard 28800 bps Modem */
-	{"PNPC107"},		/*  Standard Modem */
-	{"PNPC108"},		/* Standard 9600 bps Modem */
-	{"PNPC109"},		/* Standard 14400 bps Modem */
-	{"PNPC10A"},		/* Standard 28800 bps Modem */
-	{"PNPC10B"},		/* Standard Modem */
-	{"PNPC10C"},		/* Standard 9600 bps Modem */
-	{"PNPC10D"},		/* Standard 14400 bps Modem */
-	{"PNPC10E"},		/* Standard 28800 bps Modem */
-	{"PNPC10F"},		/* Standard Modem */
-	{"PNP2000"},		/* Standard PCMCIA Card Modem */
-	{"ROK0030"},		/* Rockwell 33.6 DPF Internal PnP, Modular Technology 33.6 Internal PnP */
-	{"ROK0100"},		/* KORTEX 14400 Externe PnP */
-	{"ROK4120"},		/* Rockwell 28.8 */
-	{"ROK4920"},		/* Viking 28.8 INTERNAL Fax+Data+Voice PnP */
-	{"RSS00A0"},		/* Rockwell 33.6 DPF External PnP, BT Prologue 33.6 External PnP, Modular Technology 33.6 External PnP */
-	{"RSS0262"},		/* Viking 56K FAX INT */
-	{"RSS0250"},		/* K56 par,VV,Voice,Speakphone,AudioSpan,PnP */
-	{"SUP1310"},		/* SupraExpress 28.8 Data/Fax PnP modem */
-	{"SUP1381"},		/* SupraExpress 336i PnP Voice Modem */
-	{"SUP1421"},		/* SupraExpress 33.6 Data/Fax PnP modem */
-	{"SUP1590"},		/* SupraExpress 33.6 Data/Fax PnP modem */
-	{"SUP1620"},		/* SupraExpress 336i Sp ASVD */
-	{"SUP1760"},		/* SupraExpress 33.6 Data/Fax PnP modem */
-	{"SUP2171"},		/* SupraExpress 56i Sp Intl */
-	{"TEX0011"},		/* Phoebe Micro 33.6 Data Fax 1433VQH Plug & Play */
-	{"UAC000F"},		/* Archtek SmartLink Modem 3334BT Plug & Play */
-	{"USR0000"},		/* 3Com Corp. Gateway Telepath IIvi 33.6 */
-	{"USR0002"},		/* U.S. Robotics Sporster 33.6K Fax INT PnP */
-	{"USR0004"},		/*  Sportster Vi 14.4 PnP FAX Voicemail */
-	{"USR0006"},		/* U.S. Robotics 33.6K Voice INT PnP */
-	{"USR0007"},		/* U.S. Robotics 33.6K Voice EXT PnP */
-	{"USR0009"},		/* U.S. Robotics Courier V.Everything INT PnP */
-	{"USR2002"},		/* U.S. Robotics 33.6K Voice INT PnP */
-	{"USR2070"},		/* U.S. Robotics 56K Voice INT PnP */
-	{"USR2080"},		/* U.S. Robotics 56K Voice EXT PnP */
-	{"USR3031"},		/* U.S. Robotics 56K FAX INT */
-	{"USR3050"},		/* U.S. Robotics 56K FAX INT */
-	{"USR3070"},		/* U.S. Robotics 56K Voice INT PnP */
-	{"USR3080"},		/* U.S. Robotics 56K Voice EXT PnP */
-	{"USR3090"},		/* U.S. Robotics 56K Voice INT PnP */
-	{"USR9100"},		/* U.S. Robotics 56K Message  */
-	{"USR9160"},		/* U.S. Robotics 56K FAX EXT PnP */
-	{"USR9170"},		/* U.S. Robotics 56K FAX INT PnP */
-	{"USR9180"},		/* U.S. Robotics 56K Voice EXT PnP */
-	{"USR9190"},		/* U.S. Robotics 56K Voice INT PnP */
-	{"WACFXXX"},		/* Wacom tablets */
-	{"FPI2002"},		/* Compaq touchscreen */
-	{"FUJ02B2"},		/* Fujitsu Stylistic touchscreens */
-	{"FUJ02B3"},
-	{"FUJ02B4"},		/* Fujitsu Stylistic LT touchscreens */
-	{"FUJ02B6"},		/* Passive Fujitsu Stylistic touchscreens */
-	{"FUJ02B7"},
-	{"FUJ02B8"},
-	{"FUJ02B9"},
-	{"FUJ02BC"},
-	{"FUJ02E5"},		/* Fujitsu Wacom Tablet PC device */
-	{"FUJ02E6"},		/* Fujitsu P-series tablet PC device */
-	{"FUJ02E7"},		/* Fujitsu Wacom 2FGT Tablet PC device */
-	{"FUJ02E9"},		/* Fujitsu Wacom 1FGT Tablet PC device */
-	{"LTS0001"},		/* LG C1 EXPRESS DUAL (C1-PB11A3) touch screen (actually a FUJ02E6 in disguise) */
-	{"WCI0003"},		/* Rockwell's (PORALiNK) 33600 INT PNP */
-	{"WEC1022"},		/* Winbond CIR port, should not be probed. We should keep track of it to prevent the legacy serial driver from probing it */
+	{ .id = "AAC000F" },	/* Archtek America Corp. Archtek SmartLink Modem 3334BT Plug & Play */
+	{ .id = "ADC0001" },	/* Anchor Datacomm BV. SXPro 144 External Data Fax Modem Plug & Play */
+	{ .id = "ADC0002" },	/* SXPro 288 External Data Fax Modem Plug & Play */
+	{ .id = "AEI0250" },	/* PROLiNK 1456VH ISA PnP K56flex Fax Modem */
+	{ .id = "AEI1240" },	/* Actiontec ISA PNP 56K X2 Fax Modem */
+	{ .id = "AKY1021" },	/* Rockwell 56K ACF II Fax+Data+Voice Modem */
+	{ .id = "ALI5123" },	/* ALi Fast Infrared Controller */
+	{ .id = "AZT4001" },	/* AZT3005 PnP SOUND DEVICE */
+	{ .id = "BDP3336" },	/* Best Data Products Inc. Smart One 336F PnP Modem */
+	{ .id = "BRI0A49" },	/* Boca Complete Ofc Communicator 14.4 Data-FAX */
+	{ .id = "BRI1400" },	/* Boca Research 33,600 ACF Modem */
+	{ .id = "BRI3400" },	/* Boca 33.6 Kbps Internal FD34FSVD */
+	{ .id = "CPI4050" },	/* Computer Peripherals Inc. EuroViVa CommCenter-33.6 SP PnP */
+	{ .id = "CTL3001" },	/* Creative Labs Phone Blaster 28.8 DSVD PnP Voice */
+	{ .id = "CTL3011" },	/* Creative Labs Modem Blaster 28.8 DSVD PnP Voice */
+	{ .id = "DAV0336" },	/* Davicom ISA 33.6K Modem */
+	{ .id = "DMB1032" },	/* Creative Modem Blaster Flash56 DI5601-1 */
+	{ .id = "DMB2001" },	/* Creative Modem Blaster V.90 DI5660 */
+	{ .id = "ETT0002" },	/* E-Tech CyberBULLET PC56RVP */
+	{ .id = "FUJ0202" },	/* Fujitsu 33600 PnP-I2 R Plug & Play */
+	{ .id = "FUJ0205" },	/* Fujitsu FMV-FX431 Plug & Play */
+	{ .id = "FUJ0206" },	/* Fujitsu 33600 PnP-I4 R Plug & Play */
+	{ .id = "FUJ0209" },	/* Fujitsu Fax Voice 33600 PNP-I5 R Plug & Play */
+	{ .id = "GVC000F" },	/* Archtek SmartLink Modem 3334BT Plug & Play */
+	{ .id = "GVC0303" },	/* Archtek SmartLink Modem 3334BRV 33.6K Data Fax Voice */
+	{ .id = "HAY0001" },	/* Hayes Optima 288 V.34-V.FC + FAX + Voice Plug & Play */
+	{ .id = "HAY000C" },	/* Hayes Optima 336 V.34 + FAX + Voice PnP */
+	{ .id = "HAY000D" },	/* Hayes Optima 336B V.34 + FAX + Voice PnP */
+	{ .id = "HAY5670" },	/* Hayes Accura 56K Ext Fax Modem PnP */
+	{ .id = "HAY5674" },	/* Hayes Accura 56K Ext Fax Modem PnP */
+	{ .id = "HAY5675" },	/* Hayes Accura 56K Fax Modem PnP */
+	{ .id = "HAYF000" },	/* Hayes 288, V.34 + FAX */
+	{ .id = "HAYF001" },	/* Hayes Optima 288 V.34 + FAX + Voice, Plug & Play */
+	{ .id = "IBM0033" },	/* IBM Thinkpad 701 Internal Modem Voice */
+	{ .id = "PNP4972" },	/* Intermec CV60 touchscreen port */
+	{ .id = "IXDC801" },	/* Intertex 28k8 33k6 Voice EXT PnP */
+	{ .id = "IXDC901" },	/* Intertex 33k6 56k Voice EXT PnP */
+	{ .id = "IXDD801" },	/* Intertex 28k8 33k6 Voice SP EXT PnP */
+	{ .id = "IXDD901" },	/* Intertex 33k6 56k Voice SP EXT PnP */
+	{ .id = "IXDF401" },	/* Intertex 28k8 33k6 Voice SP INT PnP */
+	{ .id = "IXDF801" },	/* Intertex 28k8 33k6 Voice SP EXT PnP */
+	{ .id = "IXDF901" },	/* Intertex 33k6 56k Voice SP EXT PnP */
+	{ .id = "KOR4522" },	/* KORTEX 28800 Externe PnP */
+	{ .id = "KORF661" },	/* KXPro 33.6 Vocal ASVD PnP */
+	{ .id = "LAS4040" },	/* LASAT Internet 33600 PnP */
+	{ .id = "LAS4540" },	/* Lasat Safire 560 PnP */
+	{ .id = "LAS5440" },	/* Lasat Safire 336  PnP */
+	{ .id = "MNP0281" },	/* Microcom TravelPorte FAST V.34 Plug & Play */
+	{ .id = "MNP0336" },	/* Microcom DeskPorte V.34 FAST or FAST+ Plug & Play */
+	{ .id = "MNP0339" },	/* Microcom DeskPorte FAST EP 28.8 Plug & Play */
+	{ .id = "MNP0342" },	/* Microcom DeskPorte 28.8P Plug & Play */
+	{ .id = "MNP0500" },	/* Microcom DeskPorte FAST ES 28.8 Plug & Play */
+	{ .id = "MNP0501" },	/* Microcom DeskPorte FAST ES 28.8 Plug & Play */
+	{ .id = "MNP0502" },	/* Microcom DeskPorte 28.8S Internal Plug & Play */
+	{ .id = "MOT1105" },	/* Motorola BitSURFR Plug & Play */
+	{ .id = "MOT1111" },	/* Motorola TA210 Plug & Play */
+	{ .id = "MOT1114" },	/* Motorola HMTA 200 (ISDN) Plug & Play */
+	{ .id = "MOT1115" },	/* Motorola BitSURFR Plug & Play */
+	{ .id = "MOT1190" },	/* Motorola Lifestyle 28.8 Internal */
+	{ .id = "MOT1501" },	/* Motorola V.3400 Plug & Play */
+	{ .id = "MOT1502" },	/* Motorola Lifestyle 28.8 V.34 Plug & Play */
+	{ .id = "MOT1505" },	/* Motorola Power 28.8 V.34 Plug & Play */
+	{ .id = "MOT1509" },	/* Motorola ModemSURFR External 28.8 Plug & Play */
+	{ .id = "MOT150A" },	/* Motorola Premier 33.6 Desktop Plug & Play */
+	{ .id = "MOT150F" },	/* Motorola VoiceSURFR 56K External PnP */
+	{ .id = "MOT1510" },	/* Motorola ModemSURFR 56K External PnP */
+	{ .id = "MOT1550" },	/* Motorola ModemSURFR 56K Internal PnP */
+	{ .id = "MOT1560" },	/* Motorola ModemSURFR Internal 28.8 Plug & Play */
+	{ .id = "MOT1580" },	/* Motorola Premier 33.6 Internal Plug & Play */
+	{ .id = "MOT15B0" },	/* Motorola OnlineSURFR 28.8 Internal Plug & Play */
+	{ .id = "MOT15F0" },	/* Motorola VoiceSURFR 56K Internal PnP */
+	{ .id = "MVX00A1" },	/*  Deskline K56 Phone System PnP */
+	{ .id = "MVX00F2" },	/* PC Rider K56 Phone System PnP */
+	{ .id = "nEC8241" },	/* NEC 98NOTE SPEAKER PHONE FAX MODEM(33600bps) */
+	{ .id = "PMC2430" },	/* Pace 56 Voice Internal Plug & Play Modem */
+	{ .id = "PNP0500" },	/* Generic standard PC COM port     */
+	{ .id = "PNP0501" },	/* Generic 16550A-compatible COM port */
+	{ .id = "PNPC000" },	/* Compaq 14400 Modem */
+	{ .id = "PNPC001" },	/* Compaq 2400/9600 Modem */
+	{ .id = "PNPC031" },	/* Dial-Up Networking Serial Cable between 2 PCs */
+	{ .id = "PNPC032" },	/* Dial-Up Networking Parallel Cable between 2 PCs */
+	{ .id = "PNPC100" },	/* Standard 9600 bps Modem */
+	{ .id = "PNPC101" },	/* Standard 14400 bps Modem */
+	{ .id = "PNPC102" },	/*  Standard 28800 bps Modem */
+	{ .id = "PNPC103" },	/*  Standard Modem */
+	{ .id = "PNPC104" },	/*  Standard 9600 bps Modem */
+	{ .id = "PNPC105" },	/*  Standard 14400 bps Modem */
+	{ .id = "PNPC106" },	/*  Standard 28800 bps Modem */
+	{ .id = "PNPC107" },	/*  Standard Modem */
+	{ .id = "PNPC108" },	/* Standard 9600 bps Modem */
+	{ .id = "PNPC109" },	/* Standard 14400 bps Modem */
+	{ .id = "PNPC10A" },	/* Standard 28800 bps Modem */
+	{ .id = "PNPC10B" },	/* Standard Modem */
+	{ .id = "PNPC10C" },	/* Standard 9600 bps Modem */
+	{ .id = "PNPC10D" },	/* Standard 14400 bps Modem */
+	{ .id = "PNPC10E" },	/* Standard 28800 bps Modem */
+	{ .id = "PNPC10F" },	/* Standard Modem */
+	{ .id = "PNP2000" },	/* Standard PCMCIA Card Modem */
+	{ .id = "ROK0030" },	/* Rockwell 33.6 DPF Internal PnP, Modular Technology 33.6 Internal PnP */
+	{ .id = "ROK0100" },	/* KORTEX 14400 Externe PnP */
+	{ .id = "ROK4120" },	/* Rockwell 28.8 */
+	{ .id = "ROK4920" },	/* Viking 28.8 INTERNAL Fax+Data+Voice PnP */
+	{ .id = "RSS00A0" },	/* Rockwell 33.6 DPF External PnP, BT Prologue 33.6 External PnP, Modular Technology 33.6 External PnP */
+	{ .id = "RSS0262" },	/* Viking 56K FAX INT */
+	{ .id = "RSS0250" },	/* K56 par,VV,Voice,Speakphone,AudioSpan,PnP */
+	{ .id = "SUP1310" },	/* SupraExpress 28.8 Data/Fax PnP modem */
+	{ .id = "SUP1381" },	/* SupraExpress 336i PnP Voice Modem */
+	{ .id = "SUP1421" },	/* SupraExpress 33.6 Data/Fax PnP modem */
+	{ .id = "SUP1590" },	/* SupraExpress 33.6 Data/Fax PnP modem */
+	{ .id = "SUP1620" },	/* SupraExpress 336i Sp ASVD */
+	{ .id = "SUP1760" },	/* SupraExpress 33.6 Data/Fax PnP modem */
+	{ .id = "SUP2171" },	/* SupraExpress 56i Sp Intl */
+	{ .id = "TEX0011" },	/* Phoebe Micro 33.6 Data Fax 1433VQH Plug & Play */
+	{ .id = "UAC000F" },	/* Archtek SmartLink Modem 3334BT Plug & Play */
+	{ .id = "USR0000" },	/* 3Com Corp. Gateway Telepath IIvi 33.6 */
+	{ .id = "USR0002" },	/* U.S. Robotics Sporster 33.6K Fax INT PnP */
+	{ .id = "USR0004" },	/*  Sportster Vi 14.4 PnP FAX Voicemail */
+	{ .id = "USR0006" },	/* U.S. Robotics 33.6K Voice INT PnP */
+	{ .id = "USR0007" },	/* U.S. Robotics 33.6K Voice EXT PnP */
+	{ .id = "USR0009" },	/* U.S. Robotics Courier V.Everything INT PnP */
+	{ .id = "USR2002" },	/* U.S. Robotics 33.6K Voice INT PnP */
+	{ .id = "USR2070" },	/* U.S. Robotics 56K Voice INT PnP */
+	{ .id = "USR2080" },	/* U.S. Robotics 56K Voice EXT PnP */
+	{ .id = "USR3031" },	/* U.S. Robotics 56K FAX INT */
+	{ .id = "USR3050" },	/* U.S. Robotics 56K FAX INT */
+	{ .id = "USR3070" },	/* U.S. Robotics 56K Voice INT PnP */
+	{ .id = "USR3080" },	/* U.S. Robotics 56K Voice EXT PnP */
+	{ .id = "USR3090" },	/* U.S. Robotics 56K Voice INT PnP */
+	{ .id = "USR9100" },	/* U.S. Robotics 56K Message  */
+	{ .id = "USR9160" },	/* U.S. Robotics 56K FAX EXT PnP */
+	{ .id = "USR9170" },	/* U.S. Robotics 56K FAX INT PnP */
+	{ .id = "USR9180" },	/* U.S. Robotics 56K Voice EXT PnP */
+	{ .id = "USR9190" },	/* U.S. Robotics 56K Voice INT PnP */
+	{ .id = "WACFXXX" },	/* Wacom tablets */
+	{ .id = "FPI2002" },	/* Compaq touchscreen */
+	{ .id = "FUJ02B2" },	/* Fujitsu Stylistic touchscreens */
+	{ .id = "FUJ02B3" },
+	{ .id = "FUJ02B4" },	/* Fujitsu Stylistic LT touchscreens */
+	{ .id = "FUJ02B6" },	/* Passive Fujitsu Stylistic touchscreens */
+	{ .id = "FUJ02B7" },
+	{ .id = "FUJ02B8" },
+	{ .id = "FUJ02B9" },
+	{ .id = "FUJ02BC" },
+	{ .id = "FUJ02E5" },	/* Fujitsu Wacom Tablet PC device */
+	{ .id = "FUJ02E6" },	/* Fujitsu P-series tablet PC device */
+	{ .id = "FUJ02E7" },	/* Fujitsu Wacom 2FGT Tablet PC device */
+	{ .id = "FUJ02E9" },	/* Fujitsu Wacom 1FGT Tablet PC device */
+	{ .id = "LTS0001" },	/* LG C1 EXPRESS DUAL (C1-PB11A3) touch screen (actually a FUJ02E6 in disguise) */
+	{ .id = "WCI0003" },	/* Rockwell's (PORALiNK) 33600 INT PNP */
+	{ .id = "WEC1022" },	/* Winbond CIR port, should not be probed. We should keep track of it to prevent the legacy serial driver from probing it */
 	/* scl200wdt */
-	{"NSC0800"},		/* National Semiconductor PC87307/PC97307 watchdog component */
+	{ .id = "NSC0800" },	/* National Semiconductor PC87307/PC97307 watchdog component */
 	/* mpu401 */
-	{"PNPb006"},
+	{ .id = "PNPb006" },
 	/* cs423x-pnpbios */
-	{"CSC0100"},
-	{"CSC0103"},
-	{"CSC0110"},
-	{"CSC0000"},
-	{"GIM0100"},		/* Guillemot Turtlebeach something appears to be cs4232 compatible */
+	{ .id = "CSC0100" },
+	{ .id = "CSC0103" },
+	{ .id = "CSC0110" },
+	{ .id = "CSC0000" },
+	{ .id = "GIM0100" },	/* Guillemot Turtlebeach something appears to be cs4232 compatible */
 	/* es18xx-pnpbios */
-	{"ESS1869"},
-	{"ESS1879"},
+	{ .id = "ESS1869" },
+	{ .id = "ESS1879" },
 	/* snd-opl3sa2-pnpbios */
-	{"YMH0021"},
-	{"NMX2210"},		/* Gateway Solo 2500 */
-	{""},
+	{ .id = "YMH0021" },
+	{ .id = "NMX2210" },	/* Gateway Solo 2500 */
+	{ }
 };
 
 static bool matching_id(const char *idstr, const char *list_id)
diff --git a/drivers/acpi/acpi_processor.c b/drivers/acpi/acpi_processor.c
index 00775b91bd41..4f206681070e 100644
--- a/drivers/acpi/acpi_processor.c
+++ b/drivers/acpi/acpi_processor.c
@@ -630,10 +630,8 @@ void __init acpi_early_processor_control_setup(void)
  * processor devices.
  */
 static const struct acpi_device_id processor_device_ids[] = {
-
-	{ ACPI_PROCESSOR_OBJECT_HID, },
-	{ ACPI_PROCESSOR_DEVICE_HID, },
-
+	{ .id = ACPI_PROCESSOR_OBJECT_HID },
+	{ .id = ACPI_PROCESSOR_DEVICE_HID },
 	{ }
 };
 
@@ -655,7 +653,7 @@ static int acpi_processor_container_attach(struct acpi_device *dev,
 }
 
 static const struct acpi_device_id processor_container_ids[] = {
-	{ ACPI_PROCESSOR_CONTAINER_HID, },
+	{ .id = ACPI_PROCESSOR_CONTAINER_HID },
 	{ }
 };
 
diff --git a/drivers/acpi/acpi_video.c b/drivers/acpi/acpi_video.c
index f93e877f87f6..c10f07ac8d61 100644
--- a/drivers/acpi/acpi_video.c
+++ b/drivers/acpi/acpi_video.c
@@ -92,7 +92,7 @@ enum acpi_video_level_idx {
 
 static const struct auxiliary_device_id video_bus_auxiliary_id_table[] = {
 	{ .name = "acpi.video_bus" },
-	{},
+	{ }
 };
 MODULE_DEVICE_TABLE(auxiliary, video_bus_auxiliary_id_table);
 
diff --git a/drivers/acpi/button.c b/drivers/acpi/button.c
index 3836ee75dd66..4b3b2dbf0d27 100644
--- a/drivers/acpi/button.c
+++ b/drivers/acpi/button.c
@@ -60,12 +60,12 @@ MODULE_DESCRIPTION("ACPI Button Driver");
 MODULE_LICENSE("GPL");
 
 static const struct acpi_device_id button_device_ids[] = {
-	{ACPI_BUTTON_HID_LID, ACPI_BUTTON_TYPE_LID},
-	{ACPI_BUTTON_HID_SLEEP, ACPI_BUTTON_TYPE_SLEEP},
-	{ACPI_BUTTON_HID_SLEEPF, ACPI_BUTTON_TYPE_SLEEP},
-	{ACPI_BUTTON_HID_POWER, ACPI_BUTTON_TYPE_POWER},
-	{ACPI_BUTTON_HID_POWERF, ACPI_BUTTON_TYPE_POWER},
-	{"", 0},
+	{ .id = ACPI_BUTTON_HID_LID,	.driver_data = ACPI_BUTTON_TYPE_LID },
+	{ .id = ACPI_BUTTON_HID_SLEEP,	.driver_data = ACPI_BUTTON_TYPE_SLEEP },
+	{ .id = ACPI_BUTTON_HID_SLEEPF,	.driver_data = ACPI_BUTTON_TYPE_SLEEP },
+	{ .id = ACPI_BUTTON_HID_POWER,	.driver_data = ACPI_BUTTON_TYPE_POWER },
+	{ .id = ACPI_BUTTON_HID_POWERF,	.driver_data = ACPI_BUTTON_TYPE_POWER },
+	{ }
 };
 MODULE_DEVICE_TABLE(acpi, button_device_ids);
 
diff --git a/drivers/acpi/evged.c b/drivers/acpi/evged.c
index 5c35cbc7f6ff..c7a00dc62247 100644
--- a/drivers/acpi/evged.c
+++ b/drivers/acpi/evged.c
@@ -179,8 +179,8 @@ static void ged_remove(struct platform_device *pdev)
 }
 
 static const struct acpi_device_id ged_acpi_ids[] = {
-	{"ACPI0013"},
-	{},
+	{ .id = "ACPI0013" },
+	{ }
 };
 
 static struct platform_driver ged_driver = {
diff --git a/drivers/acpi/fan_core.c b/drivers/acpi/fan_core.c
index fb08b8549ed7..5f42cb487206 100644
--- a/drivers/acpi/fan_core.c
+++ b/drivers/acpi/fan_core.c
@@ -46,7 +46,7 @@ MODULE_PARM_DESC(min_trip_distance, "Minimum distance between fan speed trip poi
 
 static const struct acpi_device_id fan_device_ids[] = {
 	ACPI_FAN_DEVICE_IDS,
-	{"", 0},
+	{ }
 };
 MODULE_DEVICE_TABLE(acpi, fan_device_ids);
 
diff --git a/drivers/acpi/pfr_telemetry.c b/drivers/acpi/pfr_telemetry.c
index 2387376832a1..ea6db4be4deb 100644
--- a/drivers/acpi/pfr_telemetry.c
+++ b/drivers/acpi/pfr_telemetry.c
@@ -415,8 +415,8 @@ static int acpi_pfrt_log_probe(struct platform_device *pdev)
 }
 
 static const struct acpi_device_id acpi_pfrt_log_ids[] = {
-	{"INTC1081"},
-	{}
+	{ .id = "INTC1081" },
+	{ }
 };
 MODULE_DEVICE_TABLE(acpi, acpi_pfrt_log_ids);
 
diff --git a/drivers/acpi/pfr_update.c b/drivers/acpi/pfr_update.c
index 6283105bb0e8..80bef3af35c5 100644
--- a/drivers/acpi/pfr_update.c
+++ b/drivers/acpi/pfr_update.c
@@ -591,8 +591,8 @@ static int acpi_pfru_probe(struct platform_device *pdev)
 }
 
 static const struct acpi_device_id acpi_pfru_ids[] = {
-	{"INTC1080"},
-	{}
+	{ .id = "INTC1080" },
+	{ }
 };
 MODULE_DEVICE_TABLE(acpi, acpi_pfru_ids);
 
diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c
index 9a7ac2eb9ce0..e92473bcd586 100644
--- a/drivers/acpi/scan.c
+++ b/drivers/acpi/scan.c
@@ -1005,9 +1005,9 @@ static int acpi_bus_extract_wakeup_device_power_package(struct acpi_device *dev)
 static bool acpi_wakeup_gpe_init(struct acpi_device *device)
 {
 	static const struct acpi_device_id button_device_ids[] = {
-		{"PNP0C0D", 0},	/* Lid */
-		{"PNP0C0E", 0},	/* Sleep button */
-		{"", 0},
+		{ .id = "PNP0C0D" },	/* Lid */
+		{ .id = "PNP0C0E" },	/* Sleep button */
+		{ }
 	};
 	struct acpi_device_wakeup *wakeup = &device->wakeup;
 	const struct acpi_device_id *match;
@@ -1731,8 +1731,8 @@ static bool acpi_is_indirect_io_slave(struct acpi_device *device)
 {
 	struct acpi_device *parent = acpi_dev_parent(device);
 	static const struct acpi_device_id indirect_io_hosts[] = {
-		{"HISI0191", 0},
-		{}
+		{ .id = "HISI0191" },
+		{ }
 	};
 
 	return parent && !acpi_match_device_ids(parent, indirect_io_hosts);
@@ -1752,33 +1752,33 @@ static bool acpi_device_enumeration_by_parent(struct acpi_device *device)
 	 * by the drivers/platform/x86/serial-multi-instantiate.c driver, which
 	 * knows which client device id to use for each resource.
 	 */
-		{"BSG1160", },
-		{"BSG2150", },
-		{"CSC3551", },
-		{"CSC3554", },
-		{"CSC3556", },
-		{"CSC3557", },
-		{"INT33FE", },
-		{"INT3515", },
-		{"TXNW2781", },
+		{ .id = "BSG1160" },
+		{ .id = "BSG2150" },
+		{ .id = "CSC3551" },
+		{ .id = "CSC3554" },
+		{ .id = "CSC3556" },
+		{ .id = "CSC3557" },
+		{ .id = "INT33FE" },
+		{ .id = "INT3515" },
+		{ .id = "TXNW2781" },
 		/* Non-conforming _HID for Cirrus Logic already released */
-		{"CLSA0100", },
-		{"CLSA0101", },
+		{ .id = "CLSA0100" },
+		{ .id = "CLSA0101" },
 	/*
 	 * Some ACPI devs contain SerialBus resources even though they are not
 	 * attached to a serial bus at all.
 	 */
-		{ACPI_VIDEO_HID, },
-		{"MSHW0028", },
+		{ .id = ACPI_VIDEO_HID },
+		{ .id = "MSHW0028" },
 	/*
 	 * HIDs of device with an UartSerialBusV2 resource for which userspace
 	 * expects a regular tty cdev to be created (instead of the in kernel
 	 * serdev) and which have a kernel driver which expects a platform_dev
 	 * such as the rfkill-gpio driver.
 	 */
-		{"BCM4752", },
-		{"LNV4752", },
-		{}
+		{ .id = "BCM4752", },
+		{ .id = "LNV4752", },
+		{ }
 	};
 
 	if (acpi_is_indirect_io_slave(device))
@@ -2284,8 +2284,8 @@ static void acpi_default_enumeration(struct acpi_device *device)
 }
 
 static const struct acpi_device_id generic_device_ids[] = {
-	{ACPI_DT_NAMESPACE_HID, },
-	{"", },
+	{ .id = ACPI_DT_NAMESPACE_HID },
+	{ }
 };
 
 static int acpi_generic_device_attach(struct acpi_device *adev,

-- 
2.43.0


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH 2/9] ACPI: drop unused assignment of acpi_device_id::driver_data
  2026-07-27 12:10 [PATCH 0/9] ACPI: use named initializers for acpi_device_id Pawel Zalewski (The Capable Hub)
  2026-07-27 12:10 ` [PATCH 1/9] ACPI: use a named initializer " Pawel Zalewski (The Capable Hub)
@ 2026-07-27 12:10 ` Pawel Zalewski (The Capable Hub)
  2026-07-27 12:17   ` sashiko-bot
  2026-07-27 12:10 ` [PATCH 3/9] ACPI: pci: " Pawel Zalewski (The Capable Hub)
                   ` (7 subsequent siblings)
  9 siblings, 1 reply; 20+ messages in thread
From: Pawel Zalewski (The Capable Hub) @ 2026-07-27 12:10 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown, Bjorn Helgaas, Zhang Rui,
	Kai-Heng Feng, Tony Luck, Borislav Petkov, Hanjun Guo,
	Mauro Carvalho Chehab, Shuai Xue, Lorenzo Pieralisi, Sudeep Holla,
	Catalin Marinas, Will Deacon, Dan Williams, Vishal Verma,
	Dave Jiang, Alison Schofield, Ira Weiny
  Cc: linux-acpi, linux-kernel, linux-pci, linux-arm-kernel, nvdimm,
	Pawel Zalewski (The Capable Hub)

These modules set the acpi_device_id::driver_data to 0 but
the field is not actually used within the module, we can
just drop it from the table.

While we are at it - use a named initializer for the
acpi_device_id fields and drop setting the list
terminator fields explicitly as well.

Signed-off-by: Pawel Zalewski (The Capable Hub) <pzalewski@thegoodpenguin.co.uk>
---
 drivers/acpi/ac.c                | 4 ++--
 drivers/acpi/acpi_memhotplug.c   | 4 ++--
 drivers/acpi/acpi_pad.c          | 4 ++--
 drivers/acpi/acpi_tad.c          | 4 ++--
 drivers/acpi/battery.c           | 8 +++-----
 drivers/acpi/container.c         | 8 ++++----
 drivers/acpi/ec.c                | 6 +++---
 drivers/acpi/hed.c               | 4 ++--
 drivers/acpi/processor_driver.c  | 6 +++---
 drivers/acpi/sbs.c               | 4 ++--
 drivers/acpi/sbshc.c             | 6 +++---
 drivers/acpi/thermal.c           | 4 ++--
 drivers/acpi/tiny-power-button.c | 6 +++---
 drivers/acpi/video_detect.c      | 4 ++--
 14 files changed, 35 insertions(+), 37 deletions(-)

diff --git a/drivers/acpi/ac.c b/drivers/acpi/ac.c
index f19d6dd43473..d6f162fe7ea4 100644
--- a/drivers/acpi/ac.c
+++ b/drivers/acpi/ac.c
@@ -32,8 +32,8 @@ MODULE_DESCRIPTION("ACPI AC Adapter Driver");
 MODULE_LICENSE("GPL");
 
 static const struct acpi_device_id ac_device_ids[] = {
-	{"ACPI0003", 0},
-	{"", 0},
+	{.id = "ACPI0003" },
+	{ }
 };
 MODULE_DEVICE_TABLE(acpi, ac_device_ids);
 
diff --git a/drivers/acpi/acpi_memhotplug.c b/drivers/acpi/acpi_memhotplug.c
index 1d7dfe4ee9a6..cf27765ed4d7 100644
--- a/drivers/acpi/acpi_memhotplug.c
+++ b/drivers/acpi/acpi_memhotplug.c
@@ -21,8 +21,8 @@
 #define ACPI_MEMORY_DEVICE_HID			"PNP0C80"
 
 static const struct acpi_device_id memory_device_ids[] = {
-	{ACPI_MEMORY_DEVICE_HID, 0},
-	{"", 0},
+	{ .id = ACPI_MEMORY_DEVICE_HID },
+	{ }
 };
 
 #ifdef CONFIG_ACPI_HOTPLUG_MEMORY
diff --git a/drivers/acpi/acpi_pad.c b/drivers/acpi/acpi_pad.c
index dc6d0091d17c..9af3b8bce686 100644
--- a/drivers/acpi/acpi_pad.c
+++ b/drivers/acpi/acpi_pad.c
@@ -438,8 +438,8 @@ static void acpi_pad_remove(struct platform_device *pdev)
 }
 
 static const struct acpi_device_id pad_device_ids[] = {
-	{"ACPI000C", 0},
-	{"", 0},
+	{ .id = "ACPI000C" },
+	{ }
 };
 MODULE_DEVICE_TABLE(acpi, pad_device_ids);
 
diff --git a/drivers/acpi/acpi_tad.c b/drivers/acpi/acpi_tad.c
index fc43df083738..7a2a5167e8ec 100644
--- a/drivers/acpi/acpi_tad.c
+++ b/drivers/acpi/acpi_tad.c
@@ -885,8 +885,8 @@ static int acpi_tad_probe(struct platform_device *pdev)
 }
 
 static const struct acpi_device_id acpi_tad_ids[] = {
-	{"ACPI000E", 0},
-	{}
+	{ .id = "ACPI000E" },
+	{ }
 };
 
 static struct platform_driver acpi_tad_driver = {
diff --git a/drivers/acpi/battery.c b/drivers/acpi/battery.c
index f5e0eb299610..30b42967e625 100644
--- a/drivers/acpi/battery.c
+++ b/drivers/acpi/battery.c
@@ -56,12 +56,10 @@ module_param(cache_time, uint, 0644);
 MODULE_PARM_DESC(cache_time, "cache time in milliseconds");
 
 static const struct acpi_device_id battery_device_ids[] = {
-	{"PNP0C0A", 0},
-
+	{ .id = "PNP0C0A"},
 	/* Microsoft Surface Go 3 */
-	{"MSHW0146", 0},
-
-	{"", 0},
+	{ .id = "MSHW0146"},
+	{ }
 };
 
 MODULE_DEVICE_TABLE(acpi, battery_device_ids);
diff --git a/drivers/acpi/container.c b/drivers/acpi/container.c
index f138a433554a..9997915233e1 100644
--- a/drivers/acpi/container.c
+++ b/drivers/acpi/container.c
@@ -15,10 +15,10 @@
 #include "internal.h"
 
 static const struct acpi_device_id container_device_ids[] = {
-	{"ACPI0004", 0},
-	{"PNP0A05", 0},
-	{"PNP0A06", 0},
-	{"", 0},
+	{ .id = "ACPI0004" },
+	{ .id = "PNP0A05" },
+	{ .id = "PNP0A06" },
+	{ }
 };
 
 #ifdef CONFIG_ACPI_CONTAINER
diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c
index 64ad4cfa6208..fd62a455db2a 100644
--- a/drivers/acpi/ec.c
+++ b/drivers/acpi/ec.c
@@ -1794,9 +1794,9 @@ ec_parse_io_ports(struct acpi_resource *resource, void *context)
 }
 
 static const struct acpi_device_id ec_device_ids[] = {
-	{"PNP0C09", 0},
-	{ACPI_ECDT_HID, 0},
-	{"", 0},
+	{ .id = "PNP0C09" },
+	{ .id = ACPI_ECDT_HID },
+	{ }
 };
 
 /*
diff --git a/drivers/acpi/hed.c b/drivers/acpi/hed.c
index 48562f53d3ab..6789ec567d21 100644
--- a/drivers/acpi/hed.c
+++ b/drivers/acpi/hed.c
@@ -17,8 +17,8 @@
 #include <acpi/hed.h>
 
 static const struct acpi_device_id acpi_hed_ids[] = {
-	{"PNP0C33", 0},
-	{"", 0},
+	{ .id = "PNP0C33" },
+	{ }
 };
 MODULE_DEVICE_TABLE(acpi, acpi_hed_ids);
 
diff --git a/drivers/acpi/processor_driver.c b/drivers/acpi/processor_driver.c
index cda8fd720000..c11cd0e3367f 100644
--- a/drivers/acpi/processor_driver.c
+++ b/drivers/acpi/processor_driver.c
@@ -36,9 +36,9 @@ MODULE_LICENSE("GPL");
 static int acpi_processor_stop(struct device *dev);
 
 static const struct acpi_device_id processor_device_ids[] = {
-	{ACPI_PROCESSOR_OBJECT_HID, 0},
-	{ACPI_PROCESSOR_DEVICE_HID, 0},
-	{"", 0},
+	{ .id = ACPI_PROCESSOR_OBJECT_HID },
+	{ .id = ACPI_PROCESSOR_DEVICE_HID },
+	{ }
 };
 MODULE_DEVICE_TABLE(acpi, processor_device_ids);
 
diff --git a/drivers/acpi/sbs.c b/drivers/acpi/sbs.c
index 86b7c7975852..354304c2c307 100644
--- a/drivers/acpi/sbs.c
+++ b/drivers/acpi/sbs.c
@@ -45,8 +45,8 @@ MODULE_PARM_DESC(cache_time, "cache time in milliseconds");
 #define ACPI_SBS_BLOCK_MAX		32
 
 static const struct acpi_device_id sbs_device_ids[] = {
-	{"ACPI0002", 0},
-	{"", 0},
+	{ .id = "ACPI0002" },
+	{ }
 };
 MODULE_DEVICE_TABLE(acpi, sbs_device_ids);
 
diff --git a/drivers/acpi/sbshc.c b/drivers/acpi/sbshc.c
index c0ffa267f96c..ac628212c048 100644
--- a/drivers/acpi/sbshc.c
+++ b/drivers/acpi/sbshc.c
@@ -33,9 +33,9 @@ static int acpi_smbus_hc_probe(struct platform_device *pdev);
 static void acpi_smbus_hc_remove(struct platform_device *pdev);
 
 static const struct acpi_device_id sbs_device_ids[] = {
-	{"ACPI0001", 0},
-	{"ACPI0005", 0},
-	{"", 0},
+	{ .id = "ACPI0001" },
+	{ .id = "ACPI0005" },
+	{ }
 };
 
 MODULE_DEVICE_TABLE(acpi, sbs_device_ids);
diff --git a/drivers/acpi/thermal.c b/drivers/acpi/thermal.c
index dd7666c176a0..189011733956 100644
--- a/drivers/acpi/thermal.c
+++ b/drivers/acpi/thermal.c
@@ -920,8 +920,8 @@ static const struct dev_pm_ops acpi_thermal_pm_ops = {
 #endif /* CONFIG_PM_SLEEP */
 
 static const struct acpi_device_id  thermal_device_ids[] = {
-	{ACPI_THERMAL_HID, 0},
-	{"", 0},
+	{ .id = ACPI_THERMAL_HID },
+	{ }
 };
 MODULE_DEVICE_TABLE(acpi, thermal_device_ids);
 
diff --git a/drivers/acpi/tiny-power-button.c b/drivers/acpi/tiny-power-button.c
index 92516ef84b02..5acb53090ff3 100644
--- a/drivers/acpi/tiny-power-button.c
+++ b/drivers/acpi/tiny-power-button.c
@@ -14,9 +14,9 @@ module_param(power_signal, int, 0644);
 MODULE_PARM_DESC(power_signal, "Power button sends this signal to init");
 
 static const struct acpi_device_id tiny_power_button_device_ids[] = {
-	{ ACPI_BUTTON_HID_POWER, 0 },
-	{ ACPI_BUTTON_HID_POWERF, 0 },
-	{ "", 0 },
+	{ .id = ACPI_BUTTON_HID_POWER },
+	{ .id = ACPI_BUTTON_HID_POWERF },
+	{ }
 };
 MODULE_DEVICE_TABLE(acpi, tiny_power_button_device_ids);
 
diff --git a/drivers/acpi/video_detect.c b/drivers/acpi/video_detect.c
index 458efa4fe9d4..e135f29d4093 100644
--- a/drivers/acpi/video_detect.c
+++ b/drivers/acpi/video_detect.c
@@ -68,8 +68,8 @@ find_video(acpi_handle handle, u32 lvl, void *context, void **rv)
 	struct pci_dev *dev;
 
 	static const struct acpi_device_id video_ids[] = {
-		{ACPI_VIDEO_HID, 0},
-		{"", 0},
+		{ .id = ACPI_VIDEO_HID },
+		{ }
 	};
 
 	if (acpi_dev && !acpi_match_device_ids(acpi_dev, video_ids)) {

-- 
2.43.0


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH 3/9] ACPI: pci: drop unused assignment of acpi_device_id::driver_data
  2026-07-27 12:10 [PATCH 0/9] ACPI: use named initializers for acpi_device_id Pawel Zalewski (The Capable Hub)
  2026-07-27 12:10 ` [PATCH 1/9] ACPI: use a named initializer " Pawel Zalewski (The Capable Hub)
  2026-07-27 12:10 ` [PATCH 2/9] ACPI: drop unused assignment of acpi_device_id::driver_data Pawel Zalewski (The Capable Hub)
@ 2026-07-27 12:10 ` Pawel Zalewski (The Capable Hub)
  2026-07-27 12:16   ` sashiko-bot
  2026-07-27 12:10 ` [PATCH 4/9] ACPI: ghes-nvidia: use a named initializer for acpi_device_id::id Pawel Zalewski (The Capable Hub)
                   ` (6 subsequent siblings)
  9 siblings, 1 reply; 20+ messages in thread
From: Pawel Zalewski (The Capable Hub) @ 2026-07-27 12:10 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown, Bjorn Helgaas, Zhang Rui,
	Kai-Heng Feng, Tony Luck, Borislav Petkov, Hanjun Guo,
	Mauro Carvalho Chehab, Shuai Xue, Lorenzo Pieralisi, Sudeep Holla,
	Catalin Marinas, Will Deacon, Dan Williams, Vishal Verma,
	Dave Jiang, Alison Schofield, Ira Weiny
  Cc: linux-acpi, linux-kernel, linux-pci, linux-arm-kernel, nvdimm,
	Pawel Zalewski (The Capable Hub)

These modules set the acpi_device_id::driver_data to 0 but
the field is not actually used within the module, we can
just drop it from the table.

While we are at it - used a named initializer for the
acpi_device_id::id field to increase readability and
drop explicitly setting the list terminator fields.

Signed-off-by: Pawel Zalewski (The Capable Hub) <pzalewski@thegoodpenguin.co.uk>
---
 drivers/acpi/pci_link.c | 4 ++--
 drivers/acpi/pci_root.c | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/acpi/pci_link.c b/drivers/acpi/pci_link.c
index e6ed13aee48d..276dd36aaf23 100644
--- a/drivers/acpi/pci_link.c
+++ b/drivers/acpi/pci_link.c
@@ -36,8 +36,8 @@ static int acpi_pci_link_add(struct acpi_device *device,
 static void acpi_pci_link_remove(struct acpi_device *device);
 
 static const struct acpi_device_id link_device_ids[] = {
-	{"PNP0C0F", 0},
-	{"", 0},
+	{ .id = "PNP0C0F" },
+	{ }
 };
 
 static struct acpi_scan_handler pci_link_handler = {
diff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c
index 4c06c3ffd0cb..a129cb0c0a36 100644
--- a/drivers/acpi/pci_root.c
+++ b/drivers/acpi/pci_root.c
@@ -40,8 +40,8 @@ static int acpi_pci_root_scan_dependent(struct acpi_device *adev)
 				| OSC_PCI_MSI_SUPPORT)
 
 static const struct acpi_device_id root_device_ids[] = {
-	{"PNP0A03", 0},
-	{"", 0},
+	{ .id = "PNP0A03" },
+	{ }
 };
 
 static struct acpi_scan_handler pci_root_handler = {

-- 
2.43.0


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH 4/9] ACPI: ghes-nvidia: use a named initializer for acpi_device_id::id
  2026-07-27 12:10 [PATCH 0/9] ACPI: use named initializers for acpi_device_id Pawel Zalewski (The Capable Hub)
                   ` (2 preceding siblings ...)
  2026-07-27 12:10 ` [PATCH 3/9] ACPI: pci: " Pawel Zalewski (The Capable Hub)
@ 2026-07-27 12:10 ` Pawel Zalewski (The Capable Hub)
  2026-07-27 12:14   ` sashiko-bot
  2026-07-27 12:10 ` [PATCH 5/9] ACPI: amba: drop unused assignment of acpi_device_id::driver_data Pawel Zalewski (The Capable Hub)
                   ` (5 subsequent siblings)
  9 siblings, 1 reply; 20+ messages in thread
From: Pawel Zalewski (The Capable Hub) @ 2026-07-27 12:10 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown, Bjorn Helgaas, Zhang Rui,
	Kai-Heng Feng, Tony Luck, Borislav Petkov, Hanjun Guo,
	Mauro Carvalho Chehab, Shuai Xue, Lorenzo Pieralisi, Sudeep Holla,
	Catalin Marinas, Will Deacon, Dan Williams, Vishal Verma,
	Dave Jiang, Alison Schofield, Ira Weiny
  Cc: linux-acpi, linux-kernel, linux-pci, linux-arm-kernel, nvdimm,
	Pawel Zalewski (The Capable Hub)

Use a named initializer for the acpi_device_id::id field for
readability.

Signed-off-by: Pawel Zalewski (The Capable Hub) <pzalewski@thegoodpenguin.co.uk>
---
 drivers/acpi/apei/ghes-nvidia.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/acpi/apei/ghes-nvidia.c b/drivers/acpi/apei/ghes-nvidia.c
index 597275d81de8..1d3a6997a019 100644
--- a/drivers/acpi/apei/ghes-nvidia.c
+++ b/drivers/acpi/apei/ghes-nvidia.c
@@ -130,7 +130,7 @@ static int nvidia_ghes_probe(struct platform_device *pdev)
 }
 
 static const struct acpi_device_id nvidia_ghes_acpi_match[] = {
-	{ "NVDA2012" },
+	{ .id = "NVDA2012" },
 	{ }
 };
 MODULE_DEVICE_TABLE(acpi, nvidia_ghes_acpi_match);

-- 
2.43.0


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH 5/9] ACPI: amba: drop unused assignment of acpi_device_id::driver_data
  2026-07-27 12:10 [PATCH 0/9] ACPI: use named initializers for acpi_device_id Pawel Zalewski (The Capable Hub)
                   ` (3 preceding siblings ...)
  2026-07-27 12:10 ` [PATCH 4/9] ACPI: ghes-nvidia: use a named initializer for acpi_device_id::id Pawel Zalewski (The Capable Hub)
@ 2026-07-27 12:10 ` Pawel Zalewski (The Capable Hub)
  2026-07-27 12:16   ` sashiko-bot
  2026-07-27 12:10 ` [PATCH 6/9] ACPI: dptf: " Pawel Zalewski (The Capable Hub)
                   ` (4 subsequent siblings)
  9 siblings, 1 reply; 20+ messages in thread
From: Pawel Zalewski (The Capable Hub) @ 2026-07-27 12:10 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown, Bjorn Helgaas, Zhang Rui,
	Kai-Heng Feng, Tony Luck, Borislav Petkov, Hanjun Guo,
	Mauro Carvalho Chehab, Shuai Xue, Lorenzo Pieralisi, Sudeep Holla,
	Catalin Marinas, Will Deacon, Dan Williams, Vishal Verma,
	Dave Jiang, Alison Schofield, Ira Weiny
  Cc: linux-acpi, linux-kernel, linux-pci, linux-arm-kernel, nvdimm,
	Pawel Zalewski (The Capable Hub)

This module sets the acpi_device_id::driver_data to 0 but
the field is not actually used within the module, we can
just drop it from the table.

While we are at it - used a named initializer for the
acpi_device_id::id field to increase readability and
drop explicitly setting the list terminator fields.

Signed-off-by: Pawel Zalewski (The Capable Hub) <pzalewski@thegoodpenguin.co.uk>
---
 drivers/acpi/arm64/amba.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/acpi/arm64/amba.c b/drivers/acpi/arm64/amba.c
index 1350083bce5f..e32b37a2126d 100644
--- a/drivers/acpi/arm64/amba.c
+++ b/drivers/acpi/arm64/amba.c
@@ -20,9 +20,9 @@
 #include "init.h"
 
 static const struct acpi_device_id amba_id_list[] = {
-	{"ARMH0061", 0}, /* PL061 GPIO Device */
-	{"ARMH0330", 0}, /* ARM DMA Controller DMA-330 */
-	{"", 0},
+	{ .id = "ARMH0061" }, /* PL061 GPIO Device */
+	{ .id = "ARMH0330" }, /* ARM DMA Controller DMA-330 */
+	{ }
 };
 
 static void amba_register_dummy_clk(void)

-- 
2.43.0


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH 6/9] ACPI: dptf: drop unused assignment of acpi_device_id::driver_data
  2026-07-27 12:10 [PATCH 0/9] ACPI: use named initializers for acpi_device_id Pawel Zalewski (The Capable Hub)
                   ` (4 preceding siblings ...)
  2026-07-27 12:10 ` [PATCH 5/9] ACPI: amba: drop unused assignment of acpi_device_id::driver_data Pawel Zalewski (The Capable Hub)
@ 2026-07-27 12:10 ` Pawel Zalewski (The Capable Hub)
  2026-07-27 12:14   ` sashiko-bot
  2026-07-27 12:10 ` [PATCH 7/9] ACPI: nfit: core: " Pawel Zalewski (The Capable Hub)
                   ` (3 subsequent siblings)
  9 siblings, 1 reply; 20+ messages in thread
From: Pawel Zalewski (The Capable Hub) @ 2026-07-27 12:10 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown, Bjorn Helgaas, Zhang Rui,
	Kai-Heng Feng, Tony Luck, Borislav Petkov, Hanjun Guo,
	Mauro Carvalho Chehab, Shuai Xue, Lorenzo Pieralisi, Sudeep Holla,
	Catalin Marinas, Will Deacon, Dan Williams, Vishal Verma,
	Dave Jiang, Alison Schofield, Ira Weiny
  Cc: linux-acpi, linux-kernel, linux-pci, linux-arm-kernel, nvdimm,
	Pawel Zalewski (The Capable Hub)

These modules set the acpi_device_id::driver_data to 0 but
the field is not actually used within the module, we can
just drop it from the table.

While we are at it - used a named initializer for the
acpi_device_id::id field to increase readability and
drop explicitly setting the list terminator fields.

Signed-off-by: Pawel Zalewski (The Capable Hub) <pzalewski@thegoodpenguin.co.uk>
---
 drivers/acpi/dptf/dptf_pch_fivr.c | 14 +++++++-------
 drivers/acpi/dptf/dptf_power.c    | 38 +++++++++++++++++++-------------------
 2 files changed, 26 insertions(+), 26 deletions(-)

diff --git a/drivers/acpi/dptf/dptf_pch_fivr.c b/drivers/acpi/dptf/dptf_pch_fivr.c
index 8d7e555929d3..d23867f70b28 100644
--- a/drivers/acpi/dptf/dptf_pch_fivr.c
+++ b/drivers/acpi/dptf/dptf_pch_fivr.c
@@ -147,13 +147,13 @@ static void pch_fivr_remove(struct platform_device *pdev)
 }
 
 static const struct acpi_device_id pch_fivr_device_ids[] = {
-	{"INTC1045", 0},
-	{"INTC1049", 0},
-	{"INTC1064", 0},
-	{"INTC106B", 0},
-	{"INTC10A3", 0},
-	{"INTC10D7", 0},
-	{"", 0},
+	{ .id = "INTC1045" },
+	{ .id = "INTC1049" },
+	{ .id = "INTC1064" },
+	{ .id = "INTC106B" },
+	{ .id = "INTC10A3" },
+	{ .id = "INTC10D7" },
+	{ }
 };
 MODULE_DEVICE_TABLE(acpi, pch_fivr_device_ids);
 
diff --git a/drivers/acpi/dptf/dptf_power.c b/drivers/acpi/dptf/dptf_power.c
index 55ccbb8ddbe3..065831bce8c0 100644
--- a/drivers/acpi/dptf/dptf_power.c
+++ b/drivers/acpi/dptf/dptf_power.c
@@ -224,25 +224,25 @@ static void dptf_power_remove(struct platform_device *pdev)
 }
 
 static const struct acpi_device_id int3407_device_ids[] = {
-	{"INT3407", 0},
-	{"INT3532", 0},
-	{"INTC1047", 0},
-	{"INTC1050", 0},
-	{"INTC1060", 0},
-	{"INTC1061", 0},
-	{"INTC1065", 0},
-	{"INTC1066", 0},
-	{"INTC106C", 0},
-	{"INTC106D", 0},
-	{"INTC10A4", 0},
-	{"INTC10A5", 0},
-	{"INTC10D8", 0},
-	{"INTC10D9", 0},
-	{"INTC1100", 0},
-	{"INTC1101", 0},
-	{"INTC10F7", 0},
-	{"INTC10F8", 0},
-	{"", 0},
+	{ .id = "INT3407" },
+	{ .id = "INT3532" },
+	{ .id = "INTC1047" },
+	{ .id = "INTC1050" },
+	{ .id = "INTC1060" },
+	{ .id = "INTC1061" },
+	{ .id = "INTC1065" },
+	{ .id = "INTC1066" },
+	{ .id = "INTC106C" },
+	{ .id = "INTC106D" },
+	{ .id = "INTC10A4" },
+	{ .id = "INTC10A5" },
+	{ .id = "INTC10D8" },
+	{ .id = "INTC10D9" },
+	{ .id = "INTC1100" },
+	{ .id = "INTC1101" },
+	{ .id = "INTC10F7" },
+	{ .id = "INTC10F8" },
+	{ }
 };
 MODULE_DEVICE_TABLE(acpi, int3407_device_ids);
 

-- 
2.43.0


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH 7/9] ACPI: nfit: core: drop unused assignment of acpi_device_id::driver_data
  2026-07-27 12:10 [PATCH 0/9] ACPI: use named initializers for acpi_device_id Pawel Zalewski (The Capable Hub)
                   ` (5 preceding siblings ...)
  2026-07-27 12:10 ` [PATCH 6/9] ACPI: dptf: " Pawel Zalewski (The Capable Hub)
@ 2026-07-27 12:10 ` Pawel Zalewski (The Capable Hub)
  2026-07-27 12:15   ` sashiko-bot
  2026-07-27 12:10 ` [PATCH 8/9] ACPI: x86: use a named initializer for acpi_device_id::id Pawel Zalewski (The Capable Hub)
                   ` (2 subsequent siblings)
  9 siblings, 1 reply; 20+ messages in thread
From: Pawel Zalewski (The Capable Hub) @ 2026-07-27 12:10 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown, Bjorn Helgaas, Zhang Rui,
	Kai-Heng Feng, Tony Luck, Borislav Petkov, Hanjun Guo,
	Mauro Carvalho Chehab, Shuai Xue, Lorenzo Pieralisi, Sudeep Holla,
	Catalin Marinas, Will Deacon, Dan Williams, Vishal Verma,
	Dave Jiang, Alison Schofield, Ira Weiny
  Cc: linux-acpi, linux-kernel, linux-pci, linux-arm-kernel, nvdimm,
	Pawel Zalewski (The Capable Hub)

This module sets the acpi_device_id::driver_data to 0 but
the field is not actually used within the module, we can
just drop it from the table.

While we are at it - used a named initializer for the
acpi_device_id::id field to increase readability and
drop explicitly setting the list terminator fields.

Signed-off-by: Pawel Zalewski (The Capable Hub) <pzalewski@thegoodpenguin.co.uk>
---
 drivers/acpi/nfit/core.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/acpi/nfit/core.c b/drivers/acpi/nfit/core.c
index cb771d9cadb2..5732df5d53f0 100644
--- a/drivers/acpi/nfit/core.c
+++ b/drivers/acpi/nfit/core.c
@@ -3515,8 +3515,8 @@ void __acpi_nfit_notify(struct device *dev, acpi_handle handle, u32 event)
 EXPORT_SYMBOL_GPL(__acpi_nfit_notify);
 
 static const struct acpi_device_id acpi_nfit_ids[] = {
-	{ "ACPI0012", 0 },
-	{ "", 0 },
+	{ .id = "ACPI0012" },
+	{ }
 };
 MODULE_DEVICE_TABLE(acpi, acpi_nfit_ids);
 

-- 
2.43.0


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH 8/9] ACPI: x86: use a named initializer for acpi_device_id::id
  2026-07-27 12:10 [PATCH 0/9] ACPI: use named initializers for acpi_device_id Pawel Zalewski (The Capable Hub)
                   ` (6 preceding siblings ...)
  2026-07-27 12:10 ` [PATCH 7/9] ACPI: nfit: core: " Pawel Zalewski (The Capable Hub)
@ 2026-07-27 12:10 ` Pawel Zalewski (The Capable Hub)
  2026-07-27 12:15   ` sashiko-bot
  2026-07-27 12:10 ` [PATCH 9/9] ACPI: " Pawel Zalewski (The Capable Hub)
  2026-07-27 12:15 ` [PATCH 0/9] ACPI: use named initializers for acpi_device_id Rafael J. Wysocki (Intel)
  9 siblings, 1 reply; 20+ messages in thread
From: Pawel Zalewski (The Capable Hub) @ 2026-07-27 12:10 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown, Bjorn Helgaas, Zhang Rui,
	Kai-Heng Feng, Tony Luck, Borislav Petkov, Hanjun Guo,
	Mauro Carvalho Chehab, Shuai Xue, Lorenzo Pieralisi, Sudeep Holla,
	Catalin Marinas, Will Deacon, Dan Williams, Vishal Verma,
	Dave Jiang, Alison Schofield, Ira Weiny
  Cc: linux-acpi, linux-kernel, linux-pci, linux-arm-kernel, nvdimm,
	Pawel Zalewski (The Capable Hub)

Use a named initializer for the acpi_device_id::id field for
readability. Also drop setting the list terminator fields
explicitly and unify the type of the list terminator to be
a single space between the brackets.

Signed-off-by: Pawel Zalewski (The Capable Hub) <pzalewski@thegoodpenguin.co.uk>
---
 drivers/acpi/x86/cmos_rtc.c |  2 +-
 drivers/acpi/x86/lpss.c     | 54 ++++++++++++++++++++++-----------------------
 drivers/acpi/x86/s2idle.c   | 14 ++++++------
 drivers/acpi/x86/utils.c    | 16 +++++++-------
 4 files changed, 43 insertions(+), 43 deletions(-)

diff --git a/drivers/acpi/x86/cmos_rtc.c b/drivers/acpi/x86/cmos_rtc.c
index ced334e19896..d9891b00d090 100644
--- a/drivers/acpi/x86/cmos_rtc.c
+++ b/drivers/acpi/x86/cmos_rtc.c
@@ -18,7 +18,7 @@
 #include "../internal.h"
 
 static const struct acpi_device_id acpi_cmos_rtc_ids[] = {
-	{ "ACPI000E", 1 }, /* ACPI Time and Alarm Device (TAD) */
+	{ .id = "ACPI000E", .driver_data = 1 }, /* ACPI Time and Alarm Device (TAD) */
 	ACPI_CMOS_RTC_IDS
 };
 
diff --git a/drivers/acpi/x86/lpss.c b/drivers/acpi/x86/lpss.c
index 0171eef00484..50b6db40bb18 100644
--- a/drivers/acpi/x86/lpss.c
+++ b/drivers/acpi/x86/lpss.c
@@ -351,41 +351,41 @@ static const struct x86_cpu_id lpss_cpu_ids[] = {
 
 static const struct acpi_device_id acpi_lpss_device_ids[] = {
 	/* Generic LPSS devices */
-	{ "INTL9C60", LPSS_ADDR(lpss_dma_desc) },
+	{ .id = "INTL9C60", .driver_data = LPSS_ADDR(lpss_dma_desc) },
 
 	/* Lynxpoint LPSS devices */
-	{ "INT33C0", LPSS_ADDR(lpt_spi_dev_desc) },
-	{ "INT33C1", LPSS_ADDR(lpt_spi_dev_desc) },
-	{ "INT33C2", LPSS_ADDR(lpt_i2c_dev_desc) },
-	{ "INT33C3", LPSS_ADDR(lpt_i2c_dev_desc) },
-	{ "INT33C4", LPSS_ADDR(lpt_uart_dev_desc) },
-	{ "INT33C5", LPSS_ADDR(lpt_uart_dev_desc) },
-	{ "INT33C6", LPSS_ADDR(lpt_sdio_dev_desc) },
+	{ .id = "INT33C0", .driver_data = LPSS_ADDR(lpt_spi_dev_desc) },
+	{ .id = "INT33C1", .driver_data = LPSS_ADDR(lpt_spi_dev_desc) },
+	{ .id = "INT33C2", .driver_data = LPSS_ADDR(lpt_i2c_dev_desc) },
+	{ .id = "INT33C3", .driver_data = LPSS_ADDR(lpt_i2c_dev_desc) },
+	{ .id = "INT33C4", .driver_data = LPSS_ADDR(lpt_uart_dev_desc) },
+	{ .id = "INT33C5", .driver_data = LPSS_ADDR(lpt_uart_dev_desc) },
+	{ .id = "INT33C6", .driver_data = LPSS_ADDR(lpt_sdio_dev_desc) },
 
 	/* BayTrail LPSS devices */
-	{ "80860F09", LPSS_ADDR(byt_pwm_dev_desc) },
-	{ "80860F0A", LPSS_ADDR(byt_uart_dev_desc) },
-	{ "80860F0E", LPSS_ADDR(byt_spi_dev_desc) },
-	{ "80860F14", LPSS_ADDR(byt_sdio_dev_desc) },
-	{ "80860F41", LPSS_ADDR(byt_i2c_dev_desc) },
+	{ .id = "80860F09", .driver_data = LPSS_ADDR(byt_pwm_dev_desc) },
+	{ .id = "80860F0A", .driver_data = LPSS_ADDR(byt_uart_dev_desc) },
+	{ .id = "80860F0E", .driver_data = LPSS_ADDR(byt_spi_dev_desc) },
+	{ .id = "80860F14", .driver_data = LPSS_ADDR(byt_sdio_dev_desc) },
+	{ .id = "80860F41", .driver_data = LPSS_ADDR(byt_i2c_dev_desc) },
 
 	/* Braswell LPSS devices */
-	{ "80862286", LPSS_ADDR(lpss_dma_desc) },
-	{ "80862288", LPSS_ADDR(bsw_pwm_dev_desc) },
-	{ "80862289", LPSS_ADDR(bsw_pwm2_dev_desc) },
-	{ "8086228A", LPSS_ADDR(bsw_uart_dev_desc) },
-	{ "8086228E", LPSS_ADDR(bsw_spi_dev_desc) },
-	{ "808622C0", LPSS_ADDR(lpss_dma_desc) },
-	{ "808622C1", LPSS_ADDR(bsw_i2c_dev_desc) },
+	{ .id = "80862286", .driver_data = LPSS_ADDR(lpss_dma_desc) },
+	{ .id = "80862288", .driver_data = LPSS_ADDR(bsw_pwm_dev_desc) },
+	{ .id = "80862289", .driver_data = LPSS_ADDR(bsw_pwm2_dev_desc) },
+	{ .id = "8086228A", .driver_data = LPSS_ADDR(bsw_uart_dev_desc) },
+	{ .id = "8086228E", .driver_data = LPSS_ADDR(bsw_spi_dev_desc) },
+	{ .id = "808622C0", .driver_data = LPSS_ADDR(lpss_dma_desc) },
+	{ .id = "808622C1", .driver_data = LPSS_ADDR(bsw_i2c_dev_desc) },
 
 	/* Broadwell LPSS devices */
-	{ "INT3430", LPSS_ADDR(lpt_spi_dev_desc) },
-	{ "INT3431", LPSS_ADDR(lpt_spi_dev_desc) },
-	{ "INT3432", LPSS_ADDR(lpt_i2c_dev_desc) },
-	{ "INT3433", LPSS_ADDR(lpt_i2c_dev_desc) },
-	{ "INT3434", LPSS_ADDR(lpt_uart_dev_desc) },
-	{ "INT3435", LPSS_ADDR(lpt_uart_dev_desc) },
-	{ "INT3436", LPSS_ADDR(lpt_sdio_dev_desc) },
+	{ .id = "INT3430", .driver_data = LPSS_ADDR(lpt_spi_dev_desc) },
+	{ .id = "INT3431", .driver_data = LPSS_ADDR(lpt_spi_dev_desc) },
+	{ .id = "INT3432", .driver_data = LPSS_ADDR(lpt_i2c_dev_desc) },
+	{ .id = "INT3433", .driver_data = LPSS_ADDR(lpt_i2c_dev_desc) },
+	{ .id = "INT3434", .driver_data = LPSS_ADDR(lpt_uart_dev_desc) },
+	{ .id = "INT3435", .driver_data = LPSS_ADDR(lpt_uart_dev_desc) },
+	{ .id = "INT3436", .driver_data = LPSS_ADDR(lpt_sdio_dev_desc) },
 
 	{ }
 };
diff --git a/drivers/acpi/x86/s2idle.c b/drivers/acpi/x86/s2idle.c
index b6b1dd76a06b..64c4e10e71a1 100644
--- a/drivers/acpi/x86/s2idle.c
+++ b/drivers/acpi/x86/s2idle.c
@@ -33,8 +33,8 @@ module_param(check_lps0_constraints, bool, 0644);
 MODULE_PARM_DESC(check_lps0_constraints, "Check LPS0 device constraints");
 
 static const struct acpi_device_id lps0_device_ids[] = {
-	{"PNP0D80", },
-	{"", },
+	{ .id = "PNP0D80" },
+	{ }
 };
 
 /* Microsoft platform agnostic UUID */
@@ -431,11 +431,11 @@ static const struct amd_lps0_hid_device_data amd_cezanne = {
 };
 
 static const struct acpi_device_id amd_hid_ids[] = {
-	{"AMD0004",	(kernel_ulong_t)&amd_picasso,	},
-	{"AMD0005",	(kernel_ulong_t)&amd_picasso,	},
-	{"AMDI0005",	(kernel_ulong_t)&amd_picasso,	},
-	{"AMDI0006",	(kernel_ulong_t)&amd_cezanne,	},
-	{}
+	{ .id = "AMD0004",	.driver_data = (kernel_ulong_t)&amd_picasso },
+	{ .id = "AMD0005",	.driver_data = (kernel_ulong_t)&amd_picasso },
+	{ .id = "AMDI0005",	.driver_data = (kernel_ulong_t)&amd_picasso },
+	{ .id = "AMDI0006",	.driver_data = (kernel_ulong_t)&amd_cezanne },
+	{ }
 };
 
 static int lps0_device_attach(struct acpi_device *adev,
diff --git a/drivers/acpi/x86/utils.c b/drivers/acpi/x86/utils.c
index 418951639f51..35580d77d8af 100644
--- a/drivers/acpi/x86/utils.c
+++ b/drivers/acpi/x86/utils.c
@@ -463,14 +463,14 @@ static const struct dmi_system_id acpi_quirk_skip_dmi_ids[] = {
 
 #if IS_ENABLED(CONFIG_X86_ANDROID_TABLETS)
 static const struct acpi_device_id i2c_acpi_known_good_ids[] = {
-	{ "10EC5640", 0 }, /* RealTek ALC5640 audio codec */
-	{ "10EC5651", 0 }, /* RealTek ALC5651 audio codec */
-	{ "INT33F4", 0 },  /* X-Powers AXP288 PMIC */
-	{ "INT33F5", 0 },  /* TI Dollar Cove PMIC */
-	{ "INT33FD", 0 },  /* Intel Crystal Cove PMIC */
-	{ "INT34D3", 0 },  /* Intel Whiskey Cove PMIC */
-	{ "NPCE69A", 0 },  /* Asus Transformer keyboard dock */
-	{}
+	{ .id = "10EC5640" }, /* RealTek ALC5640 audio codec */
+	{ .id = "10EC5651" }, /* RealTek ALC5651 audio codec */
+	{ .id = "INT33F4" },  /* X-Powers AXP288 PMIC */
+	{ .id = "INT33F5" },  /* TI Dollar Cove PMIC */
+	{ .id = "INT33FD" },  /* Intel Crystal Cove PMIC */
+	{ .id = "INT34D3" },  /* Intel Whiskey Cove PMIC */
+	{ .id = "NPCE69A" },  /* Asus Transformer keyboard dock */
+	{ }
 };
 
 bool acpi_quirk_skip_i2c_client_enumeration(struct acpi_device *adev)

-- 
2.43.0


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH 9/9] ACPI: use a named initializer for acpi_device_id::id
  2026-07-27 12:10 [PATCH 0/9] ACPI: use named initializers for acpi_device_id Pawel Zalewski (The Capable Hub)
                   ` (7 preceding siblings ...)
  2026-07-27 12:10 ` [PATCH 8/9] ACPI: x86: use a named initializer for acpi_device_id::id Pawel Zalewski (The Capable Hub)
@ 2026-07-27 12:10 ` Pawel Zalewski (The Capable Hub)
  2026-07-27 12:17   ` sashiko-bot
  2026-07-27 12:15 ` [PATCH 0/9] ACPI: use named initializers for acpi_device_id Rafael J. Wysocki (Intel)
  9 siblings, 1 reply; 20+ messages in thread
From: Pawel Zalewski (The Capable Hub) @ 2026-07-27 12:10 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown, Bjorn Helgaas, Zhang Rui,
	Kai-Heng Feng, Tony Luck, Borislav Petkov, Hanjun Guo,
	Mauro Carvalho Chehab, Shuai Xue, Lorenzo Pieralisi, Sudeep Holla,
	Catalin Marinas, Will Deacon, Dan Williams, Vishal Verma,
	Dave Jiang, Alison Schofield, Ira Weiny
  Cc: linux-acpi, linux-kernel, linux-pci, linux-arm-kernel, nvdimm,
	Pawel Zalewski (The Capable Hub)

Use a named initializer for the acpi_device_id::id field for
readability and drop setting the list terminator fields
explicitly as well to be consistent with the rest of the kernel
code.

Signed-off-by: Pawel Zalewski (The Capable Hub) <pzalewski@thegoodpenguin.co.uk>
---
 include/linux/acpi.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/include/linux/acpi.h b/include/linux/acpi.h
index 60ab50cb8930..b34b483d99f5 100644
--- a/include/linux/acpi.h
+++ b/include/linux/acpi.h
@@ -805,10 +805,10 @@ int acpi_mrrm_max_mem_region(void);
 #endif
 
 #define ACPI_CMOS_RTC_IDS	\
-	{ "PNP0B00", },		\
-	{ "PNP0B01", },		\
-	{ "PNP0B02", },		\
-	{ "", }
+	{ .id = "PNP0B00" },		\
+	{ .id = "PNP0B01" },		\
+	{ .id = "PNP0B02" },		\
+	{ }
 
 extern bool cmos_rtc_platform_device_present;
 

-- 
2.43.0


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* Re: [PATCH 6/9] ACPI: dptf: drop unused assignment of acpi_device_id::driver_data
  2026-07-27 12:10 ` [PATCH 6/9] ACPI: dptf: " Pawel Zalewski (The Capable Hub)
@ 2026-07-27 12:14   ` sashiko-bot
  0 siblings, 0 replies; 20+ messages in thread
From: sashiko-bot @ 2026-07-27 12:14 UTC (permalink / raw)
  To: Pawel Zalewski (The Capable Hub); +Cc: linux-pci, nvdimm

> These modules set the acpi_device_id::driver_data to 0 but
> the field is not actually used within the module, we can
> just drop it from the table.
> 
> While we are at it - used a named initializer for the
> acpi_device_id::id field to increase readability and
> drop explicitly setting the list terminator fields.
> 
> Signed-off-by: Pawel Zalewski (The Capable Hub) <pzalewski@thegoodpenguin.co.uk>

Sashiko has reviewed this patch and found no issues. It looks great!

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260727-acpi-refactor-v1-0-ff900aa326ee@thegoodpenguin.co.uk?part=6


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 4/9] ACPI: ghes-nvidia: use a named initializer for acpi_device_id::id
  2026-07-27 12:10 ` [PATCH 4/9] ACPI: ghes-nvidia: use a named initializer for acpi_device_id::id Pawel Zalewski (The Capable Hub)
@ 2026-07-27 12:14   ` sashiko-bot
  0 siblings, 0 replies; 20+ messages in thread
From: sashiko-bot @ 2026-07-27 12:14 UTC (permalink / raw)
  To: Pawel Zalewski (The Capable Hub); +Cc: linux-pci, nvdimm

> Use a named initializer for the acpi_device_id::id field for
> readability.
> 
> Signed-off-by: Pawel Zalewski (The Capable Hub) <pzalewski@thegoodpenguin.co.uk>

Sashiko has reviewed this patch and found no issues. It looks great!

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260727-acpi-refactor-v1-0-ff900aa326ee@thegoodpenguin.co.uk?part=4


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 0/9] ACPI: use named initializers for acpi_device_id
  2026-07-27 12:10 [PATCH 0/9] ACPI: use named initializers for acpi_device_id Pawel Zalewski (The Capable Hub)
                   ` (8 preceding siblings ...)
  2026-07-27 12:10 ` [PATCH 9/9] ACPI: " Pawel Zalewski (The Capable Hub)
@ 2026-07-27 12:15 ` Rafael J. Wysocki (Intel)
  9 siblings, 0 replies; 20+ messages in thread
From: Rafael J. Wysocki (Intel) @ 2026-07-27 12:15 UTC (permalink / raw)
  To: Pawel Zalewski (The Capable Hub)
  Cc: Rafael J. Wysocki, Len Brown, Bjorn Helgaas, Zhang Rui,
	Kai-Heng Feng, Tony Luck, Borislav Petkov, Hanjun Guo,
	Mauro Carvalho Chehab, Shuai Xue, Lorenzo Pieralisi, Sudeep Holla,
	Catalin Marinas, Will Deacon, Dan Williams, Vishal Verma,
	Dave Jiang, Alison Schofield, Ira Weiny, linux-acpi, linux-kernel,
	linux-pci, linux-arm-kernel, nvdimm

On Mon, Jul 27, 2026 at 2:10 PM Pawel Zalewski (The Capable Hub)
<pzalewski@thegoodpenguin.co.uk> wrote:
>
> This series is converting lists that contain the acpi_device_id
> struct, which is defined in the include/linux/device-id/acpi.h
> to makes use of named initializers (which they do not use currently).
> This work is part of the on going effort in the kernel associated
> with device-ids [1]
>
> The plan is to convert acpi_device_id::driver_data to have an anonymous
> union, similarly to what was introduced for PCI and I2C device ID tables.
> The goal is to increase type-safety (as most of the existing casts are gone),
> to improve readability and to make use intent a bit more clear:
>
> ```
> union {
>         kernel_ulong_t driver_data;
>         const void *driver_data_ptr;
> }
> ```
>
> But for that to work all lists containing the structs need to use named
> initializers first. I already have patches that implement this and touching
> a lot of kernel subsystmes that use the acpi_device_id struct and that list
> keeps on growing. Therefore, I have decided to split the series per every
> subsystem into:
> - pre-clean-ups that convert the lists to use named initializers
> - actual implementations that make some of the modules use the new driver_data_ptr
>
> That way the task can be fragmented into manageable and independent
> chunks of work and makes this effort easier to review.
>
> Tested builds on arm64 and x86-64 in Yocto on 7.2-rc5
>
> [1] https://lore.kernel.org/all/cover.1780048925.git.u.kleine-koenig@baylibre.com/
>
> Signed-off-by: Pawel Zalewski (The Capable Hub) <pzalewski@thegoodpenguin.co.uk>
> ---
> Pawel Zalewski (The Capable Hub) (9):
>       ACPI: use a named initializer for acpi_device_id
>       ACPI: drop unused assignment of acpi_device_id::driver_data
>       ACPI: pci: drop unused assignment of acpi_device_id::driver_data
>       ACPI: ghes-nvidia: use a named initializer for acpi_device_id::id
>       ACPI: amba: drop unused assignment of acpi_device_id::driver_data
>       ACPI: dptf: drop unused assignment of acpi_device_id::driver_data
>       ACPI: nfit: core: drop unused assignment of acpi_device_id::driver_data
>       ACPI: x86: use a named initializer for acpi_device_id::id
>       ACPI: use a named initializer for acpi_device_id::id
>
>  drivers/acpi/ac.c                 |   4 +-
>  drivers/acpi/acpi_apd.c           |  42 ++--
>  drivers/acpi/acpi_memhotplug.c    |   4 +-
>  drivers/acpi/acpi_pad.c           |   4 +-
>  drivers/acpi/acpi_platform.c      |  13 +-
>  drivers/acpi/acpi_pnp.c           | 514 +++++++++++++++++++-------------------
>  drivers/acpi/acpi_processor.c     |   8 +-
>  drivers/acpi/acpi_tad.c           |   4 +-
>  drivers/acpi/acpi_video.c         |   2 +-
>  drivers/acpi/apei/ghes-nvidia.c   |   2 +-
>  drivers/acpi/arm64/amba.c         |   6 +-
>  drivers/acpi/battery.c            |   8 +-
>  drivers/acpi/button.c             |  12 +-
>  drivers/acpi/container.c          |   8 +-
>  drivers/acpi/dptf/dptf_pch_fivr.c |  14 +-
>  drivers/acpi/dptf/dptf_power.c    |  38 +--
>  drivers/acpi/ec.c                 |   6 +-
>  drivers/acpi/evged.c              |   4 +-
>  drivers/acpi/fan_core.c           |   2 +-
>  drivers/acpi/hed.c                |   4 +-
>  drivers/acpi/nfit/core.c          |   4 +-
>  drivers/acpi/pci_link.c           |   4 +-
>  drivers/acpi/pci_root.c           |   4 +-
>  drivers/acpi/pfr_telemetry.c      |   4 +-
>  drivers/acpi/pfr_update.c         |   4 +-
>  drivers/acpi/processor_driver.c   |   6 +-
>  drivers/acpi/sbs.c                |   4 +-
>  drivers/acpi/sbshc.c              |   6 +-
>  drivers/acpi/scan.c               |  46 ++--
>  drivers/acpi/thermal.c            |   4 +-
>  drivers/acpi/tiny-power-button.c  |   6 +-
>  drivers/acpi/video_detect.c       |   4 +-
>  drivers/acpi/x86/cmos_rtc.c       |   2 +-
>  drivers/acpi/x86/lpss.c           |  54 ++--
>  drivers/acpi/x86/s2idle.c         |  14 +-
>  drivers/acpi/x86/utils.c          |  16 +-
>  include/linux/acpi.h              |   8 +-
>  37 files changed, 443 insertions(+), 446 deletions(-)
> ---

So we can talk about this after 7.3-rc1 is out.

Thanks!

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 7/9] ACPI: nfit: core: drop unused assignment of acpi_device_id::driver_data
  2026-07-27 12:10 ` [PATCH 7/9] ACPI: nfit: core: " Pawel Zalewski (The Capable Hub)
@ 2026-07-27 12:15   ` sashiko-bot
  0 siblings, 0 replies; 20+ messages in thread
From: sashiko-bot @ 2026-07-27 12:15 UTC (permalink / raw)
  To: Pawel Zalewski (The Capable Hub); +Cc: nvdimm, linux-pci

> This module sets the acpi_device_id::driver_data to 0 but
> the field is not actually used within the module, we can
> just drop it from the table.
> 
> While we are at it - used a named initializer for the
> acpi_device_id::id field to increase readability and
> drop explicitly setting the list terminator fields.
> 
> Signed-off-by: Pawel Zalewski (The Capable Hub) <pzalewski@thegoodpenguin.co.uk>

Sashiko has reviewed this patch and found no issues. It looks great!

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260727-acpi-refactor-v1-0-ff900aa326ee@thegoodpenguin.co.uk?part=7


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 8/9] ACPI: x86: use a named initializer for acpi_device_id::id
  2026-07-27 12:10 ` [PATCH 8/9] ACPI: x86: use a named initializer for acpi_device_id::id Pawel Zalewski (The Capable Hub)
@ 2026-07-27 12:15   ` sashiko-bot
  0 siblings, 0 replies; 20+ messages in thread
From: sashiko-bot @ 2026-07-27 12:15 UTC (permalink / raw)
  To: Pawel Zalewski (The Capable Hub); +Cc: linux-pci, nvdimm

> Use a named initializer for the acpi_device_id::id field for
> readability. Also drop setting the list terminator fields
> explicitly and unify the type of the list terminator to be
> a single space between the brackets.
> 
> Signed-off-by: Pawel Zalewski (The Capable Hub) <pzalewski@thegoodpenguin.co.uk>

Sashiko has reviewed this patch and found no issues. It looks great!

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260727-acpi-refactor-v1-0-ff900aa326ee@thegoodpenguin.co.uk?part=8


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 3/9] ACPI: pci: drop unused assignment of acpi_device_id::driver_data
  2026-07-27 12:10 ` [PATCH 3/9] ACPI: pci: " Pawel Zalewski (The Capable Hub)
@ 2026-07-27 12:16   ` sashiko-bot
  0 siblings, 0 replies; 20+ messages in thread
From: sashiko-bot @ 2026-07-27 12:16 UTC (permalink / raw)
  To: Pawel Zalewski (The Capable Hub); +Cc: linux-pci, nvdimm

> These modules set the acpi_device_id::driver_data to 0 but
> the field is not actually used within the module, we can
> just drop it from the table.
> 
> While we are at it - used a named initializer for the
> acpi_device_id::id field to increase readability and
> drop explicitly setting the list terminator fields.
> 
> Signed-off-by: Pawel Zalewski (The Capable Hub) <pzalewski@thegoodpenguin.co.uk>

Sashiko has reviewed this patch and found no issues. It looks great!

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260727-acpi-refactor-v1-0-ff900aa326ee@thegoodpenguin.co.uk?part=3


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 5/9] ACPI: amba: drop unused assignment of acpi_device_id::driver_data
  2026-07-27 12:10 ` [PATCH 5/9] ACPI: amba: drop unused assignment of acpi_device_id::driver_data Pawel Zalewski (The Capable Hub)
@ 2026-07-27 12:16   ` sashiko-bot
  0 siblings, 0 replies; 20+ messages in thread
From: sashiko-bot @ 2026-07-27 12:16 UTC (permalink / raw)
  To: Pawel Zalewski (The Capable Hub); +Cc: linux-pci, nvdimm

> This module sets the acpi_device_id::driver_data to 0 but
> the field is not actually used within the module, we can
> just drop it from the table.
> 
> While we are at it - used a named initializer for the
> acpi_device_id::id field to increase readability and
> drop explicitly setting the list terminator fields.
> 
> Signed-off-by: Pawel Zalewski (The Capable Hub) <pzalewski@thegoodpenguin.co.uk>

Sashiko has reviewed this patch and found no issues. It looks great!

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260727-acpi-refactor-v1-0-ff900aa326ee@thegoodpenguin.co.uk?part=5


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 9/9] ACPI: use a named initializer for acpi_device_id::id
  2026-07-27 12:10 ` [PATCH 9/9] ACPI: " Pawel Zalewski (The Capable Hub)
@ 2026-07-27 12:17   ` sashiko-bot
  0 siblings, 0 replies; 20+ messages in thread
From: sashiko-bot @ 2026-07-27 12:17 UTC (permalink / raw)
  To: Pawel Zalewski (The Capable Hub); +Cc: linux-pci, nvdimm

> Use a named initializer for the acpi_device_id::id field for
> readability and drop setting the list terminator fields
> explicitly as well to be consistent with the rest of the kernel
> code.
> 
> Signed-off-by: Pawel Zalewski (The Capable Hub) <pzalewski@thegoodpenguin.co.uk>

Sashiko has reviewed this patch and found no issues. It looks great!

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260727-acpi-refactor-v1-0-ff900aa326ee@thegoodpenguin.co.uk?part=9


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 2/9] ACPI: drop unused assignment of acpi_device_id::driver_data
  2026-07-27 12:10 ` [PATCH 2/9] ACPI: drop unused assignment of acpi_device_id::driver_data Pawel Zalewski (The Capable Hub)
@ 2026-07-27 12:17   ` sashiko-bot
  0 siblings, 0 replies; 20+ messages in thread
From: sashiko-bot @ 2026-07-27 12:17 UTC (permalink / raw)
  To: Pawel Zalewski (The Capable Hub); +Cc: linux-pci, nvdimm

> These modules set the acpi_device_id::driver_data to 0 but
> the field is not actually used within the module, we can
> just drop it from the table.
> 
> While we are at it - use a named initializer for the
> acpi_device_id fields and drop setting the list
> terminator fields explicitly as well.
> 
> Signed-off-by: Pawel Zalewski (The Capable Hub) <pzalewski@thegoodpenguin.co.uk>

Sashiko has reviewed this patch and found no issues. It looks great!

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260727-acpi-refactor-v1-0-ff900aa326ee@thegoodpenguin.co.uk?part=2


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH 1/9] ACPI: use a named initializer for acpi_device_id
  2026-07-27 12:10 ` [PATCH 1/9] ACPI: use a named initializer " Pawel Zalewski (The Capable Hub)
@ 2026-07-27 12:17   ` sashiko-bot
  0 siblings, 0 replies; 20+ messages in thread
From: sashiko-bot @ 2026-07-27 12:17 UTC (permalink / raw)
  To: Pawel Zalewski (The Capable Hub); +Cc: linux-pci, nvdimm

> Use a named initializer for the acpi_device_id fields which
> makes the code more readable and consistent with how lists
> are initialized in the rest of the kernel code base.
> 
> While we are at it - unify the list terminator to have
> a single space between the brackets.
> 
> Signed-off-by: Pawel Zalewski (The Capable Hub) <pzalewski@thegoodpenguin.co.uk>

Sashiko has reviewed this patch and found no issues. It looks great!

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260727-acpi-refactor-v1-0-ff900aa326ee@thegoodpenguin.co.uk?part=1


^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2026-07-27 12:17 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-27 12:10 [PATCH 0/9] ACPI: use named initializers for acpi_device_id Pawel Zalewski (The Capable Hub)
2026-07-27 12:10 ` [PATCH 1/9] ACPI: use a named initializer " Pawel Zalewski (The Capable Hub)
2026-07-27 12:17   ` sashiko-bot
2026-07-27 12:10 ` [PATCH 2/9] ACPI: drop unused assignment of acpi_device_id::driver_data Pawel Zalewski (The Capable Hub)
2026-07-27 12:17   ` sashiko-bot
2026-07-27 12:10 ` [PATCH 3/9] ACPI: pci: " Pawel Zalewski (The Capable Hub)
2026-07-27 12:16   ` sashiko-bot
2026-07-27 12:10 ` [PATCH 4/9] ACPI: ghes-nvidia: use a named initializer for acpi_device_id::id Pawel Zalewski (The Capable Hub)
2026-07-27 12:14   ` sashiko-bot
2026-07-27 12:10 ` [PATCH 5/9] ACPI: amba: drop unused assignment of acpi_device_id::driver_data Pawel Zalewski (The Capable Hub)
2026-07-27 12:16   ` sashiko-bot
2026-07-27 12:10 ` [PATCH 6/9] ACPI: dptf: " Pawel Zalewski (The Capable Hub)
2026-07-27 12:14   ` sashiko-bot
2026-07-27 12:10 ` [PATCH 7/9] ACPI: nfit: core: " Pawel Zalewski (The Capable Hub)
2026-07-27 12:15   ` sashiko-bot
2026-07-27 12:10 ` [PATCH 8/9] ACPI: x86: use a named initializer for acpi_device_id::id Pawel Zalewski (The Capable Hub)
2026-07-27 12:15   ` sashiko-bot
2026-07-27 12:10 ` [PATCH 9/9] ACPI: " Pawel Zalewski (The Capable Hub)
2026-07-27 12:17   ` sashiko-bot
2026-07-27 12:15 ` [PATCH 0/9] ACPI: use named initializers for acpi_device_id Rafael J. Wysocki (Intel)

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.