Commit c38c5a66 authored by Vivien Didelot's avatar Vivien Didelot Committed by David S. Miller

net: dsa: use new port type in helpers

Now that DSA exposes an enumerated type for the ports, we can use them
directly instead of checking bitmaps, which is more consistent.
Signed-off-by: default avatarVivien Didelot <vivien.didelot@savoirfairelinux.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 057cad2c
......@@ -261,36 +261,41 @@ struct dsa_switch {
struct dsa_port ports[];
};
static inline bool dsa_is_unused_port(struct dsa_switch *ds, int p)
static inline const struct dsa_port *dsa_to_port(struct dsa_switch *ds, int p)
{
u32 m = ds->enabled_port_mask | ds->dsa_port_mask | ds->cpu_port_mask;
return &ds->ports[p];
}
return !(m & BIT(p));
static inline bool dsa_is_unused_port(struct dsa_switch *ds, int p)
{
return dsa_to_port(ds, p)->type == DSA_PORT_TYPE_UNUSED;
}
static inline bool dsa_is_cpu_port(struct dsa_switch *ds, int p)
{
return !!(ds->cpu_port_mask & (1 << p));
return dsa_to_port(ds, p)->type == DSA_PORT_TYPE_CPU;
}
static inline bool dsa_is_dsa_port(struct dsa_switch *ds, int p)
{
return !!((ds->dsa_port_mask) & (1 << p));
return dsa_to_port(ds, p)->type == DSA_PORT_TYPE_DSA;
}
static inline bool dsa_is_user_port(struct dsa_switch *ds, int p)
{
return !!(ds->enabled_port_mask & BIT(p));
return dsa_to_port(ds, p)->type == DSA_PORT_TYPE_USER;
}
static inline u32 dsa_user_ports(struct dsa_switch *ds)
{
return ds->enabled_port_mask;
}
u32 mask = 0;
int p;
static inline const struct dsa_port *dsa_to_port(struct dsa_switch *ds, int p)
{
return &ds->ports[p];
for (p = 0; p < ds->num_ports; p++)
if (dsa_is_user_port(ds, p))
mask |= BIT(p);
return mask;
}
static inline u8 dsa_upstream_port(struct dsa_switch *ds)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment