The 08/02/2023 18:02, Jakub Kicinski wrote: > EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe > > Handful of drivers currently expect to get xdp.h by virtue > of including netdevice.h. This will soon no longer be the case > so add explicit includes. > > Reviewed-by: Wei Fang <wei.fang@xxxxxxx> > Reviewed-by: Gerhard Engleder <gerhard@xxxxxxxxxxxxxxxxxxxxx> > Signed-off-by: Jakub Kicinski <kuba@xxxxxxxxxx> Reviewed-by: Horatiu Vultur <horatiu.vultur@xxxxxxxxxxxxx> > --- > v2: try a little harder with the alphabetic order of includes > > CC: j.vosburgh@xxxxxxxxx > CC: andy@xxxxxxxxxxxxx > CC: shayagr@xxxxxxxxxx > CC: akiyano@xxxxxxxxxx > CC: ioana.ciornei@xxxxxxx > CC: claudiu.manoil@xxxxxxx > CC: vladimir.oltean@xxxxxxx > CC: shenwei.wang@xxxxxxx > CC: xiaoning.wang@xxxxxxx > CC: linux-imx@xxxxxxx > CC: dmichail@xxxxxxxxxxxx > CC: jeroendb@xxxxxxxxxx > CC: pkaligineedi@xxxxxxxxxx > CC: shailend@xxxxxxxxxx > CC: jesse.brandeburg@xxxxxxxxx > CC: anthony.l.nguyen@xxxxxxxxx > CC: horatiu.vultur@xxxxxxxxxxxxx > CC: UNGLinuxDriver@xxxxxxxxxxxxx > CC: kys@xxxxxxxxxxxxx > CC: haiyangz@xxxxxxxxxxxxx > CC: wei.liu@xxxxxxxxxx > CC: decui@xxxxxxxxxxxxx > CC: peppe.cavallaro@xxxxxx > CC: alexandre.torgue@xxxxxxxxxxx > CC: joabreu@xxxxxxxxxxxx > CC: mcoquelin.stm32@xxxxxxxxx > CC: grygorii.strashko@xxxxxx > CC: longli@xxxxxxxxxxxxx > CC: sharmaajay@xxxxxxxxxxxxx > CC: daniel@xxxxxxxxxxxxx > CC: hawk@xxxxxxxxxx > CC: john.fastabend@xxxxxxxxx > CC: simon.horman@xxxxxxxxxxxx > CC: leon@xxxxxxxxxx > CC: linux-hyperv@xxxxxxxxxxxxxxx > CC: bpf@xxxxxxxxxxxxxxx > --- > drivers/net/bonding/bond_main.c | 1 + > drivers/net/ethernet/amazon/ena/ena_netdev.h | 1 + > drivers/net/ethernet/engleder/tsnep.h | 1 + > drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h | 1 + > drivers/net/ethernet/freescale/enetc/enetc.h | 1 + > drivers/net/ethernet/freescale/fec.h | 1 + > drivers/net/ethernet/fungible/funeth/funeth_txrx.h | 1 + > drivers/net/ethernet/google/gve/gve.h | 1 + > drivers/net/ethernet/intel/igc/igc.h | 1 + > drivers/net/ethernet/microchip/lan966x/lan966x_main.h | 1 + > drivers/net/ethernet/microsoft/mana/mana_en.c | 1 + > drivers/net/ethernet/stmicro/stmmac/stmmac.h | 1 + > drivers/net/ethernet/ti/cpsw_priv.h | 1 + > drivers/net/hyperv/hyperv_net.h | 1 + > drivers/net/tap.c | 1 + > include/net/mana/mana.h | 2 ++ > 16 files changed, 17 insertions(+) > > diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c > index 7a0f25301f7e..2f21cca4fdaf 100644 > --- a/drivers/net/bonding/bond_main.c > +++ b/drivers/net/bonding/bond_main.c > @@ -90,6 +90,7 @@ > #include <net/tls.h> > #endif > #include <net/ip6_route.h> > +#include <net/xdp.h> > > #include "bonding_priv.h" > > diff --git a/drivers/net/ethernet/amazon/ena/ena_netdev.h b/drivers/net/ethernet/amazon/ena/ena_netdev.h > index 248b715b4d68..33c923e1261a 100644 > --- a/drivers/net/ethernet/amazon/ena/ena_netdev.h > +++ b/drivers/net/ethernet/amazon/ena/ena_netdev.h > @@ -14,6 +14,7 @@ > #include <linux/interrupt.h> > #include <linux/netdevice.h> > #include <linux/skbuff.h> > +#include <net/xdp.h> > #include <uapi/linux/bpf.h> > > #include "ena_com.h" > diff --git a/drivers/net/ethernet/engleder/tsnep.h b/drivers/net/ethernet/engleder/tsnep.h > index 11b29f56aaf9..6e14c918e3fb 100644 > --- a/drivers/net/ethernet/engleder/tsnep.h > +++ b/drivers/net/ethernet/engleder/tsnep.h > @@ -14,6 +14,7 @@ > #include <linux/net_tstamp.h> > #include <linux/ptp_clock_kernel.h> > #include <linux/miscdevice.h> > +#include <net/xdp.h> > > #define TSNEP "tsnep" > > diff --git a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h > index d56d7a13262e..bfb6c96c3b2f 100644 > --- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h > +++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h > @@ -12,6 +12,7 @@ > #include <linux/fsl/mc.h> > #include <linux/net_tstamp.h> > #include <net/devlink.h> > +#include <net/xdp.h> > > #include <soc/fsl/dpaa2-io.h> > #include <soc/fsl/dpaa2-fd.h> > diff --git a/drivers/net/ethernet/freescale/enetc/enetc.h b/drivers/net/ethernet/freescale/enetc/enetc.h > index 8577cf7699a0..7439739cd81a 100644 > --- a/drivers/net/ethernet/freescale/enetc/enetc.h > +++ b/drivers/net/ethernet/freescale/enetc/enetc.h > @@ -11,6 +11,7 @@ > #include <linux/if_vlan.h> > #include <linux/phylink.h> > #include <linux/dim.h> > +#include <net/xdp.h> > > #include "enetc_hw.h" > > diff --git a/drivers/net/ethernet/freescale/fec.h b/drivers/net/ethernet/freescale/fec.h > index 8f1edcca96c4..5a0974e62f99 100644 > --- a/drivers/net/ethernet/freescale/fec.h > +++ b/drivers/net/ethernet/freescale/fec.h > @@ -22,6 +22,7 @@ > #include <linux/timecounter.h> > #include <dt-bindings/firmware/imx/rsrc.h> > #include <linux/firmware/imx/sci.h> > +#include <net/xdp.h> > > #if defined(CONFIG_M523x) || defined(CONFIG_M527x) || defined(CONFIG_M528x) || \ > defined(CONFIG_M520x) || defined(CONFIG_M532x) || defined(CONFIG_ARM) || \ > diff --git a/drivers/net/ethernet/fungible/funeth/funeth_txrx.h b/drivers/net/ethernet/fungible/funeth/funeth_txrx.h > index 53b7e95213a8..5eec552a1f24 100644 > --- a/drivers/net/ethernet/fungible/funeth/funeth_txrx.h > +++ b/drivers/net/ethernet/fungible/funeth/funeth_txrx.h > @@ -5,6 +5,7 @@ > > #include <linux/netdevice.h> > #include <linux/u64_stats_sync.h> > +#include <net/xdp.h> > > /* Tx descriptor size */ > #define FUNETH_SQE_SIZE 64U > diff --git a/drivers/net/ethernet/google/gve/gve.h b/drivers/net/ethernet/google/gve/gve.h > index 4b425bf71ede..a31256f70348 100644 > --- a/drivers/net/ethernet/google/gve/gve.h > +++ b/drivers/net/ethernet/google/gve/gve.h > @@ -11,6 +11,7 @@ > #include <linux/netdevice.h> > #include <linux/pci.h> > #include <linux/u64_stats_sync.h> > +#include <net/xdp.h> > > #include "gve_desc.h" > #include "gve_desc_dqo.h" > diff --git a/drivers/net/ethernet/intel/igc/igc.h b/drivers/net/ethernet/intel/igc/igc.h > index 9db384f66a8e..4bffc3cb502f 100644 > --- a/drivers/net/ethernet/intel/igc/igc.h > +++ b/drivers/net/ethernet/intel/igc/igc.h > @@ -15,6 +15,7 @@ > #include <linux/net_tstamp.h> > #include <linux/bitfield.h> > #include <linux/hrtimer.h> > +#include <net/xdp.h> > > #include "igc_hw.h" > > diff --git a/drivers/net/ethernet/microchip/lan966x/lan966x_main.h b/drivers/net/ethernet/microchip/lan966x/lan966x_main.h > index 27f272831ea5..eb7d81b5e9f8 100644 > --- a/drivers/net/ethernet/microchip/lan966x/lan966x_main.h > +++ b/drivers/net/ethernet/microchip/lan966x/lan966x_main.h > @@ -14,6 +14,7 @@ > #include <net/pkt_cls.h> > #include <net/pkt_sched.h> > #include <net/switchdev.h> > +#include <net/xdp.h> > > #include <vcap_api.h> > #include <vcap_api_client.h> > diff --git a/drivers/net/ethernet/microsoft/mana/mana_en.c b/drivers/net/ethernet/microsoft/mana/mana_en.c > index ac2acc9aca9d..21665f114fe9 100644 > --- a/drivers/net/ethernet/microsoft/mana/mana_en.c > +++ b/drivers/net/ethernet/microsoft/mana/mana_en.c > @@ -11,6 +11,7 @@ > > #include <net/checksum.h> > #include <net/ip6_checksum.h> > +#include <net/xdp.h> > > #include <net/mana/mana.h> > #include <net/mana/mana_auxiliary.h> > diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac.h b/drivers/net/ethernet/stmicro/stmmac/stmmac.h > index 4ce5eaaae513..a6d034968654 100644 > --- a/drivers/net/ethernet/stmicro/stmmac/stmmac.h > +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac.h > @@ -22,6 +22,7 @@ > #include <linux/net_tstamp.h> > #include <linux/reset.h> > #include <net/page_pool.h> > +#include <net/xdp.h> > #include <uapi/linux/bpf.h> > > struct stmmac_resources { > diff --git a/drivers/net/ethernet/ti/cpsw_priv.h b/drivers/net/ethernet/ti/cpsw_priv.h > index 34230145ca0b..0e27c433098d 100644 > --- a/drivers/net/ethernet/ti/cpsw_priv.h > +++ b/drivers/net/ethernet/ti/cpsw_priv.h > @@ -6,6 +6,7 @@ > #ifndef DRIVERS_NET_ETHERNET_TI_CPSW_PRIV_H_ > #define DRIVERS_NET_ETHERNET_TI_CPSW_PRIV_H_ > > +#include <net/xdp.h> > #include <uapi/linux/bpf.h> > > #include "davinci_cpdma.h" > diff --git a/drivers/net/hyperv/hyperv_net.h b/drivers/net/hyperv/hyperv_net.h > index c9dd69dbe1b8..810977952f95 100644 > --- a/drivers/net/hyperv/hyperv_net.h > +++ b/drivers/net/hyperv/hyperv_net.h > @@ -16,6 +16,7 @@ > #include <linux/hyperv.h> > #include <linux/rndis.h> > #include <linux/jhash.h> > +#include <net/xdp.h> > > /* RSS related */ > #define OID_GEN_RECEIVE_SCALE_CAPABILITIES 0x00010203 /* query only */ > diff --git a/drivers/net/tap.c b/drivers/net/tap.c > index 9137fb8c1c42..b196a2a54355 100644 > --- a/drivers/net/tap.c > +++ b/drivers/net/tap.c > @@ -22,6 +22,7 @@ > #include <net/net_namespace.h> > #include <net/rtnetlink.h> > #include <net/sock.h> > +#include <net/xdp.h> > #include <linux/virtio_net.h> > #include <linux/skb_array.h> > > diff --git a/include/net/mana/mana.h b/include/net/mana/mana.h > index 024ad8ddb27e..1ccdca03e166 100644 > --- a/include/net/mana/mana.h > +++ b/include/net/mana/mana.h > @@ -4,6 +4,8 @@ > #ifndef _MANA_H > #define _MANA_H > > +#include <net/xdp.h> > + > #include "gdma.h" > #include "hw_channel.h" > > -- > 2.41.0 > -- /Horatiu