On Wed, Oct 9, 2013 at 7:42 AM, Shawn Guo <shawn.guo@xxxxxxxxxx> wrote: > It's naturally expected that when there are multiple phandle entries > specified in pinctrl-* property, these entries will be applied > sequentially. And this is how Linux kernel works. So let's define > this behavior in the binding doc. NAK this this a Linux kernel implementation detail. Sherman Yin fixed this up so the drivers does not have to imply any sequence semantic for this. Study commit 03b054e9696c3cbd3d5905ec96da15acd0a2fe8d "pinctrl: Pass all configs to driver on pin_config_set()" It is perfectly legal for a driver to accumulate the settings into e.g. a single register write if it can, e.g.: u32 val = 0; for (i = 0; i < num_configs; i++) { switch() { FOO: val |= 1; break; BAR: val |= 2: break; BAZ: val |=4; break; }; writel(val, base+pinreg); I.e. the driver may choose to apply configs sequentially, but that is not at all necessary. Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html