[PATCH 01/11] mfd: add the Berlin controller driver
Sebastian Hesselbarth
sebastian.hesselbarth at gmail.com
Wed Feb 18 03:10:05 PST 2015
On 18.02.2015 11:40, Lee Jones wrote:
> On Wed, 18 Feb 2015, Antoine Tenart wrote:
[...]
>> chip: chip-controller at 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
More information about the linux-arm-kernel
mailing list