Re: [PATCH] arm64: Kconfig.platforms: Re-organized Broadcom menu

From: Krzysztof Kozlowski
Date: Wed Jul 13 2022 - 04:40:21 EST

On 13/07/2022 10:25, Arnd Bergmann wrote:
> On Tue, Jul 12, 2022 at 6:42 PM Florian Fainelli <f.fainelli@xxxxxxxxx> wrote:
>> There are now multiple Broadcom SoCs supported so group them under their
>> own menu such that the selection is visually more appealing and we can
>> easily add new platforms there in the future. This allows us to move
>> ARCH_BRCMSTB back to its siblings.
>> No functional changes introduced.
>> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
>> ---
>> Note this is based on "arm64: bcmbca: add arch bcmbca machine entry"
> Hi Florian,
> So far, we have tried to keep the Kconfig.platforms file rather coarse-grained,
> mainly limiting it to company names and high-level families, but avoiding
> sub-menus or adding too many sub-families.
> If we add per-vendor submenus, we should probably first decide how we
> want to structure this across vendors. I've added maintainers and lists to
> Cc for a couple of the ones that are in a similar situation.
> I can see a couple of ways we can do this:
> a) keep the list of platforms as short as possible, combining related
> SoC families from a single vendor wherever possible, but no sub-menus
> (same as today)
> b) Always use sub-menus when there is more than one family, but
> keep relatively coarse platform selection.
> c) Use sub-menus and also move to a more fine-grained SoC
> selection, similar to what we have on 32-bit arm.
> I would not really want to go to c), but a) and b) both make sense to
> me as long as do it consistently across all platforms.
> Any other ideas or opinions?

Whatever we decide here, the SoC can override in drivers/soc, just like
Renesas did. I think Renesas chose option c), but made it in
drivers/soc. I would vote to have consistent policy, so if arch/arm64 is
a) or b), sub-archs should not redefine it in drivers/soc.

Or we could choose d)
d) keep arch/arm64 list of platforms as short as possible, but sub-archs
can do whatever they like on drivers/soc.

Personally, I find fine-grained SoC selection a bit ridiculous
optimization, like compiling kernel, Glibc and userspace with -O3,
-funroll-loops and many other flags. One gets smaller size but looses
multi-platform and ability to test one kernel on different boards.
Therefore I would vote for b) with disallowing drivers/soc defining more
ARCH_ and more SOC_.

Best regards,