Re: [DT Question] "simple-mfd" DT binding

From: Masahiro Yamada
Date: Wed May 24 2017 - 00:48:52 EST


Hi Lee,

2017-05-23 16:05 GMT+09:00 Lee Jones <lee.jones@xxxxxxxxxx>:
> On Tue, 23 May 2017, Masahiro Yamada wrote:
>
>> Hi Lee, Linus,
>>
>> Thanks for your comments!
>>
>> 2017-05-22 17:43 GMT+09:00 Linus Walleij <linus.walleij@xxxxxxxxxx>:
>> > On Mon, May 22, 2017 at 3:29 AM, Masahiro Yamada
>> > <yamada.masahiro@xxxxxxxxxxxxx> wrote:
>> >
>> >> Because "simple-bus" indicates that child nodes are
>> >> simply memory mapped, but the node "register-bit-led"
>> >> can not be memory-mapped.
>> >> So, "simple-mfd" can not be replaced "simple-bus" here.
>> >
>> > Yeah... just like Lee points out, you are spot on, this is exactly
>> > the reason why we created "simple-mfd" in the first place
>> > IIRC.
>>
>> OK, Linux treats simple-bus and simple-mfd in the same way
>> as far as I see drivers/of/platform.c
>
> Correct. As I said, the functionality of the two are the same. The
> difference is their meaning. Initially we were using "simple-mfd" to
> achieve our aim (see below), but there was push-back due to the
> differences in what the two properties were trying to achieve. Ergo,
> we introduced a second property.
>
>> Perhaps, can we document the difference between simple-bus and
>> simple-mfd clearly?
>> For example, "Unlike simple-bus, it is legitimate that simple-mfd has
>> subnodes without reg property"
>>
>>
>> I think this is typical when "simple-mfd" is used together with "syscon".
>> The child devices will use regmap of the parent node.
>> I'd like to be sure this is valid usage.
>
> "simple-mfd" simply means "register all of my child nodes using the
> platform API without any further intervention". It's goal is to
> prevent the MFD subsystem from being stuffed full of drivers where
> their only purpose is to call of_platform_populate(). All other rules
> and policy which must be followed are generic DT ones. To that end, I
> do not believe making further statements is necessary.

I see. Thanks for your kind explanation!


--
Best Regards
Masahiro Yamada