devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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

  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).