diff options
author | Alex Dubov <oakad@yahoo.com> | 2007-05-01 23:14:55 -0400 |
---|---|---|
committer | Pierre Ossman <drzeus@drzeus.cx> | 2007-05-08 16:41:47 -0400 |
commit | 055b8224140e7a7515bf8113ce675d58abffedf1 (patch) | |
tree | 32528d9920e9819079fce8e0d43f06d75c28da01 /drivers/mmc/host/tifm_sd.c | |
parent | 36f021b579d195cdc5fa6f3e2bab198b4bf70643 (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.c | 13 |
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 | ||
1033 | static int tifm_sd_suspend(struct tifm_dev *sock, pm_message_t state) | 1029 | static 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 | ||
1045 | static int tifm_sd_resume(struct tifm_dev *sock) | 1034 | static int tifm_sd_resume(struct tifm_dev *sock) |