Hi Olof, On Wed, Nov 23, 2016 at 12:30 AM, Olof Johansson <olof@xxxxxxxxx> wrote: > On Tue, Nov 22, 2016 at 1:56 AM, Geert Uytterhoeven > <geert@xxxxxxxxxxxxxx> wrote: >> On Mon, Nov 21, 2016 at 5:35 PM, Olof Johansson <olof@xxxxxxxxx> wrote: >>> On Mon, Nov 21, 2016 at 8:27 AM, Geert Uytterhoeven >>> <geert@xxxxxxxxxxxxxx> wrote: >>>> On Mon, Nov 21, 2016 at 5:19 PM, Olof Johansson <olof@xxxxxxxxx> wrote: >>>>> On Mon, Nov 21, 2016 at 1:31 AM, Geert Uytterhoeven >>>>> <geert@xxxxxxxxxxxxxx> wrote: >>>>>> On Sat, Nov 19, 2016 at 2:28 AM, Olof Johansson <olof@xxxxxxxxx> wrote: >>>>>>> Is there a reason you're adding a config option per SoC? >>>>>>> >>>>>>> I think you'd be better off not adding these config options, and just adding >>>>>>> support for the SoCs through compatibles (and adding the drivers to defconfigs, >>>>>>> etc). >>>>>> >>>>>> Yes there is a reason: kernel size. >>>>>> The main offenders are the pinctrl tables, which add ca. 20-50 KiB per >>>>>> supported SoC. >>>>> >>>>> So don't turn on that pinctrl driver unless you have that SoC? >>>> >>>> The enablement of the pinctrl driver (and the clock driver, FWIW) is controlled >>>> by the SoC Kconfig symbol. If you want support for the SoC, you want the >>>> pinctrl driver, too. >>> >>> Oh, that's trivial to fix! Do as almost all other SoCs do, and don't >>> use silent options. >> >> What does that gain us? The ability to enable support for an SoC, without >> enabling the accompanying pinctrl driver, leading to a non-booting system? > > It doesn't enable anything new, it just makes it less awkward for you > to add new SoCs in the future without creating dependencies on new > Kconfig symbols in the arch directory. > >> As soon as you have any pinctrl properties in the DT, you need the pinctrl >> driver. Unless you disable CONFIG_PINCTRL (it's selected, and not >> user-controlled), and rely on fragile reset state/boot loader. >> >> Pinctrl (and clock and irqchip) on-SoC drivers are special: if you fail to >> include them, the system won't boot. > > This isn't about booting without a pinctrl driver. It's about avoiding > adding new config symbols when they're not needed. > > I started out comparing your way of using config options with, for > example, Exynos that has a bunch of different SoCs enabled. Having > dependencies described clearly has some value, since it can be hard to > know if you can turn off a driver and still have a bootable system > with some of the other platforms. > > That being said, I think you should look at changing how you use your > config options to make it less messy to add new ones: [...] Thanks, I'll have a look to see if we can improve things... 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