Re: [PATCH v8 4/9] mfd: Add binding document for NVIDIA Tegra XUSB

From: Linus Walleij
Date: Thu May 21 2015 - 03:19:14 EST


On Wed, May 20, 2015 at 4:52 PM, Thierry Reding
<thierry.reding@xxxxxxxxx> wrote:

> I'm a little confused by the simple-mfd approach. The only code I see in
> linux-next for this is a single line that adds the "simple-mfd" string
> to the OF device ID table in drivers/of/platform.c. As far as I can tell
> this will merely cause child devices to be created. There won't be a
> shared regmap and resources won't be set up properly either.

That is correct. The simple-mfd is a two-component approach.

Ideally, in the simplest case, you combine simple-mfd with syscon.

foo@0 {
compatible = "foo", "syscon", "simple-mfd";
reg = <0x10000000 0x1000>;

bar@1 {
compatible = "bar";
};

baz@2 {
compatible = "baz";
};
};

This will instantiate bar and baz.

These subdrivers then probe and:

probe() {
struct regmap *map;

map = syscon_node_to_regmap(parent->of_node);
(...)
}

Simple, syscon is the MFD hub.

Yours,
Linus Walleij
--
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/