linux/drivers/net/ethernet
Vladimir Oltean 2e554a7a5d net: dsa: propagate switchdev vlan_filtering prepare phase to drivers
A driver may refuse to enable VLAN filtering for any reason beyond what
the DSA framework cares about, such as:
- having tc-flower rules that rely on the switch being VLAN-aware
- the particular switch does not support VLAN, even if the driver does
  (the DSA framework just checks for the presence of the .port_vlan_add
  and .port_vlan_del pointers)
- simply not supporting this configuration to be toggled at runtime

Currently, when a driver rejects a configuration it cannot support, it
does this from the commit phase, which triggers various warnings in
switchdev.

So propagate the prepare phase to drivers, to give them the ability to
refuse invalid configurations cleanly and avoid the warnings.

Since we need to modify all function prototypes and check for the
prepare phase from within the drivers, take that opportunity and move
the existing driver restrictions within the prepare phase where that is
possible and easy.

Cc: Florian Fainelli <f.fainelli@gmail.com>
Cc: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Cc: Hauke Mehrtens <hauke@hauke-m.de>
Cc: Woojung Huh <woojung.huh@microchip.com>
Cc: Microchip Linux Driver Support <UNGLinuxDriver@microchip.com>
Cc: Sean Wang <sean.wang@mediatek.com>
Cc: Landen Chao <Landen.Chao@mediatek.com>
Cc: Andrew Lunn <andrew@lunn.ch>
Cc: Vivien Didelot <vivien.didelot@gmail.com>
Cc: Jonathan McDowell <noodles@earth.li>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Alexandre Belloni <alexandre.belloni@bootlin.com>
Cc: Claudiu Manoil <claudiu.manoil@nxp.com>
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-10-05 05:56:48 -07:00
..
3com Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-09-04 21:28:59 -07:00
8390 lib8390: Use netif_msg_init to initialize msg_enable bits 2020-10-01 19:08:46 -07:00
adaptec starfire: switch from 'pci_' to 'dma_' API 2020-08-24 17:33:11 -07:00
aeroflex Replace HTTP links with HTTPS ones: GRETH 10/100/1G Ethernet MAC device driver 2020-07-07 15:44:27 -07:00
agere net: ethernet: et131x: Remove redundant register read 2020-07-17 18:48:15 -07:00
alacritech treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
allwinner net: allwinner: remove redundant irqsave and irqrestore in hardIRQ 2020-09-23 17:33:52 -07:00
alteon net: alteon: convert tasklets to use new tasklet_setup() API 2020-09-14 13:02:37 -07:00
altera
amazon drivers/net/ethernet: remove incorrectly formatted doc 2020-09-25 16:29:00 -07:00
amd net: sun3lance: Remove redundant checks in interrupt handler 2020-09-29 14:02:54 -07:00
apm net: xgene: Move shared header file into include/linux 2020-08-27 06:55:50 -07:00
apple
aquantia drivers/net/ethernet: remove incorrectly formatted doc 2020-09-25 16:29:00 -07:00
arc drivers/net/ethernet: add some basic kdoc tags 2020-09-25 16:29:00 -07:00
atheros net: atheros: Remove WARN_ON(in_interrupt()) 2020-09-29 14:02:53 -07:00
aurora
broadcom bnxt_en: Eliminate unnecessary RX resets. 2020-10-04 14:41:05 -07:00
brocade net: bna: Use fallthrough pseudo-keyword 2020-10-03 17:33:23 -07:00
cadence net: macb: move pdata to private header 2020-09-30 14:18:19 -07:00
calxeda drivers/net/ethernet: clean up mis-targeted comments 2020-09-25 16:29:00 -07:00
cavium drivers/net/ethernet: clean up mis-targeted comments 2020-09-25 16:29:00 -07:00
chelsio net: cxbg4: Remove pointless in_interrupt() check 2020-09-29 14:02:54 -07:00
cirrus ethernet: cirrus: Remove unused macros 2020-08-18 12:54:47 -07:00
cisco net: enic: Cure the enic api locking trainwreck 2020-09-29 14:02:53 -07:00
cortina drivers/net/ethernet: clean up mis-targeted comments 2020-09-25 16:29:00 -07:00
davicom treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
dec drivers/net/ethernet: clean up unused assignments 2020-09-25 16:29:00 -07:00
dlink net: sundance: convert tasklets to use new tasklet_setup() API 2020-09-14 13:02:37 -07:00
emulex treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
ezchip
faraday
freescale dpaa2-eth: add support for devlink parser error drop traps 2020-10-02 16:31:56 -07:00
fujitsu
google gve: Enable Link Speed Reporting in the driver. 2020-09-11 14:31:54 -07:00
hisilicon net: hns3: dump tqp enable status in debugfs 2020-09-29 13:14:24 -07:00
huawei devlink: convert flash_update to use params structure 2020-09-25 17:20:57 -07:00
i825xx
ibm ibmvnic: create send_control_ip_offload 2020-09-28 16:06:08 -07:00
intel net: intel: Remove in_interrupt() warnings 2020-09-29 14:02:54 -07:00
marvell net: mvneta: avoid possible cache misses in mvneta_rx_swbm 2020-09-29 18:10:07 -07:00
mediatek treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
mellanox net/mlx5e: Fix potential null pointer dereference 2020-09-30 21:26:31 -07:00
micrel net: ksz884x: Use fallthrough pseudo-keyword 2020-10-03 17:33:23 -07:00
microchip drivers/net/ethernet: clean up mis-targeted comments 2020-09-25 16:29:00 -07:00
moxa
mscc net: dsa: propagate switchdev vlan_filtering prepare phase to drivers 2020-10-05 05:56:48 -07:00
myricom net: remove napi_hash_del() from driver-facing API 2020-09-10 13:08:46 -07:00
natsemi net: natsemi: Replace in_interrupt() usage. 2020-09-29 14:02:54 -07:00
neterion net: vxge: Remove in_interrupt() conditionals 2020-09-29 14:02:54 -07:00
netronome devlink: convert flash_update to use params structure 2020-09-25 17:20:57 -07:00
ni net: nixge: convert tasklets to use new tasklet_setup() API 2020-09-14 13:02:38 -07:00
nvidia
nxp
oki-semi drivers/net/ethernet: clean up mis-targeted comments 2020-09-25 16:29:00 -07:00
packetengines drivers/net/ethernet: clean up mis-targeted comments 2020-09-25 16:29:00 -07:00
pasemi
pensando ionic: add new bad firmware error code 2020-10-02 16:30:01 -07:00
qlogic qed/qed_ll2: Replace one-element array with flexible-array member 2020-09-28 18:47:48 -07:00
qualcomm drivers/net/ethernet: clean up mis-targeted comments 2020-09-25 16:29:00 -07:00
rdc r6040: switch from 'pci_' to 'dma_' API 2020-07-20 17:49:50 -07:00
realtek net: realtek: Remove set but not used variable 2020-09-23 13:20:29 -07:00
renesas ravb: Add support for explicit internal clock delay configuration 2020-10-01 12:53:31 -07:00
rocker rocker: switch from 'pci_' to 'dma_' API 2020-09-12 18:26:28 -07:00
samsung drivers/net/ethernet: clean up mis-targeted comments 2020-09-25 16:29:00 -07:00
seeq
sfc net: sfc: Use GFP_KERNEL in efx_ef10_try_update_nic_stats() 2020-09-29 14:02:54 -07:00
sgi net: sgi: ioc3-eth: Fix the size used in some 'dma_free_coherent()' calls 2020-08-03 16:00:26 -07:00
silan net: silan: convert tasklets to use new tasklet_setup() API 2020-09-14 13:02:38 -07:00
sis drivers/net/ethernet: clean up mis-targeted comments 2020-09-25 16:29:00 -07:00
smsc net: smc91x: convert tasklets to use new tasklet_setup() API 2020-09-14 13:02:38 -07:00
socionext net: ethernet: ave: Replace alloc_etherdev() with devm_alloc_etherdev() 2020-09-28 12:37:49 -07:00
stmicro stmmac: intel: Adding ref clock 1us tic for LPI cntr 2020-09-28 18:43:57 -07:00
sun net: sunbmac: Replace in_interrupt() usage 2020-09-29 14:02:54 -07:00
synopsys drivers/net/ethernet: clean up unused assignments 2020-09-25 16:29:00 -07:00
tehuti drivers/net/ethernet: clean up mis-targeted comments 2020-09-25 16:29:00 -07:00
ti drivers/net/ethernet: clean up mis-targeted comments 2020-09-25 16:29:00 -07:00
toshiba net: tc35815: switch from 'pci_' to 'dma_' API 2020-09-08 20:16:19 -07:00
tundra
via drivers/net/ethernet: clean up mis-targeted comments 2020-09-25 16:29:00 -07:00
wiznet
xilinx drivers/net/ethernet: remove incorrectly formatted doc 2020-09-25 16:29:00 -07:00
xircom treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
xscale
dnet.c drivers/net/ethernet: clean up unused assignments 2020-09-25 16:29:00 -07:00
dnet.h
ec_bhf.c
ethoc.c drivers/net/ethernet: clean up mis-targeted comments 2020-09-25 16:29:00 -07:00
fealnx.c net/fealnx: switch from 'pci_' to 'dma_' API 2020-07-20 18:32:49 -07:00
jme.c net: jme: convert tasklets to use new tasklet_setup() API 2020-09-14 13:02:37 -07:00
jme.h net: jme: Replace HTTP links with HTTPS ones 2020-07-13 17:45:04 -07:00
Kconfig
korina.c
lantiq_etop.c
lantiq_xrx200.c net: lantiq: Disable IRQs only if NAPI gets scheduled 2020-09-14 14:53:15 -07:00
Makefile