Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752678AbdHNWmj (ORCPT ); Mon, 14 Aug 2017 18:42:39 -0400 Received: from vps0.lunn.ch ([178.209.37.122]:36354 "EHLO vps0.lunn.ch" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752275AbdHNWmh (ORCPT ); Mon, 14 Aug 2017 18:42:37 -0400 Date: Tue, 15 Aug 2017 00:42:27 +0200 From: Andrew Lunn To: Vivien Didelot Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, kernel@savoirfairelinux.com, "David S. Miller" , Florian Fainelli , Egil Hjelmeland , John Crispin , Woojung Huh , Sean Wang , Volodymyr Bendiuga , Nikita Yushchenko , Maxime Hadjinlian , Chris Healy , Maxim Uvarov , Stefan Eichenberger , Jason Cobham , Juergen Borleis , Tobias Waldekranz Subject: Re: [PATCH net-next 04/11] net: dsa: debugfs: add tag_protocol Message-ID: <20170814224227.GA16885@lunn.ch> References: <20170814222242.10643-1-vivien.didelot@savoirfairelinux.com> <20170814222242.10643-5-vivien.didelot@savoirfairelinux.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170814222242.10643-5-vivien.didelot@savoirfairelinux.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1838 Lines: 69 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 > --- > 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 Andrew