aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mmc/host/tifm_sd.c
diff options
context:
space:
mode:
authorAlex Dubov <oakad@yahoo.com>2007-05-01 23:14:55 -0400
committerPierre Ossman <drzeus@drzeus.cx>2007-05-08 16:41:47 -0400
commit055b8224140e7a7515bf8113ce675d58abffedf1 (patch)
tree32528d9920e9819079fce8e0d43f06d75c28da01 /drivers/mmc/host/tifm_sd.c
parent36f021b579d195cdc5fa6f3e2bab198b4bf70643 (diff)
disable socket power in adapter driver instead of media one
Socket power must be fully controlled by adapter driver. This also prevents unnecessary power-off of the socket when media driver is unloaded, yet media remains in the socket. Signed-off-by: Alex Dubov <oakad@yahoo.com> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Diffstat (limited to 'drivers/mmc/host/tifm_sd.c')
-rw-r--r--drivers/mmc/host/tifm_sd.c13
1 files changed, 1 insertions, 12 deletions
diff --git a/drivers/mmc/host/tifm_sd.c b/drivers/mmc/host/tifm_sd.c
index 7511f961c67b..8b736e968447 100644
--- a/drivers/mmc/host/tifm_sd.c
+++ b/drivers/mmc/host/tifm_sd.c
@@ -1021,10 +1021,6 @@ static void tifm_sd_remove(struct tifm_dev *sock)
1021 mmc_remove_host(mmc); 1021 mmc_remove_host(mmc);
1022 dev_dbg(&sock->dev, "after remove\n"); 1022 dev_dbg(&sock->dev, "after remove\n");
1023 1023
1024 /* The meaning of the bit majority in this constant is unknown. */
1025 writel(0xfff8 & readl(sock->addr + SOCK_CONTROL),
1026 sock->addr + SOCK_CONTROL);
1027
1028 mmc_free_host(mmc); 1024 mmc_free_host(mmc);
1029} 1025}
1030 1026
@@ -1032,14 +1028,7 @@ static void tifm_sd_remove(struct tifm_dev *sock)
1032 1028
1033static int tifm_sd_suspend(struct tifm_dev *sock, pm_message_t state) 1029static int tifm_sd_suspend(struct tifm_dev *sock, pm_message_t state)
1034{ 1030{
1035 struct mmc_host *mmc = tifm_get_drvdata(sock); 1031 return mmc_suspend_host(tifm_get_drvdata(sock), state);
1036 int rc;
1037
1038 rc = mmc_suspend_host(mmc, state);
1039 /* The meaning of the bit majority in this constant is unknown. */
1040 writel(0xfff8 & readl(sock->addr + SOCK_CONTROL),
1041 sock->addr + SOCK_CONTROL);
1042 return rc;
1043} 1032}
1044 1033
1045static int tifm_sd_resume(struct tifm_dev *sock) 1034static int tifm_sd_resume(struct tifm_dev *sock)