On Mon, Aug 14, 2017 at 06:22:35PM -0400, Vivien Didelot wrote: > Add a debug filesystem "tag_protocol" entry to query the switch tagging > protocol through the .get_tag_protocol operation. > > # cat switch1/tag_protocol > EDSA > > Signed-off-by: Vivien Didelot <vivien.dide...@savoirfairelinux.com> > --- > net/dsa/debugfs.c | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 54 insertions(+) > > diff --git a/net/dsa/debugfs.c b/net/dsa/debugfs.c > index 5607efdb924d..30a732e86161 100644 > --- a/net/dsa/debugfs.c > +++ b/net/dsa/debugfs.c > @@ -109,6 +109,55 @@ static int dsa_debugfs_create_file(struct dsa_switch > *ds, struct dentry *dir, > return 0; > } > > +static int dsa_debugfs_tag_protocol_read(struct dsa_switch *ds, int id, > + struct seq_file *seq) > +{ > + enum dsa_tag_protocol proto; > + > + if (!ds->ops->get_tag_protocol) > + return -EOPNOTSUPP; > + > + proto = ds->ops->get_tag_protocol(ds); > + > + switch (proto) { > + case DSA_TAG_PROTO_NONE: > + seq_puts(seq, "NONE\n"); > + break; > + case DSA_TAG_PROTO_BRCM: > + seq_puts(seq, "BRCM\n"); > + break; > + case DSA_TAG_PROTO_DSA: > + seq_puts(seq, "DSA\n"); > + break; > + case DSA_TAG_PROTO_EDSA: > + seq_puts(seq, "EDSA\n"); > + break; > + case DSA_TAG_PROTO_KSZ: > + seq_puts(seq, "KSZ\n"); > + break; > + case DSA_TAG_PROTO_LAN9303: > + seq_puts(seq, "LAN9303\n"); > + break; > + case DSA_TAG_PROTO_MTK: > + seq_puts(seq, "MTK\n"); > + break; > + case DSA_TAG_PROTO_QCA: > + seq_puts(seq, "QCA\n"); > + break; > + case DSA_TAG_PROTO_TRAILER: > + seq_puts(seq, "TRAILER\n"); > + break; > + default: > + return -EINVAL; > + }
Hi Vivien Minor nitpick. Rather than -EINVAL, how about seq_puts(seq, "Unknown - Please fix %s\n", __func__); Reviewed-by: Andrew Lunn <and...@lunn.ch> Andrew