On Mon, Jul 27, 2020 at 1:57 PM Arnd Bergmann <arnd@xxxxxxxx> wrote: > Overall, my feeling is that making sure all drivers that depend on the pinctrl > driver can deal with deferred probing is a prerequisite before this can be > made a loadable module itself (same for clk, irqchip, etc drivers that others > may rely on). > > I understand that your primary motivation is to fit into Google's GKI framework, > but I think that doing the conversion only partially would neither serve to > improve the kernel nor actually meet the GKI requirements. This has been my worry as well when it comes to these GKI-initiated patches that are flying right now. > Most pinctrl drivers are currently always built-in to work around the > load order dependencies. This of course is a bit of a hack and we'd be > better off if all drivers managed to avoid the dependencies, but this > can also require a lot of work. Several people have argued that it is reasonable to cut corners to achieve the "greater good" of GKI. I try to handle it on a "does the kernel look better after than before" basis, while pushing gently for at least trying to properly modularize the whole thing. It can become pretty hard to test I think. If it is things like GPIO expanders on I2C that can be used by several SoCs I would be more hard on this, on a single SoC not as much. One discussion thread got inflamed because of ARM vs x86 discussions "x86 is better modularized" which is something I want to avoid, it is easy to be modularized when your irqs, clocks, regulators and pins are handled by the BIOS. This is a SoC problem and x86 SoCs with no BIOS, RISCV, ARM and whatever doesn't have a fix-it-all-BIOS have this problem. :/ Yours, Linus Walleij