Commit 9f66816a authored by Florian Fainelli's avatar Florian Fainelli Committed by David S. Miller
Browse files

net: dsa: bcm_sf2: Utilize b53_get_tag_protocol()



Utilize the much more capable b53_get_tag_protocol() which takes care of
all Broadcom switches specifics to resolve which port can have Broadcom
tags enabled or not.

Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent e94a62f5
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -1495,8 +1495,7 @@ static bool b53_can_enable_brcm_tags(struct dsa_switch *ds, int port)
	return false;
	return false;
}
}


static enum dsa_tag_protocol b53_get_tag_protocol(struct dsa_switch *ds,
enum dsa_tag_protocol b53_get_tag_protocol(struct dsa_switch *ds, int port)
						  int port)
{
{
	struct b53_device *dev = ds->priv;
	struct b53_device *dev = ds->priv;


@@ -1514,6 +1513,7 @@ static enum dsa_tag_protocol b53_get_tag_protocol(struct dsa_switch *ds,


	return DSA_TAG_PROTO_BRCM;
	return DSA_TAG_PROTO_BRCM;
}
}
EXPORT_SYMBOL(b53_get_tag_protocol);


int b53_mirror_add(struct dsa_switch *ds, int port,
int b53_mirror_add(struct dsa_switch *ds, int port,
		   struct dsa_mall_mirror_tc_entry *mirror, bool ingress)
		   struct dsa_mall_mirror_tc_entry *mirror, bool ingress)
+1 −0
Original line number Original line Diff line number Diff line
@@ -310,6 +310,7 @@ int b53_fdb_dump(struct dsa_switch *ds, int port,
		 dsa_fdb_dump_cb_t *cb, void *data);
		 dsa_fdb_dump_cb_t *cb, void *data);
int b53_mirror_add(struct dsa_switch *ds, int port,
int b53_mirror_add(struct dsa_switch *ds, int port,
		   struct dsa_mall_mirror_tc_entry *mirror, bool ingress);
		   struct dsa_mall_mirror_tc_entry *mirror, bool ingress);
enum dsa_tag_protocol b53_get_tag_protocol(struct dsa_switch *ds, int port);
void b53_mirror_del(struct dsa_switch *ds, int port,
void b53_mirror_del(struct dsa_switch *ds, int port,
		    struct dsa_mall_mirror_tc_entry *mirror);
		    struct dsa_mall_mirror_tc_entry *mirror);
int b53_enable_port(struct dsa_switch *ds, int port, struct phy_device *phy);
int b53_enable_port(struct dsa_switch *ds, int port, struct phy_device *phy);
+1 −7
Original line number Original line Diff line number Diff line
@@ -35,12 +35,6 @@
#include "b53/b53_priv.h"
#include "b53/b53_priv.h"
#include "b53/b53_regs.h"
#include "b53/b53_regs.h"


static enum dsa_tag_protocol bcm_sf2_sw_get_tag_protocol(struct dsa_switch *ds,
							 int port)
{
	return DSA_TAG_PROTO_BRCM;
}

static void bcm_sf2_imp_setup(struct dsa_switch *ds, int port)
static void bcm_sf2_imp_setup(struct dsa_switch *ds, int port)
{
{
	struct bcm_sf2_priv *priv = bcm_sf2_to_priv(ds);
	struct bcm_sf2_priv *priv = bcm_sf2_to_priv(ds);
@@ -861,7 +855,7 @@ static const struct b53_io_ops bcm_sf2_io_ops = {
};
};


static const struct dsa_switch_ops bcm_sf2_ops = {
static const struct dsa_switch_ops bcm_sf2_ops = {
	.get_tag_protocol	= bcm_sf2_sw_get_tag_protocol,
	.get_tag_protocol	= b53_get_tag_protocol,
	.setup			= bcm_sf2_sw_setup,
	.setup			= bcm_sf2_sw_setup,
	.get_strings		= b53_get_strings,
	.get_strings		= b53_get_strings,
	.get_ethtool_stats	= b53_get_ethtool_stats,
	.get_ethtool_stats	= b53_get_ethtool_stats,