From: linux@arm.linux.org.uk (Russell King - ARM Linux)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 04/12] mmci: allow the card detect status not to be inverted
Date: Thu, 29 Jul 2010 13:34:43 +0100 [thread overview]
Message-ID: <20100729123443.GA18923@n2100.arm.linux.org.uk> (raw)
In-Reply-To: <1277198267-10860-4-git-send-email-rabin.vincent@stericsson.com>
On Tue, Jun 22, 2010 at 02:47:39PM +0530, Rabin Vincent wrote:
> On some platforms, the GPIO value from the gpio_cd pin doesn't need to
> be inverted to get it active high.
Argh.
Actually, I think the inversion of the card status is a bug - certainly
for Versatile it is. It was on Realview as well before b56ba8a changed
the sense for Realview - so it seems b56ba8a was the wrong fix.
So, this patch restores the card detect functionality across the ARM
devel platforms to what it was prior to the addition of GPIOLIB support.
What now needs to happen is the sense of the GPIOLIB support on platforms
needs to be checked - eg, I suspect the card detect via the GPIO primecell
is inverted on Realview - in which case we need a 'cd_invert' rather
than the negative 'cd_noinvert'.
diff --git a/arch/arm/mach-realview/core.c b/arch/arm/mach-realview/core.c
index d8179ea..f9dc99c 100644
--- a/arch/arm/mach-realview/core.c
+++ b/arch/arm/mach-realview/core.c
@@ -243,7 +243,7 @@ static unsigned int realview_mmc_status(struct device *dev)
* way to do this on the PB1176.
*/
inserted = !inserted;
- return inserted ? 0 : 1;
+ return inserted ? 1 : 0;
}
if (adev->res.start == REALVIEW_MMCI0_BASE)
@@ -251,7 +251,7 @@ static unsigned int realview_mmc_status(struct device *dev)
else
mask = 2;
- return !(readl(REALVIEW_SYSMCI) & mask);
+ return readl(REALVIEW_SYSMCI) & mask;
}
struct mmci_platform_data realview_mmc0_plat_data = {
diff --git a/drivers/mmc/host/mmci.c b/drivers/mmc/host/mmci.c
index 9bf9194..02bf365 100644
--- a/drivers/mmc/host/mmci.c
+++ b/drivers/mmc/host/mmci.c
@@ -557,7 +557,7 @@ static int mmci_get_cd(struct mmc_host *mmc)
else
status = gpio_get_value(host->gpio_cd);
- return !status;
+ return status;
}
static const struct mmc_host_ops mmci_ops = {
next prev parent reply other threads:[~2010-07-29 12:34 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-22 9:17 [PATCH 01/12] mmci: use sg_miter API to fix multi-page sg handling Rabin Vincent
2010-06-22 9:17 ` [PATCH 02/12] mmci: fix multi block transfers Rabin Vincent
2010-07-29 13:18 ` Russell King - ARM Linux
2010-07-29 13:31 ` Colin Tuckley
2010-07-29 13:36 ` Russell King - ARM Linux
2010-07-29 13:42 ` Colin Tuckley
2010-07-29 13:55 ` Russell King - ARM Linux
2010-07-29 14:14 ` Russell King - ARM Linux
2010-06-22 9:17 ` [PATCH 03/12] mmci: let core poll for card detection Rabin Vincent
2010-06-22 9:17 ` [PATCH 04/12] mmci: allow the card detect status not to be inverted Rabin Vincent
2010-07-29 12:34 ` Russell King - ARM Linux [this message]
2010-07-29 13:53 ` Linus Walleij
2010-07-29 14:20 ` Russell King - ARM Linux
2010-08-05 6:14 ` Rabin VINCENT
2010-08-05 9:25 ` Russell King - ARM Linux
2010-08-09 10:37 ` Rabin VINCENT
2010-08-09 11:25 ` Russell King - ARM Linux
2010-06-22 9:17 ` [PATCH 05/12] mmci: support card detection interrupts Rabin Vincent
2010-06-22 9:17 ` [PATCH 06/12] mmci: allow neither ->status nor gpio_cd to be specified Rabin Vincent
2010-06-22 9:17 ` [PATCH 07/12] mmci: pass power_mode to the translate_vdd callback Rabin Vincent
2010-06-22 22:03 ` Linus Walleij
2010-06-24 8:27 ` Rabin VINCENT
2010-06-24 8:56 ` Linus WALLEIJ
2010-07-19 12:57 ` [PATCHv2 " Rabin Vincent
2010-06-22 9:17 ` [PATCH 08/12] mmci: add variant data and default MCICLOCK support Rabin Vincent
2010-06-22 9:17 ` [PATCH 09/12] mmci: enable hardware flow control on Ux500 variants Rabin Vincent
2010-06-22 9:17 ` [PATCH 10/12] mmci: support larger MMCIDATALENGTH register Rabin Vincent
2010-06-22 9:17 ` [PATCH 11/12] mmci: support different FIFO sizes Rabin Vincent
2010-06-22 9:17 ` [PATCH 12/12] mmci: support variants with only one irq Rabin Vincent
2010-09-23 20:04 ` Linus Walleij
2010-10-11 0:06 ` [PATCHv2] mmci: work " Rabin Vincent
2010-10-11 9:13 ` Linus Walleij
2010-10-11 9:44 ` Russell King - ARM Linux
2010-10-11 11:10 ` Linus Walleij
2010-10-19 12:52 ` Linus Walleij
2010-07-07 20:34 ` [PATCH 01/12] mmci: use sg_miter API to fix multi-page sg handling Linus Walleij
2010-07-19 13:23 ` [PATCHv2 " Rabin Vincent
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=20100729123443.GA18923@n2100.arm.linux.org.uk \
--to=linux@arm.linux.org.uk \
--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 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).