Re: [PATCH net 0/2] allwinner: a523: Rename emac0 to gmac0
From: Chen-Yu Tsai <wens@kernel.org>
Date: 2025-07-06 13:14:24
Also in:
linux-arm-kernel, linux-devicetree, linux-sunxi
On Sun, Jul 6, 2025 at 7:23 AM Andre Przywara [off-list ref] wrote:
On Sat, 5 Jul 2025 17:53:17 +0200 Andrew Lunn [off-list ref] wrote: Hi Andrew,quoted
quoted
So it's really whatever Allwinner wants to call it. I would rather have the names follow the datasheet than us making some scheme up.Are the datasheets publicly available?We collect them in the sunxi wiki (see the links below), but just to make sure: I am not disputing that GMAC is the name mentioned in the A523 manual, and would have probably been the right name to use originally - even though it's not very consistent, as the same IP is called EMAC in the older SoCs' manuals. I am also not against renaming identifiers or even (internal) DT labels. But the problem here is that the renaming affects the DT compatible string and the pinctrl function name, both of which are used as an interface between the devicetree and its users, which is not only the Linux kernel, but also U-Boot and other OSes like the BSDs.
I reiterate my position: they are not stable until they actually hit a release. This provides some time to fix mistakes before they are set in stone.
In this particular case we would probably get away with it, because it's indeed very early in the development cycle for this SoC, but for instance the "emac0" function name is already used in some U-Boot patch series on the list: https://lore.kernel.org/linux-sunxi/20250323113544.7933-18-andre.przywara@arm.com/ (local) If we REALLY need to rename this, it wouldn't be the end of the world, but would create some churn on the U-Boot side. I just wanted to point out that any changes to the DT bindings have some impact to other projects, even if they are proposed as a coherent series on the Linux side. Hence my question if this is really necessary.
For the compatible string, I can live with having a comment in the binding stating the name used in the datasheet for reference. For the pinctrl stuff, which is the contentious bit here, I thought the whole idea of the newer pinctrl bindings is that the driver uses "allwinner,pinmux" instead of "function". I think having both being valid is confusing, and likely to cause conflicts later on. If we're going to use the hardware register values in the device tree, I'd really like them to be the only source of truth. The commit message for the binding also sort of suggests that "allwinner,pinmux" is the part that matters. ChenYu
Cheers, Andre https://linux-sunxi.org/A64#Documentation https://linux-sunxi.org/H616#Documentation https://linux-sunxi.org/A523#Documentation