[PATCH v2 16/17] Replace <linux/mod_devicetable.h> by more specific <linux/mod_device_id/*.h> (headers)
From: Uwe Kleine-König (The Capable Hub)
Date: Fri Jun 26 2026 - 14:04:44 EST
<linux/mod_devicetable.h> is included in a many files:
$ git grep '<linux/mod_devicetable.h>' ef0c9f75a195 | wc -l
1598
; some of them are widely used headers. To stop mixing up different and
unrelated driver( type)s let the subsystem headers only use the subset
of the recently split <linux/mod_devicetable.h> that are relevant for
them.
The fallout (I hope) is addressed in the previous commits that handle
sources relying on e.g. <linux/i2c.h> pulling in the full legacy header
and thus providing pci_device_id.
Signed-off-by: Uwe Kleine-König (The Capable Hub) <u.kleine-koenig@xxxxxxxxxxxx>
---
arch/mips/include/asm/cdmm.h | 2 +-
arch/parisc/include/asm/hardware.h | 4 +---
arch/parisc/include/asm/parisc-device.h | 1 +
arch/s390/include/asm/ccwdev.h | 2 +-
arch/x86/include/asm/cpu_device_id.h | 5 +----
drivers/hid/intel-ish-hid/ishtp/bus.h | 2 +-
include/linux/acpi.h | 2 +-
include/linux/amba/bus.h | 2 +-
include/linux/auxiliary_bus.h | 2 +-
include/linux/bcma/bcma.h | 2 +-
include/linux/cdx/cdx_bus.h | 2 +-
include/linux/dfl.h | 2 +-
include/linux/dmi.h | 2 +-
include/linux/eisa.h | 2 +-
include/linux/firewire.h | 3 +--
include/linux/fsl/mc.h | 2 +-
include/linux/hid.h | 2 +-
include/linux/hyperv.h | 2 +-
include/linux/i2c.h | 2 +-
include/linux/i3c/device.h | 2 +-
include/linux/input.h | 2 +-
include/linux/intel-ish-client-if.h | 2 +-
include/linux/ipack.h | 2 +-
include/linux/isapnp.h | 2 +-
include/linux/mcb.h | 2 +-
include/linux/mei_cl_bus.h | 2 +-
include/linux/mhi.h | 1 +
include/linux/mmc/sdio_func.h | 2 +-
include/linux/of.h | 2 +-
include/linux/of_platform.h | 2 +-
include/linux/pci-epf.h | 2 +-
include/linux/pci.h | 2 +-
include/linux/phy.h | 2 +-
include/linux/platform_data/x86/soc.h | 2 +-
include/linux/pnp.h | 2 +-
include/linux/raspberrypi/vchiq_bus.h | 2 +-
include/linux/rio.h | 2 +-
include/linux/rpmsg.h | 2 +-
include/linux/serio.h | 2 +-
include/linux/slimbus.h | 2 +-
include/linux/soc/qcom/apr.h | 2 +-
include/linux/soundwire/sdw.h | 2 +-
include/linux/spi/spi.h | 4 +++-
include/linux/ssb/ssb.h | 2 +-
include/linux/surface_aggregator/device.h | 2 +-
include/linux/tee_drv.h | 2 +-
include/linux/thunderbolt.h | 2 +-
include/linux/ulpi/driver.h | 2 +-
include/linux/usb.h | 2 +-
include/linux/usb/typec_altmode.h | 2 +-
include/linux/virtio.h | 2 +-
include/linux/wmi.h | 2 +-
include/linux/zorro.h | 2 +-
include/pcmcia/ds.h | 2 +-
include/sound/hda_codec.h | 2 +-
55 files changed, 57 insertions(+), 59 deletions(-)
diff --git a/arch/mips/include/asm/cdmm.h b/arch/mips/include/asm/cdmm.h
index 81fa99084178..404de1853ff6 100644
--- a/arch/mips/include/asm/cdmm.h
+++ b/arch/mips/include/asm/cdmm.h
@@ -9,7 +9,7 @@
#define __ASM_CDMM_H
#include <linux/device.h>
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/mips_cdmm.h>
/**
* struct mips_cdmm_device - Represents a single device on a CDMM bus.
diff --git a/arch/parisc/include/asm/hardware.h b/arch/parisc/include/asm/hardware.h
index a005ebc54779..7eb83d79d4d0 100644
--- a/arch/parisc/include/asm/hardware.h
+++ b/arch/parisc/include/asm/hardware.h
@@ -2,7 +2,7 @@
#ifndef _PARISC_HARDWARE_H
#define _PARISC_HARDWARE_H
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/parisc.h>
#define HWTYPE_ANY_ID PA_HWTYPE_ANY_ID
#define HVERSION_ANY_ID PA_HVERSION_ANY_ID
@@ -95,8 +95,6 @@ struct bc_module {
#define HPHW_MC 15
#define HPHW_FAULTY 31
-struct parisc_device_id;
-
/* hardware.c: */
extern const char *parisc_hardware_description(struct parisc_device_id *id);
extern enum cpu_type parisc_get_cpu_type(unsigned long hversion);
diff --git a/arch/parisc/include/asm/parisc-device.h b/arch/parisc/include/asm/parisc-device.h
index 9e74cef4d774..2642cb685423 100644
--- a/arch/parisc/include/asm/parisc-device.h
+++ b/arch/parisc/include/asm/parisc-device.h
@@ -3,6 +3,7 @@
#define _ASM_PARISC_PARISC_DEVICE_H_
#include <linux/device.h>
+#include <linux/mod_device_id/parisc.h>
struct parisc_device {
struct resource hpa; /* Hard Physical Address */
diff --git a/arch/s390/include/asm/ccwdev.h b/arch/s390/include/asm/ccwdev.h
index e3afcece375e..614f6788ed44 100644
--- a/arch/s390/include/asm/ccwdev.h
+++ b/arch/s390/include/asm/ccwdev.h
@@ -10,7 +10,7 @@
#define _S390_CCWDEV_H_
#include <linux/device.h>
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/ccw.h>
#include <asm/chsc.h>
#include <asm/fcx.h>
#include <asm/irq.h>
diff --git a/arch/x86/include/asm/cpu_device_id.h b/arch/x86/include/asm/cpu_device_id.h
index 6be777a06944..1d477886f597 100644
--- a/arch/x86/include/asm/cpu_device_id.h
+++ b/arch/x86/include/asm/cpu_device_id.h
@@ -38,11 +38,8 @@
/*
* Declare drivers belonging to specific x86 CPUs
* Similar in spirit to pci_device_id and related PCI functions
- *
- * The wildcard initializers are in mod_devicetable.h because
- * file2alias needs them. Sigh.
*/
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/x86_cpu.h>
/* Get the INTEL_FAM* model defines */
#include <asm/intel-family.h>
/* And the X86_VENDOR_* ones */
diff --git a/drivers/hid/intel-ish-hid/ishtp/bus.h b/drivers/hid/intel-ish-hid/ishtp/bus.h
index 53645ac89ee8..ffe9f78fec46 100644
--- a/drivers/hid/intel-ish-hid/ishtp/bus.h
+++ b/drivers/hid/intel-ish-hid/ishtp/bus.h
@@ -8,7 +8,7 @@
#define _LINUX_ISHTP_CL_BUS_H
#include <linux/device.h>
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/ishtp.h>
#include <linux/intel-ish-client-if.h>
struct ishtp_cl;
diff --git a/include/linux/acpi.h b/include/linux/acpi.h
index 67effb91fa98..2095e12d4331 100644
--- a/include/linux/acpi.h
+++ b/include/linux/acpi.h
@@ -13,7 +13,7 @@
#include <linux/ioport.h> /* for struct resource */
#include <linux/resource_ext.h>
#include <linux/device.h>
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/acpi.h>
#include <linux/property.h>
#include <linux/uuid.h>
#include <linux/node.h>
diff --git a/include/linux/amba/bus.h b/include/linux/amba/bus.h
index 6c54d5c0d21f..e851dd1e9b49 100644
--- a/include/linux/amba/bus.h
+++ b/include/linux/amba/bus.h
@@ -13,7 +13,7 @@
#include <linux/clk.h>
#include <linux/device.h>
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/amba.h>
#include <linux/err.h>
#include <linux/resource.h>
#include <linux/regulator/consumer.h>
diff --git a/include/linux/auxiliary_bus.h b/include/linux/auxiliary_bus.h
index 4e1ad8ccbcdd..fca41a9d2814 100644
--- a/include/linux/auxiliary_bus.h
+++ b/include/linux/auxiliary_bus.h
@@ -9,7 +9,7 @@
#define _AUXILIARY_BUS_H_
#include <linux/device.h>
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/auxiliary.h>
/**
* DOC: DEVICE_LIFESPAN
diff --git a/include/linux/bcma/bcma.h b/include/linux/bcma/bcma.h
index 60b94b944e9f..aa618aa7f133 100644
--- a/include/linux/bcma/bcma.h
+++ b/include/linux/bcma/bcma.h
@@ -3,7 +3,7 @@
#define LINUX_BCMA_H_
#include <linux/pci.h>
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/bcma.h>
#include <linux/bcma/bcma_driver_arm_c9.h>
#include <linux/bcma/bcma_driver_chipcommon.h>
diff --git a/include/linux/cdx/cdx_bus.h b/include/linux/cdx/cdx_bus.h
index f54770f110bc..699c51ae1249 100644
--- a/include/linux/cdx/cdx_bus.h
+++ b/include/linux/cdx/cdx_bus.h
@@ -11,7 +11,7 @@
#include <linux/device.h>
#include <linux/list.h>
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/cdx.h>
#include <linux/msi.h>
#define MAX_CDX_DEV_RESOURCES 4
diff --git a/include/linux/dfl.h b/include/linux/dfl.h
index 1f02db0c1897..f8a88cb23bc0 100644
--- a/include/linux/dfl.h
+++ b/include/linux/dfl.h
@@ -9,7 +9,7 @@
#define __LINUX_DFL_H
#include <linux/device.h>
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/dfl.h>
/**
* enum dfl_id_type - define the DFL FIU types
diff --git a/include/linux/dmi.h b/include/linux/dmi.h
index c8700e6a694d..00419a005e3a 100644
--- a/include/linux/dmi.h
+++ b/include/linux/dmi.h
@@ -4,7 +4,7 @@
#include <linux/list.h>
#include <linux/kobject.h>
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/dmi.h>
/* enum dmi_field is in mod_devicetable.h */
diff --git a/include/linux/eisa.h b/include/linux/eisa.h
index cf55630b595b..71d33718aaa3 100644
--- a/include/linux/eisa.h
+++ b/include/linux/eisa.h
@@ -4,7 +4,7 @@
#include <linux/ioport.h>
#include <linux/device.h>
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/eisa.h>
#define EISA_MAX_SLOTS 8
diff --git a/include/linux/firewire.h b/include/linux/firewire.h
index 986d712e4d94..7011de89130a 100644
--- a/include/linux/firewire.h
+++ b/include/linux/firewire.h
@@ -14,6 +14,7 @@
#include <linux/timer.h>
#include <linux/types.h>
#include <linux/workqueue.h>
+#include <linux/mod_device_id/ieee1394.h>
#include <linux/atomic.h>
#include <asm/byteorder.h>
@@ -271,8 +272,6 @@ static inline void fw_unit_put(struct fw_unit *unit)
#define fw_parent_device(unit) fw_device(unit->device.parent)
-struct ieee1394_device_id;
-
struct fw_driver {
struct device_driver driver;
int (*probe)(struct fw_unit *unit, const struct ieee1394_device_id *id);
diff --git a/include/linux/fsl/mc.h b/include/linux/fsl/mc.h
index 9f671e87c80c..dba99fbd3145 100644
--- a/include/linux/fsl/mc.h
+++ b/include/linux/fsl/mc.h
@@ -11,7 +11,7 @@
#define _FSL_MC_H_
#include <linux/device.h>
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/fsl_mc.h>
#include <linux/interrupt.h>
#include <uapi/linux/fsl_mc.h>
diff --git a/include/linux/hid.h b/include/linux/hid.h
index 47dc0bc89fa4..84ba38f0a93e 100644
--- a/include/linux/hid.h
+++ b/include/linux/hid.h
@@ -18,7 +18,7 @@
#include <linux/types.h>
#include <linux/slab.h>
#include <linux/list.h>
-#include <linux/mod_devicetable.h> /* hid_device_id */
+#include <linux/mod_device_id/hid.h>
#include <linux/timer.h>
#include <linux/workqueue.h>
#include <linux/input.h>
diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h
index 9de2c8d6037a..32572a33b6ee 100644
--- a/include/linux/hyperv.h
+++ b/include/linux/hyperv.h
@@ -21,7 +21,7 @@
#include <linux/timer.h>
#include <linux/completion.h>
#include <linux/device.h>
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/hv_vmbus.h>
#include <linux/interrupt.h>
#include <linux/reciprocal_div.h>
#include <hyperv/hvhdk.h>
diff --git a/include/linux/i2c.h b/include/linux/i2c.h
index 20fd41b51d5c..798d3f725bab 100644
--- a/include/linux/i2c.h
+++ b/include/linux/i2c.h
@@ -12,7 +12,7 @@
#include <linux/acpi.h> /* for acpi_handle */
#include <linux/bits.h>
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/i2c.h>
#include <linux/device.h> /* for struct device */
#include <linux/sched.h> /* for completion */
#include <linux/mutex.h>
diff --git a/include/linux/i3c/device.h b/include/linux/i3c/device.h
index 971d53349b6f..64e2ea4734b0 100644
--- a/include/linux/i3c/device.h
+++ b/include/linux/i3c/device.h
@@ -12,7 +12,7 @@
#include <linux/device.h>
#include <linux/i2c.h>
#include <linux/kconfig.h>
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/i3c.h>
#include <linux/module.h>
/**
diff --git a/include/linux/input.h b/include/linux/input.h
index 06ca62328db1..99a0365e52e1 100644
--- a/include/linux/input.h
+++ b/include/linux/input.h
@@ -19,7 +19,7 @@
#include <linux/device.h>
#include <linux/fs.h>
#include <linux/timer.h>
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/input.h>
struct input_dev_poller;
diff --git a/include/linux/intel-ish-client-if.h b/include/linux/intel-ish-client-if.h
index 2cd4f65aaa37..2bfe6cfddd52 100644
--- a/include/linux/intel-ish-client-if.h
+++ b/include/linux/intel-ish-client-if.h
@@ -9,7 +9,7 @@
#define _INTEL_ISH_CLIENT_IF_H_
#include <linux/device.h>
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/ishtp.h>
struct ishtp_cl_device;
struct ishtp_device;
diff --git a/include/linux/ipack.h b/include/linux/ipack.h
index 455f6c2a1903..591b39da2b78 100644
--- a/include/linux/ipack.h
+++ b/include/linux/ipack.h
@@ -6,7 +6,7 @@
* Author: Samuel Iglesias Gonsalvez <siglesias@xxxxxxxxxx>
*/
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/ipack.h>
#include <linux/device.h>
#include <linux/interrupt.h>
diff --git a/include/linux/isapnp.h b/include/linux/isapnp.h
index dba18c95844b..8bc604191cc0 100644
--- a/include/linux/isapnp.h
+++ b/include/linux/isapnp.h
@@ -28,7 +28,7 @@
*/
#ifdef __KERNEL__
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/isapnp.h>
#define DEVICE_COUNT_COMPATIBLE 4
diff --git a/include/linux/mcb.h b/include/linux/mcb.h
index 4ab2691f51a6..085cde737dd1 100644
--- a/include/linux/mcb.h
+++ b/include/linux/mcb.h
@@ -8,7 +8,7 @@
#ifndef _LINUX_MCB_H
#define _LINUX_MCB_H
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/mcb.h>
#include <linux/device.h>
#include <linux/irqreturn.h>
diff --git a/include/linux/mei_cl_bus.h b/include/linux/mei_cl_bus.h
index 5bdbd9e1d460..92d1bfc1691f 100644
--- a/include/linux/mei_cl_bus.h
+++ b/include/linux/mei_cl_bus.h
@@ -7,7 +7,7 @@
#include <linux/device.h>
#include <linux/uuid.h>
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/mei_cl.h>
struct mei_cl_device;
struct mei_device;
diff --git a/include/linux/mhi.h b/include/linux/mhi.h
index fb3ba639f4f8..9e9bde2ae490 100644
--- a/include/linux/mhi.h
+++ b/include/linux/mhi.h
@@ -14,6 +14,7 @@
#include <linux/spinlock.h>
#include <linux/wait.h>
#include <linux/workqueue.h>
+#include <linux/mod_device_id/mhi.h>
#define MHI_MAX_OEM_PK_HASH_SEGMENTS 16
diff --git a/include/linux/mmc/sdio_func.h b/include/linux/mmc/sdio_func.h
index 4534bf462aac..1c1d87ea9613 100644
--- a/include/linux/mmc/sdio_func.h
+++ b/include/linux/mmc/sdio_func.h
@@ -9,7 +9,7 @@
#define LINUX_MMC_SDIO_FUNC_H
#include <linux/device.h>
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/sdio.h>
#include <linux/mmc/pm.h>
diff --git a/include/linux/of.h b/include/linux/of.h
index 20e4f752d5b6..0d8a015176ac 100644
--- a/include/linux/of.h
+++ b/include/linux/of.h
@@ -16,7 +16,7 @@
#include <linux/cleanup.h>
#include <linux/errno.h>
#include <linux/kobject.h>
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/of.h>
#include <linux/property.h>
#include <linux/list.h>
diff --git a/include/linux/of_platform.h b/include/linux/of_platform.h
index 48f73af88dd7..d982c4e5964f 100644
--- a/include/linux/of_platform.h
+++ b/include/linux/of_platform.h
@@ -8,7 +8,7 @@
#include <linux/types.h>
#include <linux/err.h>
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/of.h>
struct device;
struct device_node;
diff --git a/include/linux/pci-epf.h b/include/linux/pci-epf.h
index 7737a7c03260..ac41a2e19cd7 100644
--- a/include/linux/pci-epf.h
+++ b/include/linux/pci-epf.h
@@ -11,7 +11,7 @@
#include <linux/configfs.h>
#include <linux/device.h>
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/pci.h>
#include <linux/msi.h>
#include <linux/pci.h>
diff --git a/include/linux/pci.h b/include/linux/pci.h
index 2c4454583c11..b8876519e500 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -24,7 +24,7 @@
#define LINUX_PCI_H
#include <linux/args.h>
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/pci.h>
#include <linux/types.h>
#include <linux/init.h>
diff --git a/include/linux/phy.h b/include/linux/phy.h
index 199a7aaa341b..66c339c645a8 100644
--- a/include/linux/phy.h
+++ b/include/linux/phy.h
@@ -23,7 +23,7 @@
#include <linux/module.h>
#include <linux/timer.h>
#include <linux/workqueue.h>
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/mdio.h>
#include <linux/u64_stats_sync.h>
#include <linux/irqreturn.h>
#include <linux/iopoll.h>
diff --git a/include/linux/platform_data/x86/soc.h b/include/linux/platform_data/x86/soc.h
index f981907a5cb0..615f83d0557c 100644
--- a/include/linux/platform_data/x86/soc.h
+++ b/include/linux/platform_data/x86/soc.h
@@ -12,7 +12,7 @@
#if IS_ENABLED(CONFIG_X86)
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/x86_cpu.h>
#include <asm/cpu_device_id.h>
diff --git a/include/linux/pnp.h b/include/linux/pnp.h
index 23fe3eaf242d..e496892c56b0 100644
--- a/include/linux/pnp.h
+++ b/include/linux/pnp.h
@@ -12,7 +12,7 @@
#include <linux/device.h>
#include <linux/list.h>
#include <linux/errno.h>
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/pnp.h>
#include <linux/console.h>
#define PNP_NAME_LEN 50
diff --git a/include/linux/raspberrypi/vchiq_bus.h b/include/linux/raspberrypi/vchiq_bus.h
index 9de179b39f85..4b38668e9332 100644
--- a/include/linux/raspberrypi/vchiq_bus.h
+++ b/include/linux/raspberrypi/vchiq_bus.h
@@ -7,7 +7,7 @@
#define _VCHIQ_DEVICE_H
#include <linux/device.h>
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/vchiq.h>
struct vchiq_drv_mgmt;
diff --git a/include/linux/rio.h b/include/linux/rio.h
index 2c29f21ba9e5..8ca10249ff27 100644
--- a/include/linux/rio.h
+++ b/include/linux/rio.h
@@ -16,7 +16,7 @@
#include <linux/errno.h>
#include <linux/device.h>
#include <linux/rio_regs.h>
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/rio.h>
#ifdef CONFIG_RAPIDIO_DMA_ENGINE
#include <linux/dmaengine.h>
#endif
diff --git a/include/linux/rpmsg.h b/include/linux/rpmsg.h
index 2e40eb54155e..244feaa06bfd 100644
--- a/include/linux/rpmsg.h
+++ b/include/linux/rpmsg.h
@@ -13,7 +13,7 @@
#include <linux/types.h>
#include <linux/device.h>
#include <linux/err.h>
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/rpmsg.h>
#include <linux/kref.h>
#include <linux/mutex.h>
#include <linux/poll.h>
diff --git a/include/linux/serio.h b/include/linux/serio.h
index 69a47674af65..ccd7c52efb7e 100644
--- a/include/linux/serio.h
+++ b/include/linux/serio.h
@@ -13,7 +13,7 @@
#include <linux/spinlock.h>
#include <linux/mutex.h>
#include <linux/device.h>
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/serio.h>
#include <uapi/linux/serio.h>
extern const struct bus_type serio_bus;
diff --git a/include/linux/slimbus.h b/include/linux/slimbus.h
index a4608d9a9684..07d0b76f2806 100644
--- a/include/linux/slimbus.h
+++ b/include/linux/slimbus.h
@@ -8,7 +8,7 @@
#include <linux/device.h>
#include <linux/module.h>
#include <linux/completion.h>
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/slim.h>
extern const struct bus_type slimbus_bus;
diff --git a/include/linux/soc/qcom/apr.h b/include/linux/soc/qcom/apr.h
index 58fa1df96347..aaf47b4c9e31 100644
--- a/include/linux/soc/qcom/apr.h
+++ b/include/linux/soc/qcom/apr.h
@@ -5,7 +5,7 @@
#include <linux/spinlock.h>
#include <linux/device.h>
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/apr.h>
#include <dt-bindings/soc/qcom,apr.h>
#include <dt-bindings/soc/qcom,gpr.h>
diff --git a/include/linux/soundwire/sdw.h b/include/linux/soundwire/sdw.h
index a46cbaec5949..86014f0e3434 100644
--- a/include/linux/soundwire/sdw.h
+++ b/include/linux/soundwire/sdw.h
@@ -12,7 +12,7 @@
#include <linux/irq.h>
#include <linux/irqdomain.h>
#include <linux/lockdep_types.h>
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/sdw.h>
#include <linux/mutex.h>
#include <linux/types.h>
#include <sound/sdca.h>
diff --git a/include/linux/spi/spi.h b/include/linux/spi/spi.h
index f6ed93eff00b..7417735bb01d 100644
--- a/include/linux/spi/spi.h
+++ b/include/linux/spi/spi.h
@@ -12,7 +12,9 @@
#include <linux/device.h>
#include <linux/gpio/consumer.h>
#include <linux/kthread.h>
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/acpi.h>
+#include <linux/mod_device_id/of.h>
+#include <linux/mod_device_id/spi.h>
#include <linux/overflow.h>
#include <linux/scatterlist.h>
#include <linux/slab.h>
diff --git a/include/linux/ssb/ssb.h b/include/linux/ssb/ssb.h
index e1fb11e0f12c..1807585dfa2c 100644
--- a/include/linux/ssb/ssb.h
+++ b/include/linux/ssb/ssb.h
@@ -8,7 +8,7 @@
#include <linux/spinlock.h>
#include <linux/pci.h>
#include <linux/gpio/driver.h>
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/ssb.h>
#include <linux/dma-mapping.h>
#include <linux/platform_device.h>
diff --git a/include/linux/surface_aggregator/device.h b/include/linux/surface_aggregator/device.h
index 8cd8c38cf3f3..b2ec14a3124a 100644
--- a/include/linux/surface_aggregator/device.h
+++ b/include/linux/surface_aggregator/device.h
@@ -14,7 +14,7 @@
#define _LINUX_SURFACE_AGGREGATOR_DEVICE_H
#include <linux/device.h>
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/ssam.h>
#include <linux/property.h>
#include <linux/types.h>
diff --git a/include/linux/tee_drv.h b/include/linux/tee_drv.h
index e561a26f537a..d0f6ff9dd843 100644
--- a/include/linux/tee_drv.h
+++ b/include/linux/tee_drv.h
@@ -9,7 +9,7 @@
#include <linux/device.h>
#include <linux/kref.h>
#include <linux/list.h>
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/tee_client.h>
#include <linux/tee.h>
#include <linux/types.h>
diff --git a/include/linux/thunderbolt.h b/include/linux/thunderbolt.h
index 0ba112175bb3..af7627d227b3 100644
--- a/include/linux/thunderbolt.h
+++ b/include/linux/thunderbolt.h
@@ -22,7 +22,7 @@ struct device;
#include <linux/idr.h>
#include <linux/list.h>
#include <linux/mutex.h>
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/tb.h>
#include <linux/pci.h>
#include <linux/uuid.h>
#include <linux/workqueue.h>
diff --git a/include/linux/ulpi/driver.h b/include/linux/ulpi/driver.h
index a8cb617a3028..7e24ad80ff70 100644
--- a/include/linux/ulpi/driver.h
+++ b/include/linux/ulpi/driver.h
@@ -2,7 +2,7 @@
#ifndef __LINUX_ULPI_DRIVER_H
#define __LINUX_ULPI_DRIVER_H
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/ulpi.h>
#include <linux/device.h>
diff --git a/include/linux/usb.h b/include/linux/usb.h
index 25a203ac7a7e..dfcad4bb6745 100644
--- a/include/linux/usb.h
+++ b/include/linux/usb.h
@@ -2,7 +2,7 @@
#ifndef __LINUX_USB_H
#define __LINUX_USB_H
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/usb.h>
#include <linux/usb/ch9.h>
#define USB_MAJOR 180
diff --git a/include/linux/usb/typec_altmode.h b/include/linux/usb/typec_altmode.h
index b90cc5cfff8d..1eaf3a58c1ac 100644
--- a/include/linux/usb/typec_altmode.h
+++ b/include/linux/usb/typec_altmode.h
@@ -3,7 +3,7 @@
#ifndef __USB_TYPEC_ALTMODE_H
#define __USB_TYPEC_ALTMODE_H
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/typec.h>
#include <linux/usb/typec.h>
#include <linux/device.h>
diff --git a/include/linux/virtio.h b/include/linux/virtio.h
index bf089e51970e..ed9076df9d12 100644
--- a/include/linux/virtio.h
+++ b/include/linux/virtio.h
@@ -7,7 +7,7 @@
#include <linux/scatterlist.h>
#include <linux/spinlock.h>
#include <linux/device.h>
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/virtio.h>
#include <linux/gfp.h>
#include <linux/dma-mapping.h>
#include <linux/completion.h>
diff --git a/include/linux/wmi.h b/include/linux/wmi.h
index d723e4b1cafb..da7dc695438f 100644
--- a/include/linux/wmi.h
+++ b/include/linux/wmi.h
@@ -11,7 +11,7 @@
#include <linux/compiler_attributes.h>
#include <linux/device.h>
#include <linux/acpi.h>
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/wmi.h>
#include <linux/types.h>
/**
diff --git a/include/linux/zorro.h b/include/linux/zorro.h
index f36c8d39553d..7534ea52f43a 100644
--- a/include/linux/zorro.h
+++ b/include/linux/zorro.h
@@ -17,7 +17,7 @@
#include <linux/device.h>
#include <linux/init.h>
#include <linux/ioport.h>
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/zorro.h>
#include <asm/zorro.h>
diff --git a/include/pcmcia/ds.h b/include/pcmcia/ds.h
index b7a8de88b3c0..17a4e2e3ddb5 100644
--- a/include/pcmcia/ds.h
+++ b/include/pcmcia/ds.h
@@ -14,7 +14,7 @@
#define _LINUX_DS_H
#ifdef __KERNEL__
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/pcmcia.h>
#endif
#include <pcmcia/device_id.h>
diff --git a/include/sound/hda_codec.h b/include/sound/hda_codec.h
index 17945ab5e6e2..d357c828df91 100644
--- a/include/sound/hda_codec.h
+++ b/include/sound/hda_codec.h
@@ -9,7 +9,7 @@
#define __SOUND_HDA_CODEC_H
#include <linux/refcount.h>
-#include <linux/mod_devicetable.h>
+#include <linux/mod_device_id/hda.h>
#include <sound/info.h>
#include <sound/control.h>
#include <sound/pcm.h>
--
2.47.3