From: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
To: Magnus Damm <magnus.damm@gmail.com>
Cc: Rob Herring <robh+dt@kernel.org>, Pawel Moll <pawel.moll@arm.com>,
Mark Rutland <mark.rutland@arm.com>,
"ijc+devicetree@hellion.org.uk" <ijc+devicetree@hellion.org.uk>,
Kumar Gala <galak@codeaurora.org>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"ulf.hansson" <ulf.hansson@linaro.org>,
linux-mmc@vger.kernel.org, SH-Linux <linux-sh@vger.kernel.org>,
Simon, Horms, horms@verge.net.au,
Geert Uytterhoeven <geert+renesas@glider.be>,
Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Subject: Re: [PATCH] DT: mmc: sh_mmcif: fix "compatible" property text
Date: Mon, 3 Aug 2015 18:21:02 +0300 [thread overview]
Message-ID: <55BF86DE.3010001@cogentembedded.com> (raw)
In-Reply-To: <CANqRtoTQjyvBE=diuhicuKRhf-JU85uoAiFuE2-UPWTvxw3FQA@mail.gmail.com>
Hello.
On 08/03/2015 04:09 AM, Magnus Damm wrote:
>>>> The "compatible" property text contradicts even the example given in the
>>>> MMCIF
>>>> binding document itself; moreover, the Renesas MMCIF driver only matches
>>>> on
>>>> the generic "compatible" string, and doesn't look for at SoC specific
>>>> strings
>>>> currently at all. Thus describe "renesas,sh-mmcif" string as mandatory
>>>> and the
>>>> others as optional.
>>>> Fixes: b4c27763d749 ("mmc: sh_mmcif: Document DT bindings")
>>>> Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
>>> Thanks for your efforts trying to improve the DT binding documentation.
>>>> --- renesas.orig/Documentation/devicetree/bindings/mmc/renesas,mmcif.txt
>>>> +++ renesas/Documentation/devicetree/bindings/mmc/renesas,mmcif.txt
>>>> @@ -6,11 +6,11 @@ and the properties used by the MMCIF dev
>>>>
>>>> Required properties:
>>>>
>>>> -- compatible: must contain one of the following
>>>> +- compatible: must contain "renesas,sh-mmcif"; may also contain one of
>>>> + the following:
>>>> - "renesas,mmcif-r8a7740" for the MMCIF found in r8a7740 SoCs
>>>> - "renesas,mmcif-r8a7790" for the MMCIF found in r8a7790 SoCs
>>>> - "renesas,mmcif-r8a7791" for the MMCIF found in r8a7791 SoCs
>>>> - - "renesas,sh-mmcif" for the generic MMCIF
>>> As you know, each SoC contains a wide range of on-chip devices and the
>>> MMCIF device is just one of them. Exactly how to manage the DT
>>> bindings must be up to each maintainer and of course this needs to be
>>> aligned with the SoC maintainer and SoC vendor with policies used for
>>> SoC support and BSPs and whatnot. Changing policy like this for a
>>> single device without at least discussing this with the SoC
>>> maintainers does not help.
>> I'm not changing the policy, I'm making the binding actually reflect the
>> driver reality (and even the example given in the binding).
> Adjusting the binding after driver implementation seems a bit reverse to me.
> The way I see it, first you make a DT binding describing the hardware.
> Then as second step, you make sure the device driver support the
> hardware and the DT binding. As third or second parallel step you
> integrate via a DT.
Everything was done backwards with this binding: first, the driver
implemented the device tree probing, then the bindings were (incorrectly)
documented by Laurent.
> If you are concerned about the order of the compatible strings, unless
> specified by the SoC vendor documentation it is in my opinion up to
> each driver maintainer and/or developer to judge if the hardware is
> compatible or not. So the development activity of determining if the
> devices are compatible shall result in a correct compat string order.
> I'm not so sure if it is required that this order is supposed to be
> documented in the DT binding. Being more clear does not hurt though.
>>> For Renesas hardware we so far use both SoC part number and optionally
>>> a generic binding as well. As commonly expected, the DT binding is
>>> supposed to describe the hardware and if hardware devices are
>>> compatible. Unless we use SoC part number in the compatible string
>>> there is a risk that the SoC integrator simply copy-and-pastes generic
>>> bindings "because it works" but this will result in DT binding based
>>> on software compatibility and not hardware compatibility. Later when
>>> the driver support is extended this may result in broken software due
>>> to incorrect compatibility information through generic bindings.
>>> If anything is unclear please ask and feel free to discuss this DT
>>> topic with Simon, Laurent, Geert and/or me.
>> I didn't quite understand what you're proposing instead. Making SoC based
>> strings mandatory? Changing the driver to look at the SoC based strings?
> I think Laurent describes it pretty well.
The questions now is why he didn't do exactly this when creating the
binding. :-)
> I'm not sure why you feel
> that you need to change the driver though, so I wonder if there is
> some misunderstanding going on here...
I hadn't felt that I need to change the driver before your comment. :-)
> Please understand that all the compat strings included in the DT
> binding document not necessarily have to be used by the driver.
I understand.
> But
> before merging DT integration code it seems customary that the DT
> binding needs to be documented.
It was documented plainly incorrect, that's what all the fuzz was about on
my side.
> Thanks,
> / magnus
MBR, Sergei
next prev parent reply other threads:[~2015-08-03 15:21 UTC|newest]
Thread overview: 76+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-24 22:39 [PATCH 0/2] Add R8A7791/Henninger board DT support Sergei Shtylyov
2014-04-24 22:42 ` [PATCH 1/2] ARM: shmobile: henninger: initial device tree Sergei Shtylyov
2014-04-24 22:44 ` [PATCH 2/2] ARM: shmobile: henninger: add Ether DT support Sergei Shtylyov
2014-04-25 1:31 ` [PATCH 0/2] Add R8A7791/Henninger board " Simon Horman
2015-01-30 22:52 ` [PATCH] ARM: shmobile: silk: initial device tree Sergei Shtylyov
2015-01-31 4:21 ` Simon Horman
2015-01-31 18:27 ` Sergei Shtylyov
[not found] ` <54CD1E79.6090700-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org>
2015-02-02 0:19 ` Simon Horman
2015-02-02 11:03 ` Mark Rutland
2015-02-04 22:46 ` Sergei Shtylyov
[not found] ` <1608366.HtA9yBksdO-gHKXc3Y1Z8zGSmamagVegGFoWSdPRAKMAL8bYrjMMd8@public.gmane.org>
2015-02-02 11:05 ` Mark Rutland
2015-02-02 20:57 ` Sergei Shtylyov
2015-02-03 0:36 ` Simon Horman
2015-02-03 9:53 ` Geert Uytterhoeven
2015-02-04 0:28 ` Simon Horman
[not found] ` <20150203003610.GA17629-/R6kz+dDXgpPR4JQBCEnsQ@public.gmane.org>
2015-02-03 10:48 ` Sergei Shtylyov
2015-02-02 20:49 ` Sergei Shtylyov
2015-02-11 22:06 ` [PATCH] ARM: shmobile: r8a7794: add PFC DT support Sergei Shtylyov
2015-02-12 12:20 ` Geert Uytterhoeven
2015-02-15 16:57 ` Simon Horman
2015-02-15 17:00 ` Simon Horman
2015-02-15 17:02 ` Sergei Shtylyov
2015-07-28 12:45 ` Sergei Shtylyov
2015-07-28 23:44 ` Simon Horman
2015-02-11 22:27 ` [PATCH v2] ARM: shmobile: silk: initial device tree Sergei Shtylyov
2015-02-11 22:41 ` [PATCH] ARM: shmobile: silk: add Ether DT support Sergei Shtylyov
2015-07-27 22:29 ` [PATCH v2] ARM: shmobile: r8a7794: add PFC " Sergei Shtylyov
2015-07-28 23:44 ` Simon Horman
2015-07-28 22:14 ` [PATCH v3] ARM: shmobile: silk: initial device tree Sergei Shtylyov
2015-07-30 0:07 ` Simon Horman
2015-08-03 13:00 ` Geert Uytterhoeven
2015-08-03 15:13 ` Sergei Shtylyov
[not found] ` <55BF8522.1010906-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org>
2015-08-03 15:19 ` Geert Uytterhoeven
2015-08-04 0:53 ` Simon Horman
2015-07-28 22:16 ` [PATCH RESEND] ARM: shmobile: silk: add Ether DT support Sergei Shtylyov
[not found] ` <6826396.5PIZbPW8q4-gHKXc3Y1Z8zGSmamagVegGFoWSdPRAKMAL8bYrjMMd8@public.gmane.org>
2015-07-30 0:08 ` Simon Horman
2015-07-30 19:59 ` [PATCH] DT: mmc: sh_mmcif: fix "compatible" property text Sergei Shtylyov
2015-07-30 20:33 ` Sergei Shtylyov
2015-07-31 2:23 ` Magnus Damm
2015-07-31 9:50 ` Sergei Shtylyov
2015-08-03 1:09 ` Magnus Damm
2015-08-03 15:21 ` Sergei Shtylyov [this message]
2015-07-31 10:46 ` Sergei Shtylyov
2015-08-01 9:41 ` Laurent Pinchart
2015-07-30 21:29 ` [PATCH] DT: mmc: sh_mmcif: document R8A779[34] support Sergei Shtylyov
2015-08-11 22:37 ` [PATCH v2] DT: mmc: sh_mmcif: fix "compatible" property text Sergei Shtylyov
2015-08-12 0:56 ` Simon Horman
2015-08-12 10:41 ` Sergei Shtylyov
2015-08-12 23:58 ` Simon Horman
2015-08-11 22:57 ` [PATCH v2] DT: mmc: sh_mmcif: document R8A779[34] support Sergei Shtylyov
2015-08-12 0:59 ` Simon Horman
2015-08-12 10:38 ` Sergei Shtylyov
2015-08-12 23:59 ` Simon Horman
2015-08-13 9:27 ` Ulrich Hecht
2015-09-29 23:26 ` [PATCH] ARM: shmobile: porter: initial device tree Sergei Shtylyov
[not found] ` <2022535.FYlSB7sRz4-gHKXc3Y1Z8zGSmamagVegGFoWSdPRAKMAL8bYrjMMd8@public.gmane.org>
2015-09-30 6:51 ` Geert Uytterhoeven
2015-09-30 13:33 ` Sergei Shtylyov
2015-09-30 19:08 ` Sergei Shtylyov
2015-09-30 23:01 ` [PATCH v2 1/2] ARM: shmobile: add Porter board DT bindings Sergei Shtylyov
2015-10-01 5:59 ` Geert Uytterhoeven
2015-10-02 1:16 ` Simon Horman
2015-09-30 23:02 ` [PATCH v2 2/2] ARM: shmobile: porter: initial device tree Sergei Shtylyov
2015-10-02 21:53 ` [PATCH] ARM: shmobile: fix SILK board name Sergei Shtylyov
[not found] ` <6818713.ulHphNVRsJ-gHKXc3Y1Z8zGSmamagVegGFoWSdPRAKMAL8bYrjMMd8@public.gmane.org>
2015-10-05 3:03 ` Simon Horman
2015-10-05 22:51 ` [PATCH] ARM: shmobile: porter: add Ether DT support Sergei Shtylyov
2015-10-06 0:45 ` Simon Horman
2015-10-15 22:39 ` [PATCH v3] DT: mmc: sh_mmcif: fix "compatible" property text Sergei Shtylyov
2015-10-16 6:42 ` Geert Uytterhoeven
[not found] ` <2188985.g7lrY44qCa-gHKXc3Y1Z8zGSmamagVegGFoWSdPRAKMAL8bYrjMMd8@public.gmane.org>
2015-10-16 13:07 ` Ulf Hansson
2015-10-15 22:40 ` [PATCH v3] DT: mmc: sh_mmcif: document R8A779[34] support Sergei Shtylyov
2015-10-16 6:42 ` Geert Uytterhoeven
2015-10-16 13:07 ` Ulf Hansson
2015-10-20 20:19 ` Sergei Shtylyov
[not found] ` <5626A1CF.9050309-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org>
2015-10-21 8:38 ` Ulf Hansson
2015-10-21 18:42 ` Sergei Shtylyov
2015-10-27 16:58 ` Geert Uytterhoeven
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=55BF86DE.3010001@cogentembedded.com \
--to=sergei.shtylyov@cogentembedded.com \
--cc=devicetree@vger.kernel.org \
--cc=galak@codeaurora.org \
--cc=geert+renesas@glider.be \
--cc=horms@verge.net.au \
--cc=ijc+devicetree@hellion.org.uk \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-mmc@vger.kernel.org \
--cc=linux-sh@vger.kernel.org \
--cc=magnus.damm@gmail.com \
--cc=mark.rutland@arm.com \
--cc=pawel.moll@arm.com \
--cc=robh+dt@kernel.org \
--cc=ulf.hansson@linaro.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).