From: lee.jones@linaro.org (Lee Jones)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 01/11] mfd: add the Berlin controller driver
Date: Wed, 18 Feb 2015 11:58:53 +0000 [thread overview]
Message-ID: <20150218115853.GB22296@x1> (raw)
In-Reply-To: <54E4730D.1060507@gmail.com>
On Wed, 18 Feb 2015, Sebastian Hesselbarth wrote:
> 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?
>
> 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.
I do agree that using 'simple-bus' to describe only this IP would be
an abuse. However, my foundation thought/argument is unchanged. This
'driver' is a hack. It has no functional use besides to work around a
problem of semantics and as such has no place in MFD.
Back onto the simple-bus theme, as this is a syscon device it is a bus
of sorts. Have you thought about making it a child of your its syscon
node, then using simple-bus to get the OF framework to register the
child devices?
--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org ? Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
WARNING: multiple messages have this Message-ID (diff)
From: Lee Jones <lee.jones@linaro.org>
To: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Cc: Antoine Tenart <antoine.tenart@free-electrons.com>,
sameo@linux.intel.com, jszhang@marvell.com, zmxu@marvell.com,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, arnd@arndb.de
Subject: Re: [PATCH 01/11] mfd: add the Berlin controller driver
Date: Wed, 18 Feb 2015 11:58:53 +0000 [thread overview]
Message-ID: <20150218115853.GB22296@x1> (raw)
In-Reply-To: <54E4730D.1060507@gmail.com>
On Wed, 18 Feb 2015, Sebastian Hesselbarth wrote:
> 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?
>
> 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.
I do agree that using 'simple-bus' to describe only this IP would be
an abuse. However, my foundation thought/argument is unchanged. This
'driver' is a hack. It has no functional use besides to work around a
problem of semantics and as such has no place in MFD.
Back onto the simple-bus theme, as this is a syscon device it is a bus
of sorts. Have you thought about making it a child of your its syscon
node, then using simple-bus to get the OF framework to register the
child devices?
--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
next prev parent reply other threads:[~2015-02-18 11:58 UTC|newest]
Thread overview: 72+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-11 16:15 [PATCH 00/11] ARM: berlin: refactor chip and system controllers Antoine Tenart
2015-02-11 16:15 ` Antoine Tenart
2015-02-11 16:15 ` [PATCH 01/11] mfd: add the Berlin controller driver Antoine Tenart
2015-02-11 16:15 ` Antoine Tenart
2015-02-16 12:48 ` Lee Jones
2015-02-16 12:48 ` Lee Jones
2015-02-17 9:20 ` Antoine Tenart
2015-02-17 9:20 ` Antoine Tenart
2015-02-17 11:54 ` Lee Jones
2015-02-17 11:54 ` Lee Jones
2015-02-18 8:40 ` Antoine Tenart
2015-02-18 8:40 ` Antoine Tenart
2015-02-18 9:09 ` Lee Jones
2015-02-18 9:09 ` Lee Jones
2015-02-18 9:22 ` Antoine Tenart
2015-02-18 9:22 ` Antoine Tenart
2015-02-18 10:40 ` Lee Jones
2015-02-18 10:40 ` Lee Jones
2015-02-18 10:51 ` Antoine Tenart
2015-02-18 10:51 ` Antoine Tenart
2015-02-18 11:10 ` Sebastian Hesselbarth
2015-02-18 11:10 ` Sebastian Hesselbarth
2015-02-18 11:58 ` Lee Jones [this message]
2015-02-18 11:58 ` Lee Jones
2015-02-18 13:09 ` Sebastian Hesselbarth
2015-02-18 13:09 ` Sebastian Hesselbarth
2015-02-18 15:06 ` Lee Jones
2015-02-18 15:06 ` Lee Jones
2015-02-18 15:07 ` Lee Jones
2015-02-18 15:07 ` Lee Jones
2015-02-18 15:06 ` Arnd Bergmann
2015-02-18 15:06 ` Arnd Bergmann
2015-02-18 15:59 ` Sebastian Hesselbarth
2015-02-18 15:59 ` Sebastian Hesselbarth
2015-02-18 16:15 ` Arnd Bergmann
2015-02-18 16:15 ` Arnd Bergmann
2015-02-18 16:26 ` Lee Jones
2015-02-18 16:26 ` Lee Jones
2015-02-18 10:27 ` Sebastian Hesselbarth
2015-02-18 10:27 ` Sebastian Hesselbarth
2015-02-11 16:15 ` [PATCH 02/11] Documentation: bindings: add the Berlin controller documentation Antoine Tenart
2015-02-11 16:15 ` Antoine Tenart
2015-02-11 16:15 ` [PATCH 03/11] ARM: berlin: select MFD_BERLIN_CTRL Antoine Tenart
2015-02-11 16:15 ` Antoine Tenart
2015-02-11 16:15 ` [PATCH 04/11] reset: berlin: convert to a platform driver Antoine Tenart
2015-02-11 16:15 ` Antoine Tenart
2015-02-11 16:15 ` [PATCH 05/11] Documentation: bindings: move the Berlin reset documentation Antoine Tenart
2015-02-11 16:15 ` Antoine Tenart
2015-02-11 16:15 ` [PATCH 06/11] pinctrl: berlin: use the regmap provided by syscon Antoine Tenart
2015-02-11 16:15 ` Antoine Tenart
2015-03-05 9:38 ` Linus Walleij
2015-03-05 9:38 ` Linus Walleij
2015-02-11 16:15 ` [PATCH 07/11] pinctrl: berlin: use proper compatibles Antoine Tenart
2015-02-11 16:15 ` Antoine Tenart
2015-03-05 9:39 ` Linus Walleij
2015-03-05 9:39 ` Linus Walleij
2015-02-11 16:15 ` [PATCH 08/11] Documentation: bindings: move the Berlin pinctrl documentation Antoine Tenart
2015-02-11 16:15 ` Antoine Tenart
2015-03-05 9:41 ` Linus Walleij
2015-03-05 9:41 ` Linus Walleij
2015-02-11 16:15 ` [PATCH 09/11] ARM: berlin: rework chip and system controller nodes for BG2 Antoine Tenart
2015-02-11 16:15 ` Antoine Tenart
2015-02-18 10:29 ` Sebastian Hesselbarth
2015-02-18 10:29 ` Sebastian Hesselbarth
2015-02-18 10:33 ` Antoine Tenart
2015-02-18 10:33 ` Antoine Tenart
2015-02-18 10:35 ` Sebastian Hesselbarth
2015-02-18 10:35 ` Sebastian Hesselbarth
2015-02-11 16:15 ` [PATCH 10/11] ARM: berlin: rework chip and system controller nodes for BG2CD Antoine Tenart
2015-02-11 16:15 ` Antoine Tenart
2015-02-11 16:15 ` [PATCH 11/11] ARM: berlin: rework chip and system controller nodes for BG2Q Antoine Tenart
2015-02-11 16:15 ` Antoine Tenart
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150218115853.GB22296@x1 \
--to=lee.jones@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.