On Tue, Aug 16, 2011 at 4:37 PM, Arnd Bergmann <arnd@xxxxxxxx> wrote: > On Tuesday 16 August 2011, Linus Walleij wrote: >> Say mmc instance 0 need pingroup foo on pincontroller bar >> means that there must be a specific reference from mmc.0:s >> struct device * to pinctrl bar:s struct device *. Maybe this is >> peanuts in DT, sorry not enough insight. > > I think what you are looking for is the equivalent of the > interrupt-parent property for pinmux. The idea is that each > node in the device tree can point to a device managing the > pinmux, so reference would point to a local number in that > space. We have discussed this for the GPIO case already, and > I suspect that the two should be identical (gpio-controller > and pinmux-controller using the same device node and same > property to refer to them). Yes. I discussed with Grant and his idea is for e.g. advanced combined pincontrol + GPIO blocks that handle a lot of stuff like muxing, biasing and GPIO, to expose a single pinctrl device that in turn provide also a gpio_chip in addition to the pinctrl interfaces so tehy should be all on the same struct device * > Since the pinmux-parent > (gpio-parent, ...) property gets inherited by all child > devices, you only need to set it once at the root of the > device tree for the simple case where there is only one > controller. This will likely be the case for most of the advanced muxes I know of, OMAP, Tegra and Nomadik. Thanks, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html