Subject: Re: [PATCH net-next 04/11] net: dsa: debugfs: add tag_protocol

From: Andrew Lunn <[email-masked]>
Date: Tue, 15 Aug 2017 00:42:27 +0200

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 <[email-masked]>
> ---
>  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 <[email-masked]>

    Andrew