depends on NET_DSA && PCI
depends on NET_VENDOR_MICROSEMI
depends on NET_VENDOR_FREESCALE
- select MSCC_OCELOT_SWITCH
+ depends on HAS_IOMEM
+ depends on REGMAP_MMIO
+ select MSCC_OCELOT_SWITCH_LIB
select NET_DSA_TAG_OCELOT
select FSL_ENETC_MDIO
help
if NET_VENDOR_MICROSEMI
-config MSCC_OCELOT_SWITCH
- tristate "Ocelot switch driver"
- depends on NET_SWITCHDEV
- depends on HAS_IOMEM
- select PHYLIB
- select REGMAP_MMIO
+# Users should depend on NET_SWITCHDEV, HAS_IOMEM, PHYLIB and REGMAP_MMIO
+config MSCC_OCELOT_SWITCH_LIB
+ tristate
help
- This driver supports the Ocelot network switch device.
+ 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_OCELOT
tristate "Ocelot switch driver on Ocelot"
- depends on MSCC_OCELOT_SWITCH
+ depends on NET_SWITCHDEV
depends on GENERIC_PHY
+ depends on REGMAP_MMIO
+ depends on HAS_IOMEM
+ depends on PHYLIB
depends on OF_NET
+ select MSCC_OCELOT_SWITCH_LIB
help
This driver supports the Ocelot network switch device as present on
the Ocelot SoCs.
# SPDX-License-Identifier: (GPL-2.0 OR MIT)
-obj-$(CONFIG_MSCC_OCELOT_SWITCH) += mscc_ocelot_common.o
-mscc_ocelot_common-y := ocelot.o ocelot_io.o
-mscc_ocelot_common-y += ocelot_regs.o ocelot_tc.o ocelot_police.o ocelot_ace.o ocelot_flower.o ocelot_ptp.o
+obj-$(CONFIG_MSCC_OCELOT_SWITCH_LIB) += mscc_ocelot_switch_lib.o
+mscc_ocelot_switch_lib-y := \
+ ocelot.o \
+ ocelot_io.o \
+ ocelot_regs.o \
+ ocelot_tc.o \
+ ocelot_police.o \
+ ocelot_ace.o \
+ ocelot_flower.o \
+ ocelot_ptp.o
obj-$(CONFIG_MSCC_OCELOT_SWITCH_OCELOT) += mscc_ocelot.o
mscc_ocelot-y := ocelot_vsc7514.o