Re: RFC Need advice on reworking gpio-ep93xx.c to DT support
From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: 2021-05-25 08:44:58
On Mon, Mar 22, 2021 at 11:33 PM Arnd Bergmann [off-list ref] wrote:
On Mon, Mar 22, 2021 at 6:00 PM Alexander Sverdlin [off-list ref] wrote:quoted
On Mon, 2021-03-22 at 19:48 +0300, nikita.shubin@maquefel.me wrote:quoted
quoted
quoted
quoted
Note that the GPIO banks are registered a bit goofy, Ports C and F are not in order. They have been that way since the original Cirrus "crater" code base. If I remember correctly this was somewhere back in the 2.6.x kernel. Please make sure the GPIO numbers stay the same so that any userspace code does not break.quoted
I'm sceptical about this DT convertion.I'm in the same boat. One of the reasons I have not tried to convert it...I find this a bit confusing, so you think ep93xx shouldn't be touched at all ? AFAIK the question is reworking to DT or it will be dropped eventually: https://lore.kernel.org/lkml/CAK8P3a2VW8T+yYUG1pn1yR-5eU4jJXe1+M_ot6DAvfr2KyXCzQ@mail.gmail.com/ (local)I somehow missed the Jan Email even though I should be in the "maintainers" for EP93xx. I still know about thousands of devices running 24/7 with mainline Linux. Is it really about "DT conversion or die"? These systems really have very tight RAM and Flash budgets...I would very much like to see the platform get modernized, though as far as I'm concerned, the DT conversion is not the highest priority here. One thing I really want to see happen is to move the few remaining private implementations of the clk API over to the common-clk framework, and once that is done, allow ep93xx to be built into the same kernel as all other arm9 based platforms. There are still a couple of other platforms that are missing a little work for this, but it should be doable. Unfortunately, building a multiplatform kernel makes the kernel image somewhat larger because it includes the code for CONFIG_OF, though it does not have the runtime overhead for the DT data structures that you get when running a DT-enabled kernel. Enabling CONFIG_USE_OF increased the ep93xx_defconfig build for me by 128KB, replacing the private clk driver with CONFIG_COMMON_CLOCK (and no driver) on top added another 50KB, and finally enabling multiplatform added another 2KB. In total, that is 2.7% total bloat in just the kernel image: text data bss dec hex filename 5677321 1119704 90556 6887581 69189d build/tmp/vmlinux 5782854 1143720 92188 7018762 6b190a build/tmp/vmlinux-use_of 5830020 1153408 89396 7072824 6bec38 build/tmp/vmlinux-of+clk 5829320 1153920 91308 7074548 6bf2f4 build/tmp/vmlinux-multi
Hence you'll get about the same kernel image size increase either
by converting to DT and COMMON_CLOCK now, or by doing nothing and
booting v5.16-rc1 in six months...
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds