Re: [PATCH v3 00/16] mod_devicetable.h: Split into per subsystem headers

From: Takashi Sakamoto

Date: Mon Jun 29 2026 - 19:58:55 EST


Hi,

On Sun, Jun 28, 2026 at 11:58:35PM +0200, Uwe Kleine-König (The Capable Hub) wrote:
> Hello,
>
> v2 is available at
> https://lore.kernel.org/lkml/cover.1782490566.git.u.kleine-koenig@xxxxxxxxxxxx
> .
>
> Changes since then:
>
> - rebased to v7.2-rc1
> - rename the directory containing the new per device-id headers from
> "mod_device_id" to "device-id".
> - Adding Acks received
> - ASoC patch (formerly patch #3) dropped as it was already merged as
> commit 83d53eca7e55 ("ASoC: rockchip: rockchip_sai: #include
> <linux/platform_device.h> explicitly") in v7.2-rc1.
>
> This series survived an allmodconfig build on alpha, arc, arm64,
> loongarch, m68k, mips, powerpc, riscv, s390, sh, sparc, and x86_64.
> (Well, some failures, but I see these also on vanilla v7.2-rc1.)
>
> There are a few headers left that include <linux/mod_devicetable.h>, but
> these can be addressed in the next dev cycle without much impact as all
> the much included headers are covered here.
>
> I will apply this series to
>
> https://git.kernel.org/pub/scm/linux/kernel/git/ukleinek/linux.git device-id-rework
>
> which is included in next to expose it to the build bots and testers (in
> the hope that there won't occur much merge conflict with v7.3 material).
> I will add review tags and address (the hopefully very few) build issues
> that might pop up. My plan is to let Linus merge it end of the week for
> -rc2.
>
> Best regards
> Uwe
>
> Uwe Kleine-König (The Capable Hub) (16):
> mod_devicetable.h: Split into per subsystem headers
> media: ti: vpe: #include <linux/platform_device.h> explicitly
> driver: core: Include headers for acpi_device_id and of_device_id for
> struct device_driver
> driver core: platform: Include header for struct platform_device_id
> usb: serial: Include <linux/usb.h> in <linux/usb/serial.h>
> platform/x86: msi-ec: Ensure dmi_system_id is defined
> of: Explicitly include <linux/types.h> and <linux/err.h>
> i2c: Let i2c-core.h include <linux/i2c.h>
> platform/x86: x86-android-tablets: Add include defining struct
> dmi_system_id
> platform/x86: int3472: Add include defining struct dmi_system_id
> usb: dwc2: Add include defining struct pci_device_id
> ALSA: hda/core: Add include defining struct hda_device_id
> LoongArch: KVM: Add include defining struct cpu_feature
> media: em28xx: Add include for struct usb_device_id
> Replace <linux/mod_devicetable.h> by more specific
> <linux/device-id/*.h> (headers)
> Replace <linux/mod_devicetable.h> by more specific
> <linux/device-id/*.h> (c files)
>
> ...
> drivers/firewire/core-device.c | 1 -
> drivers/firewire/net.c | 1 -
> drivers/firewire/sbp2.c | 1 -
> ...
> drivers/media/firewire/firedtv-fw.c | 1 -
> ...
> include/linux/firewire.h | 3 +-
> ...
> sound/firewire/isight.c | 1 -
> ...
> 1649 files changed, 1575 insertions(+), 2544 deletions(-)
> ...
> create mode 100644 include/linux/device-id/ieee1394.h

I have no objection to the above changes relevant to firewire subsystem.

Acked-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx>

Consequently, unit drivers just include include/linux/firewire.h to refer
to 'struct ieee1394_device_id'. After merging the changes, I'll post more
patches to modify the following unit drivers, since they are left from the
patchset.

* drivers/media/firewire/firedtv.h
* sound/firewire/bebob/bebob.h
* sound/firewire/dice/dice.h
* sound/firewire/digi00x/digi00x.h
* sound/firewire/fireface/ff.h
* sound/firewire/fireworks/fireworks.h
* sound/firewire/motu/motu.h
* sound/firewire/oxfw/oxfw.h
* sound/firewire/tascam/tascam.h

By the way, the changes touch so many files. If it takes more time to
apply, I think it better to make steps to modify across several kernel
generation. For example, getting rid of direct reference of
mod_devicetable.h from drivers at first (in the case of firewire
subsystem, for 'Replace <linux/mod_devicetable.h> by more specific
<linux/device-id/*.h> (headers))', then adding these per-subsystem
headers and applying relevant changes.

Of course, I don't mind to apply the v3 patchset as is in upstream.


Thanks

Takashi Sakamoto