On Mon, 19 Jan 2015, Thierry Reding wrote: > On Sun, Jan 18, 2015 at 10:04:38AM +0000, Lee Jones wrote: > > On Thu, 15 Jan 2015, Linus Walleij wrote: > > > > > On Tue, Jan 13, 2015 at 3:42 AM, Andrew Lunn <andrew@xxxxxxx> wrote: > > > > > > > So i thought about this some more. What would an MFD based solution > > > > look like? > > > > > > > > First issue is backwards compatibility. There are currently around 90 > > > > .dts files using this gpio driver. I could imagine a few of these > > > > being changed to make use of an MFD based driver to make us of the new > > > > features, but the rest expect backwards compatibility. > > > > > > Good point. > > > > > > > I think the only sensible way to achieve this is that the gpio driver > > > > keeps its existing binding. > > > > > > Yup. > > > > > > > This does not really describe the hardware. The hardware is more like: > > > > > > > > gpio: gpio { > > > > compatible = "marvell,orion-gpio"; > > > > reg = <0xd0018100 0x40>; > > > > ngpios = <32>; > > > > gio-controller; > > > > #gpio-cells = <2>; > > > > interrupt-controller; > > > > #interrupt-cells = <2>; > > > > interrupts = <16>, <17>, <18>, <19>; > > > > clocks = <&coreclk 0>; > > > > > > > > pwm: pwm { > > > > compatible = "marvell,armada-pwm"; > > > > reg = <0xd00181c0 0x08>; > > > > #pwm-cells = <2>; > > > > clocks = <&coreclk 0>; > > > > }; > > > > }; > > I think you technically need an (empty) ranges property in the gpio node > so that the address can be properly translated. > > > > > > > > > but i don't think MFD supports that sort of structure? > > > > > > No it would have to be some custom DT code in the GPIO driver > > > spawning the PWM platform device. > > > > of_platform_populate()? > > Huh? I was under the impression that mfd_add_devices() would already > deal with this situation? Isn't that what's parsed based on the cells > parameter? There was talk of this _not_ being an MFD device. I was providing an alternative way to get this device registered. -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html