On Thu, Sep 23, 2021 at 6:19 PM Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote: > On Thu, Sep 23, 2021 at 3:42 PM Lee Jones <lee.jones@xxxxxxxxxx> wrote: > > On Thu, 23 Sep 2021, Krzysztof Kozlowski wrote: > > > On 23/09/2021 14:39, Lee Jones wrote: > > > > As I've explained before, the trigger for all of this was > > > > SERIAL_SAMSUNG which is required for early console on supported > > > > Samsung platforms i.e. this symbol *has* to be built-in. > > > > > > Actually SERIAL_SAMSUNG does not have to be built-in. It is necessary > > > for built-in only for debugging or development, not for real products. > > > > Right. And in the early stages, GKI is used for early (non-released) > > H/W (this is also the part of the reason these differences can't be > > upstreamed early/now/yet) and sometimes changes break things requiring > > low-level debugging techniques to solve (inc. early console). > > > > > Unlike other drivers which have to be built-in, e.g. clocks or pinctrl, > > > or heavily tested whether setup from initrd works. Plus not breaking > > > distros who like to have everything as module (solution from Geert?)... > > > > We don't know which drivers *need* to be built-in yet. > > > > Clocks is probably not a good example even, since the power-on default > > is most likely all-on, which is fine. Pinctrl remains to be seen. > > Clocks is an excellent example: if a clock is missing, the driver > will fail to probe (unless the clock is considered optional by > the driver), regardless of the power-on or boot loader defaults. > With fw_devlinks=on (which is the default now, and developed by a > Google engineer (GKI or another division?)), the driver won't even > get to the probing point. > > Pinctrl is different, as unless I'm mistaken, drivers will still > probe if the pin control driver is missing, so they will work if the > power-on or boot loader defaults of pin control are fine. In addition, relying on implicit power-on or boot loader state comes with its own set of pitfalls, which may break other use cases. On a heavily power-managed mobile device, clocks and/or power domains can be turned off, so a kernel launched from kexec or kdump may start in a state not adhering to these implicit dependencies. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx 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