linux/drivers/net/mdio
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
..
acpi_mdio.c net: mdio: fill in missing MODULE_DESCRIPTION()s 2023-11-01 21:50:57 -07:00
fwnode_mdio.c net: mdio: common handling of phy device reset properties 2025-11-20 17:41:39 -08:00
Kconfig net: mdio: drop unneeded dependency on OF_GPIO 2026-04-29 18:01:48 -07:00
Makefile net: mdio: add a driver for PIC64-HPSC/HX MDIO controller 2026-04-12 14:19:19 -07:00
mdio-airoha.c net: mdio: Check regmap pointer returned by device_node_to_regmap() 2025-11-03 16:20:03 -08:00
mdio-aspeed.c net: mdio: aspeed: add dummy read to avoid read-after-write issue 2025-12-22 12:06:18 +01:00
mdio-bcm-iproc.c net: mdio: Switch back to struct platform_driver::remove() 2024-10-04 16:39:57 -07:00
mdio-bcm-unimac.c net: mdio: mdio-bcm-unimac: Refine incorrect clock message 2025-08-12 17:16:20 -07:00
mdio-bitbang.c net: mdio: fill in missing MODULE_DESCRIPTION()s 2023-11-01 21:50:57 -07:00
mdio-cavium.c net: mdio: cavium: Remove unneeded simicolons 2023-01-17 13:19:05 +01:00
mdio-cavium.h net: mdio: cavium: Separate C22 and C45 transactions 2023-01-13 21:40:53 -08:00
mdio-gpio.c net: mdio-gpio: remove linux/platform_data/mdio-gpio.h 2026-03-18 18:29:57 -07:00
mdio-hisi-femac.c net: mdio: Switch back to struct platform_driver::remove() 2024-10-04 16:39:57 -07:00
mdio-i2c.c Revert "net: phy: sfp: probe for RollBall I2C-to-MDIO bridge in mdio-i2c" 2026-06-29 19:07:42 -07:00
mdio-ipq4019.c net: mdio-ipq4019: add missing error check 2024-11-26 11:01:39 +01:00
mdio-ipq8064.c net: mdio: Switch back to struct platform_driver::remove() 2024-10-04 16:39:57 -07:00
mdio-moxart.c net: mdio: Switch back to struct platform_driver::remove() 2024-10-04 16:39:57 -07:00
mdio-mscc-miim.c net: phy: micrel: use dev_err_probe() 2026-05-19 17:43:39 -07:00
mdio-mux-bcm-iproc.c net: mdio: Switch back to struct platform_driver::remove() 2024-10-04 16:39:57 -07:00
mdio-mux-bcm6368.c net: mdio: Switch back to struct platform_driver::remove() 2024-10-04 16:39:57 -07:00
mdio-mux-gpio.c net: mdio: mux-gpio: use gpiod_multi_set_value_cansleep 2025-06-12 18:37:51 -07:00
mdio-mux-meson-g12a.c net: mdio: Switch back to struct platform_driver::remove() 2024-10-04 16:39:57 -07:00
mdio-mux-meson-gxl.c net: mdio: mux-meson-gxl: set reversed bit when using internal phy 2025-04-29 12:01:53 -07:00
mdio-mux-mmioreg.c net: mdio: Switch back to struct platform_driver::remove() 2024-10-04 16:39:57 -07:00
mdio-mux-multiplexer.c net: mdio: Switch back to struct platform_driver::remove() 2024-10-04 16:39:57 -07:00
mdio-mux.c net: mdio-mux: be compatible with parent buses which only support C45 2023-12-14 18:55:38 -08:00
mdio-mvusb.c net: mdio: mvusb: drop redundant device reference 2026-03-10 19:53:19 -07:00
mdio-octeon.c net: simplify resource acquisition + ioremap 2024-12-06 17:28:34 -08:00
mdio-pic64hpsc.c net: mdio: add a driver for PIC64-HPSC/HX MDIO controller 2026-04-12 14:19:19 -07:00
mdio-realtek-rtl9300.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
mdio-regmap.c net: mdio: Introduce a regmap-based mdio driver 2023-06-05 09:56:36 +01:00
mdio-sun4i.c net: mdio: Switch back to struct platform_driver::remove() 2024-10-04 16:39:57 -07:00
mdio-thunder.c net: mdio: thunder: Use pure PCI devres API 2025-04-28 16:19:16 -07:00
mdio-xgene.c net: mdio: xgene: Fix misleading err message in xgene mdio read 2026-03-05 18:32:01 -08:00
of_mdio.c net: mdio: remove redundant fwnode cleanup 2025-11-25 18:45:37 -08:00