devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Michael Walle <michael@walle.cc>
To: Vladimir Oltean <vladimir.oltean@nxp.com>
Cc: Shawn Guo <shawnguo@kernel.org>, Leo Li <leoyang.li@nxp.com>,
	Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Heiko Thiery <heiko.thiery@gmail.com>,
	Andrew Lunn <andrew@lunn.ch>,
	Florian Fainelli <f.fainelli@gmail.com>
Subject: Re: [PATCH] Revert "arm64: dts: ls1028a: sl28: use ocelot-8021q tagging by default"
Date: Thu, 27 Oct 2022 21:10:20 +0200	[thread overview]
Message-ID: <3ea25819670c088df0cc6f483ab4fe01@walle.cc> (raw)
In-Reply-To: <20221027180445.74btifpmfhkt74zy@skbuf>

Am 2022-10-27 20:04, schrieb Vladimir Oltean:
> On Thu, Oct 27, 2022 at 06:00:04PM +0200, Michael Walle wrote:
>> > - change the MODULE_ALIAS() of all tagging protocol driver modules from
>> >   "dsa_tag-<number" to something containing their string name - what you
>> >   proposed. I don't know why the current MODULE_ALIAS() is formatted the
>> >   way it is. Maybe Andrew can comment on whether this is feasible.
>> >   I think there isn't any backwards compatibility concern, since only
>> >   modules compiled for a certain kernel version are expected to be
>> >   loaded.
>> 
>> FWIW, you can have multiple aliases if we somehow need to keep the 
>> IDs,
>> too.
> 
> Yeah, that's worth exploring, but it means that we have 2 code paths 
> for
> request_module() with different string formats. To me this is slightly
> undesirable, we should try to consolidate the mechanisms in the core.
> 
>> > - put a translation table between string and MODULE_ALIAS() inside
>> >   dsa_core.ko, which potentially duplicates code. Maybe if we
>> >   auto-generate it somehow?
>> 
>> Yeah, I also thought of a table with of name to module alias mapping.
>> But then you'd have two places to keep in sync (of not autogenerated).
> 
> Well, to be fair, this is not exactly true. As far as I could find
> (grep for "ops->name" in net/dsa), there are only 3 instances of 
> reading
> the "name" field of struct dsa_device_ops, and none of them are from a
> fast path.
> 
> I can imagine a table along the lines of:
> 
> static const char * const dsa_tag_proto_names[] = {
> 	[DSA_TAG_PROTO_NONE] = "none",
> 	[DSA_TAG_PROTO_BRCM] = "brcm",
> 	....
> };
> 
> which is then used to directly replace ops->name
> (becomes dsa_tag_proto_names[ops->proto]).
> 
> Then, we could add a new function "dsa_tag_protocol_name_to_id()" or
> something along those lines, and construct the modalias string based on
> that.
> 
> No duplication necessary, since we would remove dsa_device_ops :: name.

If one would a new tagger you'd need to add it to
dsa_tag_proto_names[] as well as adding the tagger source file. Thus,
two places to keep in sync. And you don't have all the information in
one place, e.g. the tagger module. The name of the tagger as used in
sysfs or device tree is then in the core. Just wanted to point that out.
After all it's up to you as the maintainer to decide ;)

-michael

  reply	other threads:[~2022-10-27 19:10 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-27 11:32 [PATCH] Revert "arm64: dts: ls1028a: sl28: use ocelot-8021q tagging by default" Michael Walle
2022-10-27 12:05 ` Vladimir Oltean
2022-10-27 12:27   ` Vladimir Oltean
2022-10-27 12:40     ` Vladimir Oltean
2022-10-27 13:00       ` Michael Walle
2022-10-27 13:54         ` Vladimir Oltean
2022-10-27 16:00     ` Michael Walle
2022-10-27 18:04       ` Vladimir Oltean
2022-10-27 19:10         ` Michael Walle [this message]
2022-10-27 20:36           ` Vladimir Oltean
2022-10-27 16:14 ` Michael Walle

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3ea25819670c088df0cc6f483ab4fe01@walle.cc \
    --to=michael@walle.cc \
    --cc=andrew@lunn.ch \
    --cc=devicetree@vger.kernel.org \
    --cc=f.fainelli@gmail.com \
    --cc=heiko.thiery@gmail.com \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=leoyang.li@nxp.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robh+dt@kernel.org \
    --cc=shawnguo@kernel.org \
    --cc=vladimir.oltean@nxp.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).