linux/drivers/net/ethernet
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
..
3com ethernet: 3c509: Improve style of pnp_device_id array terminator 2026-06-13 14:59:06 -07:00
8390 net: Use named initializer for zorro_device_id arrays 2026-05-28 18:07:11 -07:00
actions
adaptec net: Consistently define pci_device_ids using named initializers 2026-05-12 18:16:34 -07:00
adi treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
aeroflex
agere net: Consistently define pci_device_ids using named initializers 2026-05-12 18:16:34 -07:00
airoha net: airoha: fix max receive size configuration 2026-06-30 11:10:10 +02:00
alacritech Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
alibaba eea: introduce callback for ndo_get_stats64 and register netdev 2026-05-19 12:07:50 +02:00
allwinner treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
altera net: altera-tse: fix skb leak on DMA mapping error in tse_start_xmit() 2026-04-02 18:25:23 -07:00
amazon net: ena: clean up XDP TX queues when regular TX setup fails 2026-06-18 18:11:22 -07:00
amd net: au1000: move free_irq out of the close-time spinlocked section 2026-06-23 19:10:29 -07:00
apm net: xgene: fix mdio_np leak in xgene_mdiobus_register() 2026-05-10 10:16:58 -07:00
apple
aquantia net: atlantic: add AQC113 PTP support in aq_ptp and driver core 2026-06-15 15:38:44 -07:00
arc net: ethernet: arc: emac: quiesce interrupts before requesting IRQ 2026-03-10 19:05:12 -07:00
asix
atheros Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2026-05-21 15:09:02 -07:00
broadcom bnx2x: fix potential memory leak in bnx2x_alloc_mem_bp() 2026-06-22 18:39:12 -07:00
brocade Convert remaining multi-line kmalloc_obj/flex GFP_KERNEL uses 2026-02-22 08:26:33 -08:00
cadence net: macb: add TX stall timeout callback to recover from lost TSTART write 2026-06-18 18:05:11 -07:00
calxeda Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
cavium net: liquidio: fix BAR resource leak on PF number failure 2026-06-26 18:40:52 -07:00
chelsio cxgb4: Fix decode strings dump for T6 adapters 2026-06-30 17:18:28 -07:00
cirrus Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2026-05-14 10:08:06 -07:00
cisco enic: detect admin channel resources for SR-IOV 2026-04-02 18:05:06 -07:00
cortina net: ethernet: cortina: Carry over frag counter 2026-05-12 15:20:16 +02:00
davicom
dec net: Consistently define pci_device_ids using named initializers 2026-05-12 18:16:34 -07:00
dlink net: Consistently define pci_device_ids using named initializers 2026-05-12 18:16:34 -07:00
emulex net: eth: benet: Use strscpy() to copy strings into arrays 2026-06-09 18:06:41 -07:00
engleder Convert remaining multi-line kmalloc_obj/flex GFP_KERNEL uses 2026-02-22 08:26:33 -08:00
ezchip Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
faraday Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
freescale Split <linux/mod_devicetable.h> in per subsystem headers 2026-07-02 20:54:26 -10:00
fungible Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
google net: ethtool: keep rtnl_lock for ops using ethtool_op_get_link() 2026-06-25 10:18:34 -07:00
hisilicon net: hns3: differentiate autoneg default values between copper and fiber 2026-06-25 09:15:44 -07:00
huawei net: Consistently define pci_device_ids using named initializers 2026-05-12 18:16:34 -07:00
i825xx
ibm Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
intel net: ethtool: keep rtnl_lock for ops using ethtool_op_get_link() 2026-06-25 10:18:34 -07:00
litex net: ethernet: litex: use device pointer to simplify code. 2026-02-27 19:25:16 -08:00
marvell Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
mediatek net: ethernet: mtk_ppe: Fix rhashtable leak in mtk_ppe_init error paths 2026-06-21 14:33:43 -07:00
mellanox Split <linux/mod_devicetable.h> in per subsystem headers 2026-07-02 20:54:26 -10:00
meta eth: fbnic: don't cache shinfo across skb realloc 2026-06-29 17:29:15 -07:00
micrel net: Consistently define pci_device_ids using named initializers 2026-05-12 18:16:34 -07:00
microchip net: lan743x: Initialize eth_syslock spinlock before use 2026-06-30 12:13:20 +02:00
microsoft net: ethtool: keep rtnl_lock for ops using ethtool_op_get_link() 2026-06-25 10:18:34 -07:00
moxa
mscc net: mscc: ocelot: validate netdev belongs to switch in .netdev_to_port() 2026-06-09 17:54:34 -07:00
mucse net: Consistently define pci_device_ids using named initializers 2026-05-12 18:16:34 -07:00
myricom Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
natsemi net: Consistently define pci_device_ids using named initializers 2026-05-12 18:16:34 -07:00
netronome bpf-next-7.2 2026-06-17 09:18:14 +01:00
ni
nvidia Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
nxp
oki-semi net: pch_gbe: handle TX skb allocation failure 2026-06-18 18:00:35 -07:00
pasemi Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
pensando ionic: Get "link_down_count" ext link stat from firmware 2026-06-15 18:15:08 -07:00
qlogic qede: fix out-of-bounds check for cqe->len_list[] 2026-06-26 18:51:03 -07:00
qualcomm Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2026-05-21 15:09:02 -07:00
rdc
realtek Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2026-06-04 15:29:04 -07:00
renesas net: ethernet: ravb: Do not check URAM suspension when WoL is active 2026-05-12 18:46:19 -07:00
rocker rocker: Fix memory leak in ofdpa_port_fdb() 2026-06-22 16:05:15 -07:00
samsung Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
seeq
sfc sfc: fix error code in efx_devlink_info_running_versions() 2026-04-30 13:44:30 +02:00
sgi
silan
sis net: ethernet: sis900: correct CONFIG_VLAN_8021Q macro name in comment 2026-06-12 16:13:43 -07:00
smsc net: Consistently define pci_device_ids using named initializers 2026-05-12 18:16:34 -07:00
socionext Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
spacemit Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2026-03-12 12:53:34 -07:00
stmicro Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
sun net: sungem: fix probe error cleanup 2026-06-24 19:26:35 -07:00
sunplus net: ethernet: sunplus: spl2sw: fix phy_node refcount leak in remove 2026-06-24 19:34:56 -07:00
synopsys Convert remaining multi-line kmalloc_obj/flex GFP_KERNEL uses 2026-02-22 08:26:33 -08:00
tehuti
ti net: ti: icssg: Fix XSK zero copy TX during application wakeup 2026-06-23 14:45:32 -07:00
toshiba Convert remaining multi-line kmalloc_obj/flex GFP_KERNEL uses 2026-02-22 08:26:33 -08:00
tundra
vertexcom
via Convert remaining multi-line kmalloc_obj/flex GFP_KERNEL uses 2026-02-22 08:26:33 -08:00
wangxun net: libwx: fix VMDQ mask for 1-queue mode 2026-06-30 11:27:18 +02:00
wiznet w5100: remove unused gpio link detection 2026-05-06 19:18:45 -07:00
xilinx net: axienet: Use dedicated ethtool_ops for the dmaengine path 2026-06-03 19:22:46 -07:00
xircom
xscale Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
ec_bhf.c net: ethernet: ec_bhf: Fix dma_free_coherent() dma handle 2026-02-17 17:16:55 -08:00
ethoc.c
fealnx.c net: Consistently define pci_device_ids using named initializers 2026-05-12 18:16:34 -07:00
jme.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
jme.h
Kconfig eea: introduce PCI framework 2026-05-19 12:07:49 +02:00
korina.c
lantiq_etop.c
lantiq_xrx200.c
Makefile eea: introduce PCI framework 2026-05-19 12:07:49 +02:00
oa_tc6.c net: ethernet: oa_tc6: Remove FCS size in RX frame 2026-06-15 16:32:10 -07:00