On 18.02.2015 11:40, Lee Jones wrote:
On Wed, 18 Feb 2015, Antoine Tenart wrote:
[...]
chip: chip-controller@ea0000 { compatible = "marvell,berlin2q-chip-ctrl", "syscon"; reg = <0xea0000 0x400>, <0xdd0170 0x10>; #clock-cells = <1>; clocks = <&refclk>; clock-names = "refclk";soc_pinctrl: pin-controller { compatible = "marvell,berlin2q-soc-pinctrl"; twsi0_pmux: twsi0-pmux { groups = "G6"; function = "twsi0"; }; twsi1_pmux: twsi1-pmux { groups = "G7"; function = "twsi1"; }; }; chip_rst: reset { compatible = "marvell,berlin2-reset"; #reset-cells = <2>; }; };This is what I'd expect to see in DT, so we're heading in the right direction. So make to my original question, what's the point of this MFD driver, and why don't you just let DT framework register these devices for you? You issue a compatible string here, then duplicate it in the driver, why do you think this is necessary?
Lee, there is no DT framework that automatically probes for compatible<->driver matches. You either make it "simple-bus" compatible which will call of_foo_populate() or you have to register each of the devices yourself. It clearly is not a bus, so if we use this as a workaround, we'll get yelled at by others. Sebastian -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

