All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chris Ball <cjb@laptop.org>
To: Arnd Bergmann <arnd@arndb.de>
Cc: Thomas Abraham <thomas.abraham@linaro.org>,
	linux-mmc@vger.kernel.org, devicetree-discuss@lists.ozlabs.org,
	linux-samsung-soc@vger.kernel.org, grant.likely@secretlab.ca,
	rob.herring@calxeda.com, patches@linaro.org,
	Shawn Guo <shawn.guo@linaro.org>,
	Wolfram Sang <w.sang@pengutronix.de>
Subject: Re: [PATCH] mmc: dt: Add 'broken-cd' DT binding
Date: Tue, 21 Aug 2012 10:48:43 -0400	[thread overview]
Message-ID: <87393g5mic.fsf@octavius.laptop.org> (raw)
In-Reply-To: <201208211208.49987.arnd@arndb.de> (Arnd Bergmann's message of "Tue, 21 Aug 2012 12:08:49 +0000")

Hi, adding Shawn and Wolfram,

On Tue, Aug 21 2012, Arnd Bergmann wrote:
> On Tuesday 21 August 2012, Chris Ball wrote:
>> How about this?
>> 
>> broken-cd: No CD available, use polling.
>> 
>> cd-gpios: The CD pin on the host is working and brought out to a GPIO.
>> 
>> external-cd-gpios: The CD pin on the host is broken, but there's an
>>                    independent external GPIO available.
>> 
>> 
>> (Each host should only have one of these properties.)
>
> The fsl-imx-esdhc.txt binding already has all three cases, but
> describes them differently:
>
> fsl,cd-internal: when present, the CD pin on the host is working
> cd-gpios: when present, contains the gpio line that CD is connected to
> If both are absent, it has to use polling.

Aside: the bindings do not match the code.  The bindings document says
to use "fsl,cd-internal", and imx51-babbage.dts does so -- but the code
doesn't check for "fsl,cd-internal", it checks for "fsl,cd-controller":

        if (of_get_property(np, "fsl,cd-controller", NULL))
                boarddata->cd_type = ESDHC_CD_CONTROLLER;

The same confusion is present for fsl,wp-{controller,internal}.

Ignoring that, these bindings are similar, but not the same -- imx-esdhc
only allows one of the cd_type cases to be true, so you either have
cd-internal or you have cd-gpios:

        if (of_get_property(np, "fsl,cd-controller", NULL))
                boarddata->cd_type = ESDHC_CD_CONTROLLER;

        boarddata->cd_gpio = of_get_named_gpio(np, "cd-gpios", 0);
        if (gpio_is_valid(boarddata->cd_gpio))
                boarddata->cd_type = ESDHC_CD_GPIO;

This differs from Thomas's binding -- he wants a way to say "the cd-gpio
mentioned in cd-gpios is [internal/external] to the card's CD pin".

Rob Herring said:
> This makes the most sense to me. However, I prefer broken-cd over
> cd-internal. The binding should add properties for exceptions, not SDHCI
> spec compliant implementations.

Agreed, I was going to say the same thing.  Putting it all together, it
sounds like we want:

no extra properties:  the CD pin on the host just works.
broken-cd:            the CD pin on the host is broken; use polling.
cd-gpios:             the GPIO listed is the CD pin on the host being
                      brought out directly to a GPIO.
cd-external:          when used with cd-gpios, specifies that the GPIO
                      in cd-gpios is external to the CD pin on the host.

cd-gpios and cd-external can be present on the same node.  if broken-cd
is present, it must be the only one of these nodes used.

Shawn, I guess I'll leave it up to you on whether/when you'd like to
move away from the "fsl," properties to the new common ones?

If this looks okay to everyone, I'll send a patch soon.

Thanks!

- Chris.
-- 
Chris Ball   <cjb@laptop.org>   <http://printf.net/>
One Laptop Per Child

  parent reply	other threads:[~2012-08-21 14:48 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-21 11:09 [PATCH] mmc: dt: Add 'broken-cd' DT binding Thomas Abraham
2012-08-21 11:01 ` Arnd Bergmann
2012-08-21 11:14   ` Chris Ball
2012-08-21 11:14   ` Thomas Abraham
2012-08-21 11:56     ` Chris Ball
2012-08-21 12:08       ` Arnd Bergmann
2012-08-21 14:21         ` Rob Herring
2012-08-21 14:48         ` Chris Ball [this message]
2012-08-21 15:03           ` Rob Herring
2012-08-21 15:18             ` Chris Ball
2012-08-21 16:01               ` Rob Herring
2012-08-21 17:33                 ` Thomas Abraham
     [not found]                   ` <CAJuYYwR+oCQUcgoy6ZuHp0XAa+EAj9d-FvLtwsQcP3muFMrKLA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-08-21 18:32                     ` Mitch Bradley
2012-08-22  5:51                   ` Shawn Guo
2012-08-22 10:17                     ` Chris Ball
2012-08-22 10:51                       ` Thomas Abraham
2012-08-22 11:08                         ` Chris Ball
2012-08-22 12:04                           ` Thomas Abraham
2012-08-22 14:54                             ` Chris Ball
2012-08-22 14:59                               ` Thomas Abraham
2012-08-22 18:05                               ` [PATCH] mmc: dt: Add card-detection properties to core binding Chris Ball
2012-08-24  5:44                                 ` Shawn Guo
     [not found]                             ` <CAJuYYwQLUs5qb8NqtPf3=ytNHJ_VdnN8Z4yWwyk2+OTftdWFXw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-08-22 17:09                               ` [PATCH] mmc: dt: Add 'broken-cd' DT binding Mitch Bradley
2012-08-23  6:59                                 ` Thomas Abraham
2012-08-22 14:54                       ` Stephen Warren
2012-08-22 14:58                         ` Chris Ball
2012-08-21 15:21             ` Thomas Abraham
2012-08-22  6:00           ` Shawn Guo
2012-08-22 12:26           ` Shawn Guo
2012-08-22 13:54             ` Chris Ball
2012-08-21 12:30       ` Thomas Abraham
2012-08-21 11:09 ` Thomas Abraham

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=87393g5mic.fsf@octavius.laptop.org \
    --to=cjb@laptop.org \
    --cc=arnd@arndb.de \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=grant.likely@secretlab.ca \
    --cc=linux-mmc@vger.kernel.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=patches@linaro.org \
    --cc=rob.herring@calxeda.com \
    --cc=shawn.guo@linaro.org \
    --cc=thomas.abraham@linaro.org \
    --cc=w.sang@pengutronix.de \
    /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.