Messages in this thread | | | Date | Wed, 18 Feb 2015 12:10:05 +0100 | From | Sebastian Hesselbarth <> | Subject | Re: [PATCH 01/11] mfd: add the Berlin controller driver |
| |
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
| |