On Wed, May 02, 2018 at 07:49:57PM +0100, Robin Murphy wrote: > I guess there's also the possibility that a single driver may want multiple > behaviours, if e.g. if SoC variants A and B have some identical peripherals > but slightly different pinctrl/IOMMU/etc. hardware such that A has workable > default behaviour and can be treated as optional, whereas B absolutely must > be controlled by the kernel for the consumers to function properly, and they > *should* defer forever otherwise. I think that would pretty much demand some > sort of explicitly-curated white/blacklist setup at the subsystem or driver > level. Different board variants, and possibly even different bootloaders might also be an issue here - a vendor bootloader might do pinmuxing that an upstream bootloader doesn't for example. In some cases the pinmuxing even depends on the boot method with things only getting configured if the bootloader wanted to use them.