diff options
author | Colin Tuckley <colin.tuckley@arm.com> | 2010-02-24 09:23:10 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-04-28 17:21:52 -0400 |
commit | b56ba8aa6f3aeab23d3d4b1190ed1098463b2a9c (patch) | |
tree | 7b180e5ce9753a1f3c4e7958dba4b7f3446e616f /arch | |
parent | 0ad707407d933841a0f337d6edccbc1d6c83e186 (diff) |
ARM: 5957/1: ARM: RealView SD/MMC Card detection and write-protect using GPIOLIB
The switch to using GPIOLIB broke the sd/mmc card detection on the
RealView development boards if GPIO_PL061 was not selected.
This patch selects GPIO_PL061 if GPIOLIB is selected.
The sense of the return value from mmc_status has also changed
and is corrected.
Signed-off-by: Colin Tuckley <colin.tuckley@arm.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/Kconfig | 1 | ||||
-rw-r--r-- | arch/arm/mach-realview/core.c | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index c5408bf1bf43..92622eb5cc0d 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -253,6 +253,7 @@ config ARCH_REALVIEW | |||
253 | select GENERIC_TIME | 253 | select GENERIC_TIME |
254 | select GENERIC_CLOCKEVENTS | 254 | select GENERIC_CLOCKEVENTS |
255 | select ARCH_WANT_OPTIONAL_GPIOLIB | 255 | select ARCH_WANT_OPTIONAL_GPIOLIB |
256 | select GPIO_PL061 if GPIOLIB | ||
256 | help | 257 | help |
257 | This enables support for ARM Ltd RealView boards. | 258 | This enables support for ARM Ltd RealView boards. |
258 | 259 | ||
diff --git a/arch/arm/mach-realview/core.c b/arch/arm/mach-realview/core.c index f2dbce5f3cd4..d5a95738f85b 100644 --- a/arch/arm/mach-realview/core.c +++ b/arch/arm/mach-realview/core.c | |||
@@ -254,7 +254,7 @@ static unsigned int realview_mmc_status(struct device *dev) | |||
254 | else | 254 | else |
255 | mask = 2; | 255 | mask = 2; |
256 | 256 | ||
257 | return readl(REALVIEW_SYSMCI) & mask; | 257 | return !(readl(REALVIEW_SYSMCI) & mask); |
258 | } | 258 | } |
259 | 259 | ||
260 | struct mmci_platform_data realview_mmc0_plat_data = { | 260 | struct mmci_platform_data realview_mmc0_plat_data = { |