The premise of this change is that the switchdev port attributes and objects offloaded by ocelot might have been missed when we are joining an already existing bridge port, such as a bonding interface. The patch pulls these switchdev attributes and objects from the bridge, on behalf of the 'bridge port' net device which might be either the ocelot switch interface, or the bonding upper interface. The ocelot_net.c belongs strictly to the switchdev ocelot driver, while ocelot.c is part of a library shared with the DSA felix driver. The ocelot_port_bridge_leave function (part of the common library) used to call ocelot_port_vlan_filtering(false), something which is not necessary for DSA, since the framework deals with that already there. So we move this function to ocelot_switchdev_unsync, which is specific to the switchdev driver. The code movement described above makes ocelot_port_bridge_leave no longer return an error code, so we change its type from int to void. Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
38 lines
1.0 KiB
Plaintext
38 lines
1.0 KiB
Plaintext
# SPDX-License-Identifier: (GPL-2.0 OR MIT)
|
|
config NET_VENDOR_MICROSEMI
|
|
bool "Microsemi devices"
|
|
default y
|
|
help
|
|
If you have a network (Ethernet) card belonging to this class, say Y.
|
|
|
|
Note that the answer to this question doesn't directly affect the
|
|
kernel: saying N will just cause the configurator to skip all
|
|
the questions about Microsemi devices.
|
|
|
|
if NET_VENDOR_MICROSEMI
|
|
|
|
# Users should depend on NET_SWITCHDEV, HAS_IOMEM, BRIDGE
|
|
config MSCC_OCELOT_SWITCH_LIB
|
|
select NET_DEVLINK
|
|
select REGMAP_MMIO
|
|
select PACKING
|
|
select PHYLIB
|
|
tristate
|
|
help
|
|
This is a hardware support library for Ocelot network switches. It is
|
|
used by switchdev as well as by DSA drivers.
|
|
|
|
config MSCC_OCELOT_SWITCH
|
|
tristate "Ocelot switch driver"
|
|
depends on BRIDGE || BRIDGE=n
|
|
depends on NET_SWITCHDEV
|
|
depends on HAS_IOMEM
|
|
depends on OF_NET
|
|
select MSCC_OCELOT_SWITCH_LIB
|
|
select GENERIC_PHY
|
|
help
|
|
This driver supports the Ocelot network switch device as present on
|
|
the Ocelot SoCs (VSC7514).
|
|
|
|
endif # NET_VENDOR_MICROSEMI
|