All of lore.kernel.org
 help / color / mirror / Atom feed
From: Doug Anderson <dianders@chromium.org>
To: Seungwon Jeon <tgih.jun@samsung.com>
Cc: linux-samsung-soc@vger.kernel.org,
	Thomas Abraham <thomas.abraham@linaro.org>,
	Kukjin Kim <kgene.kim@samsung.com>,
	Olof Johansson <olof@lixom.net>, Arnd Bergmann <arnd@arndb.de>,
	Will Newton <will.newton@imgtec.com>, Chris Ball <cjb@laptop.org>,
	Jaehoon Chung <jh80.chung@samsung.com>,
	linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 1/2] mmc: dw_mmc: exynos: Stop claiming wp-gpio
Date: Wed, 28 Nov 2012 10:20:03 -0800	[thread overview]
Message-ID: <CAD=FV=Xdb5W_WrDPgxaTzMOYNP7DpD6Gztq9k2B85z1boUV+3w@mail.gmail.com> (raw)
In-Reply-To: <001a01cdcd4a$cf01ad40$6d0507c0$%jun@samsung.com>

Seungwon,

Thanks for the review.  See below for comments.  If you'd like me to
respin then please let me know.  Otherwise I look forward to your ack.

On Wed, Nov 28, 2012 at 1:29 AM, Seungwon Jeon <tgih.jun@samsung.com> wrote:
> Yes. pin of write protection is common property.
> This change is good. I have some suggestion below.
> Could you check it?
>
> On Friday, November 23, 2012, Doug Anderson wrote:
>> The exynos code claimed wp-gpio with devm_gpio_request() but never did
>> anything with it.  That meant that anyone using a write protect GPIO
>> would effectively be write protected all the time.
>>
>> A future change will move the wp-gpio support to the core dw_mmc.c
>> file.  Now the exynos-specific code won't claim the GPIO but will
>> just set the DW_MCI_QUIRK_NO_WRITE_PROTECT quirk if write protect
>> won't be used.
>>
>> Signed-off-by: Doug Anderson <dianders@chromium.org>
>>
>> ---
>> Changes in v2:
>> - Nothing new in this patch
>>
>>  drivers/mmc/host/dw_mmc-exynos.c |   12 ++++++------
>>  1 files changed, 6 insertions(+), 6 deletions(-)
>>
>> diff --git a/drivers/mmc/host/dw_mmc-exynos.c b/drivers/mmc/host/dw_mmc-exynos.c
>> index 4d50da6..58cc03e 100644
>> --- a/drivers/mmc/host/dw_mmc-exynos.c
>> +++ b/drivers/mmc/host/dw_mmc-exynos.c
>> @@ -175,12 +175,12 @@ static int dw_mci_exynos_setup_bus(struct dw_mci *host,
>>               }
>>       }
>>
>> -     gpio = of_get_named_gpio(slot_np, "wp-gpios", 0);
>> -     if (gpio_is_valid(gpio)) {
>> -             if (devm_gpio_request(host->dev, gpio, "dw-mci-wp"))
>> -                     dev_info(host->dev, "gpio [%d] request failed\n",
>> -                                             gpio);
>> -     } else {
>> +     /*
>> +      * If there are no write-protect GPIOs present then we assume no write
>> +      * protect.  The mci_readl() in dw_mmc.c won't work since it's not
>> +      * hooked up on exynos.
>> +      */
>> +     if (!of_find_property(slot_np, "wp-gpios", NULL)) {
>>               dev_info(host->dev, "wp gpio not available");
>>               host->pdata->quirks |= DW_MCI_QUIRK_NO_WRITE_PROTECT;
>>       }
> All card types need this quirk in case wp-gpio property is empty?
> I think wp-pin is valid for SD card, not eMMC/SDIO.

Right.  It is only checked right now by the SD code (mmc/core/sd.c).
It doesn't particularly hurt to set it the quirk in other cases though
and it seems nice not to add special cases.  I could imagine someone
extending the MMC code at some point to support write protect (via
GPIO) for eMMC, so there's even a slight justification for avoiding
the special case.


> Of course, I know origin code did it.
> How about removing whole checking routine?
> Instead, new definition for this quirk can be added into 'dw_mci_of_quirks'(dw_mmc.c) and dts file.

On _exynos_ all SD cards need this quirk if there is no wp-gpio
property.  However this is not generally true for all users of dw_mmc.
 The DesignWare IP Block actually has a write protect input that can
be read with "mci_readl(slot->host, WRTPRT)" but on exynos the
DesignWare write protect line isn't exposed on any physical pins.
That means that the only possible way to do write protect on exynos is
using a GPIO.

The above means that on exynos if the GPIO isn't defined we will
assume no write protect.  On other platforms if the GPIO isn't defined
we'll assume that the "mci_readl" will work and we'll use that.

If people would prefer it I can code up an alternate solution that
doesn't touch any exynos code but that would introduce a new device
tree binding.  We could accomplish what's needed for exynos using a
property like "broken-internal-wp".

Please let me know if you'd like me to submit a new patch with this
solution or if you like the existing solution.


> Thanks,
> Seungwon Jeon
>> --
>> 1.7.7.3
>

  reply	other threads:[~2012-11-28 18:20 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-21 22:03 [PATCH 1/2] mmc: dw_mmc: exynos: Stop claiming wp-gpio Doug Anderson
2012-11-21 22:03 ` [PATCH 2/2] mmc: dw_mmc: Handle wp-gpios from device tree Doug Anderson
2012-11-22  1:42   ` Seungwon Jeon
2012-11-22  4:33     ` Doug Anderson
2012-11-22  5:49       ` Seungwon Jeon
2012-11-22  1:55   ` Jaehoon Chung
2012-11-22  4:43     ` Doug Anderson
2012-11-22 22:53 ` [PATCH v2 1/2] mmc: dw_mmc: exynos: Stop claiming wp-gpio Doug Anderson
2012-11-22 22:53   ` [PATCH v2 2/2] mmc: dw_mmc: Handle wp-gpios from device tree Doug Anderson
2012-11-28  9:29   ` [PATCH v2 1/2] mmc: dw_mmc: exynos: Stop claiming wp-gpio Seungwon Jeon
2012-11-28 18:20     ` Doug Anderson [this message]
2012-11-29  7:46       ` Seungwon Jeon
2012-11-30  5:07         ` Doug Anderson
2012-11-30  5:04   ` [PATCH v3 1/4] mmc: dw_mmc: Add "disable-wp" device tree property Doug Anderson
2012-11-30  5:04     ` [PATCH v3 2/4] ARM: dts: Add disable-wp for sd card slot on smdk5250 Doug Anderson
2012-11-30  5:04       ` Doug Anderson
2012-11-30  5:04     ` [PATCH v3 3/4] mmc: dw_mmc: exynos: Remove code for wp-gpios Doug Anderson
2012-11-30  5:04     ` [PATCH v3 4/4] mmc: dw_mmc: Handle wp-gpios from device tree Doug Anderson
2012-11-30 11:57     ` [PATCH v3 1/4] mmc: dw_mmc: Add "disable-wp" device tree property Seungwon Jeon
2012-12-20  0:56       ` Doug Anderson
2013-01-10 18:24     ` [REPOST PATCH " Doug Anderson
2013-01-10 18:24       ` Doug Anderson
2013-01-10 18:24       ` [REPOST PATCH v3 2/4] ARM: dts: Add disable-wp for sd card slot on smdk5250 Doug Anderson
2013-01-10 18:24         ` Doug Anderson
2013-01-10 18:24       ` [REPOST PATCH v3 3/4] mmc: dw_mmc: exynos: Remove code for wp-gpios Doug Anderson
2013-01-10 18:24       ` [REPOST PATCH v3 4/4] mmc: dw_mmc: Handle wp-gpios from device tree Doug Anderson
2013-01-10 23:01       ` [REPOST PATCH v3 1/4] mmc: dw_mmc: Add "disable-wp" device tree property Olof Johansson
2013-01-10 23:23         ` Doug Anderson
2013-01-10 23:57           ` Doug Anderson
2013-01-11 17:03       ` [PATCH v4 1/5] " Doug Anderson
2013-01-11 17:03         ` [PATCH v4 2/5] ARM: dts: Add disable-wp for sd card slot on smdk5250 Doug Anderson
2013-01-11 17:03           ` Doug Anderson
2013-01-15  6:27           ` Olof Johansson
2013-01-15  6:27             ` Olof Johansson
2013-01-11 17:03         ` [PATCH v4 3/5] mmc: dw_mmc: exynos: Remove code for wp-gpios Doug Anderson
2013-01-15  6:25           ` Olof Johansson
2013-01-11 17:03         ` [PATCH v4 4/5] mmc: dw_mmc: Handle wp-gpios from device tree Doug Anderson
2013-01-15  6:27           ` Olof Johansson
2013-01-11 17:03         ` [PATCH v4 5/5] mmc: dw_mmc: Remove DW_MCI_QUIRK_NO_WRITE_PROTECT Doug Anderson
2013-01-14 10:47           ` Will Newton
2013-01-14 16:09             ` Doug Anderson
2013-01-28 21:14               ` Chris Ball
2013-01-28 21:14                 ` Chris Ball
2013-01-15  6:28           ` Olof Johansson
2013-01-11 17:12         ` [PATCH v4 1/5] mmc: dw_mmc: Add "disable-wp" device tree property Will Newton
2013-01-15  6:20         ` Olof Johansson
2013-01-15  6:20           ` Olof Johansson

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='CAD=FV=Xdb5W_WrDPgxaTzMOYNP7DpD6Gztq9k2B85z1boUV+3w@mail.gmail.com' \
    --to=dianders@chromium.org \
    --cc=arnd@arndb.de \
    --cc=cjb@laptop.org \
    --cc=jh80.chung@samsung.com \
    --cc=kgene.kim@samsung.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=olof@lixom.net \
    --cc=tgih.jun@samsung.com \
    --cc=thomas.abraham@linaro.org \
    --cc=will.newton@imgtec.com \
    /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.