diff options
Diffstat (limited to 'drivers/pcmcia')
-rw-r--r-- | drivers/pcmcia/sa1100_h3600.c | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/drivers/pcmcia/sa1100_h3600.c b/drivers/pcmcia/sa1100_h3600.c index 6de4e1b41d60..0cc3748f3758 100644 --- a/drivers/pcmcia/sa1100_h3600.c +++ b/drivers/pcmcia/sa1100_h3600.c | |||
@@ -37,9 +37,9 @@ static void h3600_pcmcia_hw_shutdown(struct soc_pcmcia_socket *skt) | |||
37 | soc_pcmcia_free_irqs(skt, irqs, ARRAY_SIZE(irqs)); | 37 | soc_pcmcia_free_irqs(skt, irqs, ARRAY_SIZE(irqs)); |
38 | 38 | ||
39 | /* Disable CF bus: */ | 39 | /* Disable CF bus: */ |
40 | clr_h3600_egpio(IPAQ_EGPIO_OPT_NVRAM_ON); | 40 | assign_h3600_egpio(IPAQ_EGPIO_OPT_NVRAM_ON, 0); |
41 | clr_h3600_egpio(IPAQ_EGPIO_OPT_ON); | 41 | assign_h3600_egpio(IPAQ_EGPIO_OPT_ON, 0); |
42 | set_h3600_egpio(IPAQ_EGPIO_OPT_RESET); | 42 | assign_h3600_egpio(IPAQ_EGPIO_OPT_RESET, 1); |
43 | } | 43 | } |
44 | 44 | ||
45 | static void | 45 | static void |
@@ -79,10 +79,7 @@ h3600_pcmcia_configure_socket(struct soc_pcmcia_socket *skt, const socket_state_ | |||
79 | return -1; | 79 | return -1; |
80 | } | 80 | } |
81 | 81 | ||
82 | if (state->flags & SS_RESET) | 82 | assign_h3600_egpio(IPAQ_EGPIO_CARD_RESET, !!(state->flags & SS_RESET)); |
83 | set_h3600_egpio(IPAQ_EGPIO_CARD_RESET); | ||
84 | else | ||
85 | clr_h3600_egpio(IPAQ_EGPIO_CARD_RESET); | ||
86 | 83 | ||
87 | /* Silently ignore Vpp, output enable, speaker enable. */ | 84 | /* Silently ignore Vpp, output enable, speaker enable. */ |
88 | 85 | ||
@@ -92,9 +89,9 @@ h3600_pcmcia_configure_socket(struct soc_pcmcia_socket *skt, const socket_state_ | |||
92 | static void h3600_pcmcia_socket_init(struct soc_pcmcia_socket *skt) | 89 | static void h3600_pcmcia_socket_init(struct soc_pcmcia_socket *skt) |
93 | { | 90 | { |
94 | /* Enable CF bus: */ | 91 | /* Enable CF bus: */ |
95 | set_h3600_egpio(IPAQ_EGPIO_OPT_NVRAM_ON); | 92 | assign_h3600_egpio(IPAQ_EGPIO_OPT_NVRAM_ON, 1); |
96 | set_h3600_egpio(IPAQ_EGPIO_OPT_ON); | 93 | assign_h3600_egpio(IPAQ_EGPIO_OPT_ON, 1); |
97 | clr_h3600_egpio(IPAQ_EGPIO_OPT_RESET); | 94 | assign_h3600_egpio(IPAQ_EGPIO_OPT_RESET, 0); |
98 | 95 | ||
99 | msleep(10); | 96 | msleep(10); |
100 | 97 | ||
@@ -112,10 +109,10 @@ static void h3600_pcmcia_socket_suspend(struct soc_pcmcia_socket *skt) | |||
112 | * socket 0 then socket 1. | 109 | * socket 0 then socket 1. |
113 | */ | 110 | */ |
114 | if (skt->nr == 1) { | 111 | if (skt->nr == 1) { |
115 | clr_h3600_egpio(IPAQ_EGPIO_OPT_ON); | 112 | assign_h3600_egpio(IPAQ_EGPIO_OPT_ON, 0); |
116 | clr_h3600_egpio(IPAQ_EGPIO_OPT_NVRAM_ON); | 113 | assign_h3600_egpio(IPAQ_EGPIO_OPT_NVRAM_ON, 0); |
117 | /* hmm, does this suck power? */ | 114 | /* hmm, does this suck power? */ |
118 | set_h3600_egpio(IPAQ_EGPIO_OPT_RESET); | 115 | assign_h3600_egpio(IPAQ_EGPIO_OPT_RESET, 1); |
119 | } | 116 | } |
120 | } | 117 | } |
121 | 118 | ||