Re: [PATCH 01/11] mfd: add the Berlin controller driver

From: Sebastian Hesselbarth
Date: Wed Feb 18 2015 - 06:10:17 EST


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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/