linux/arch/powerpc
Linus Torvalds d2c9a99135 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.
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCgAdFiEEP4GsaTp6HlmJrf7Tj4D7WH0S/k4FAmpHSvIACgkQj4D7WH0S
 /k6Rdgf/QqxMIt7DEAN6KvyCnwVnNnvEWQhac/DtYA3NF1JaynieJIoFcimrRr/j
 cntxjz2zlMhLH4CYZ87IunZ7nGZgkMlsnl/OVMm5NY0wq0vVYX6VmpiSvhMAgvjV
 QxKHOAyuVqPslwVE8DF2Vh9mgJILviH5t/yIy8DHF85QBrDSjcd/n6csx09uTjIy
 +D6NuxQ7ZeOi+O2wZuiDhYpD1kwgO1sXAg56ogN1OSTQoo1kkKqj66b5fgbPVm4/
 MX3EBOjKIytX8csfWBJjNSB7aRyWVMkMKmmDO9+7MIq6tPRbc3yYwhu2kZBAw5Pt
 mQfy1oyUi+0jwew4yKHeoVLyWAc4bg==
 =YhFg
 -----END PGP SIGNATURE-----

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
2026-07-02 20:54:26 -10:00
..
boot strncpy removal for v7.2-rc1 2026-06-19 14:56:45 -07:00
configs Char/Misc/IIO/FPGA/GPIB/etc driver updates for 7.2-rc1 2026-06-22 12:20:21 -07:00
crypto crypto: powerpc/aes - use min in ppc_{ecb,cbc,ctr,xts}_crypt 2026-06-05 19:36:36 +08:00
include pci-v7.2-changes 2026-06-24 12:48:43 -07:00
kernel pci-v7.2-changes 2026-06-24 12:48:43 -07:00
kexec powerpc/kexec: fix double get_cpu() imbalance in kexec_prepare_cpus 2026-06-15 16:25:21 +05:30
kvm KVM: PPC: remove hugetlb.h inclusion 2026-04-05 13:53:23 -07:00
lib powerpc: Remove arch-specific strncpy() implementation 2026-06-18 16:37:13 -07:00
math-emu
mm mm.git review status for mm-hotfixes-stable..mm-stable 2026-06-19 10:14:34 -07:00
net bpf: Restrict JIT predictor flush to cBPF 2026-07-01 10:33:38 +02:00
perf powerpc/perf: fix preempt count underflow in fsl_emb_pmu_del 2026-06-15 16:25:21 +05:30
platforms Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
purgatory
sysdev Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
tools powerpc64/ftrace: fix OOL stub count with clang 2026-03-07 16:02:25 +05:30
xmon powerpc/xmon: replace sizeof calculations with ARRAY_SIZE macro 2025-09-01 13:40:46 +05:30
Kbuild powerpc64/ftrace: Move ftrace sequence out of line 2024-10-31 11:00:54 +11:00
Kconfig powerpc updates for 7.2 2026-06-19 07:37:52 -07:00
Kconfig.debug powerpc: fix dead default for GUEST_STATE_BUFFER_TEST 2026-05-12 11:50:52 +05:30
Makefile kbuild: Add missing $(objtree) prefix to powerpc crtsavres.o artifact 2025-09-01 13:41:57 +05:30
Makefile.postlink powerpc/ftrace: Add a postlink script to validate function tracer 2024-10-31 11:00:54 +11:00