On Thu, Oct 27, 2022 at 03:27:27PM +0300, Vladimir Oltean wrote: > I think we should treat what we committed to in terms of dt-bindings > with utmost respect, so I would consider your proposed revert as the > absolute last option. Reverting a device tree change doesn't mean that > the device trees without the revert will disappear from circulation. > > So far we have 3 options for fixing this within the kernel > > - make tag_ocelot.o and tag_ocelot_8021q.o link into the same > tag_ocelot.ko > > - 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. > > - put a translation table between string and MODULE_ALIAS() inside > dsa_core.ko, which potentially duplicates code. Maybe if we > auto-generate it somehow? Sorry for sending so many emails. I think the problem we should fix first and foremost is that, if there's a user protocol specified in the device tree but the kernel fails to load it, it should simply stick with the default tagging protocol, instead of failing to probe. Everything else can be dealt with as a future refinement.