Commit d2c9a99135da for kernel

commit d2c9a99135da931377240942d44f3dea104cedb8
Merge: c85167c926e0 995832b2cebe
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Thu Jul 2 20:54:26 2026 -1000

    Merge tag 'device-id-rework' of git://git.kernel.org/pub/scm/linux/kernel/git/ukleinek/linux

    Pull mod_devicetable.h header split from Uwe Kleine-König:
     "Split <linux/mod_devicetable.h> in per subsystem headers

      <linux/mod_devicetable.h> is included transitively in nearly every
      driver in an x86_64 allmodconfig build of v7.1:

          $ find drivers -name \*.o -not -name \*.mod.o | wc -l
          21330
          $ find drivers -name \*.o.cmd -not -name \*.mod.o.cmd | xargs grep -l mod_devicetable.h | wc -l
          17038

      The result of this mixture of different and unrelated subsystem
      details is that even when touching an obscure device id struct most of
      the kernel needs to be recompiled. Given that each driver typically
      only needs one or two of these structures, splitting into per
      subsystem headers and only including what is really needed reduces the
      amount of needed recompilation.

      This split is implemented in the first commit and then after some
      preparatory work in the following commits, the last two replace
      includes of <linux/mod_devicetable.h> by the actually needed more
      specific headers.

      There are still a few instances left, but the ones with high impact
      (that is in headers that are used a lot) and the easy ones (.c files)
      are handled. These remaining includes will be addressed during the
      next merge window"

    * tag 'device-id-rework' of git://git.kernel.org/pub/scm/linux/kernel/git/ukleinek/linux:
      Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files)
      Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (headers)
      parisc: #include <linux/compiler.h> for unlikely() in <asm/ptrace.h>
      media: em28xx: Add include for struct usb_device_id
      LoongArch: KVM: Add include defining struct cpu_feature
      ALSA: hda/core: Add include defining struct hda_device_id
      usb: dwc2: Add include defining struct pci_device_id
      platform/x86: int3472: Add include defining struct dmi_system_id
      platform/x86: x86-android-tablets: Add include defining struct dmi_system_id
      i2c: Let i2c-core.h include <linux/i2c.h>
      of: Explicitly include <linux/types.h> and <linux/err.h>
      platform/x86: msi-ec: Ensure dmi_system_id is defined
      usb: serial: Include <linux/usb.h> in <linux/usb/serial.h>
      driver core: platform: Include header for struct platform_device_id
      driver: core: Include headers for acpi_device_id and of_device_id for struct device_driver
      media: ti: vpe: #include <linux/platform_device.h> explicitly
      mod_devicetable.h: Split into per subsystem headers