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

Linus Walleij linus.walleij at linaro.org
Thu May 21 00:19:00 PDT 2015


On Wed, May 20, 2015 at 4:52 PM, Thierry Reding
<thierry.reding at gmail.com> 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 at 0 {
    compatible = "foo", "syscon", "simple-mfd";
    reg = <0x10000000 0x1000>;

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

    baz at 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



More information about the linux-arm-kernel mailing list