summaryrefslogtreecommitdiff
path: root/arch/arm/mach-ux500/board-u5500-sdi.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-ux500/board-u5500-sdi.c')
-rw-r--r--arch/arm/mach-ux500/board-u5500-sdi.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/arm/mach-ux500/board-u5500-sdi.c b/arch/arm/mach-ux500/board-u5500-sdi.c
index 475e41e0628..ac2a7aac93d 100644
--- a/arch/arm/mach-ux500/board-u5500-sdi.c
+++ b/arch/arm/mach-ux500/board-u5500-sdi.c
@@ -66,6 +66,11 @@ static struct mmci_platform_data u5500_sdi0_data = {
static int u5500_sdi1_ios_handler(struct device *dev, struct mmc_ios *ios)
{
+ static int power_mode = -1;
+
+ if (power_mode == ios->power_mode)
+ return 0;
+
switch (ios->power_mode) {
case MMC_POWER_UP:
case MMC_POWER_ON:
@@ -85,6 +90,7 @@ static int u5500_sdi1_ios_handler(struct device *dev, struct mmc_ios *ios)
break;
}
+ power_mode = ios->power_mode;
return 0;
}