summaryrefslogtreecommitdiff
path: root/drivers/pcmcia/sa1100_h3600.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/pcmcia/sa1100_h3600.c')
-rw-r--r--drivers/pcmcia/sa1100_h3600.c60
1 files changed, 1 insertions, 59 deletions
diff --git a/drivers/pcmcia/sa1100_h3600.c b/drivers/pcmcia/sa1100_h3600.c
index a91222bc3824..a6d387d9ec4d 100644
--- a/drivers/pcmcia/sa1100_h3600.c
+++ b/drivers/pcmcia/sa1100_h3600.c
@@ -33,24 +33,6 @@ static int h3600_pcmcia_hw_init(struct soc_pcmcia_socket *skt)
switch (skt->nr) {
case 0:
- err = gpio_request(H3XXX_EGPIO_OPT_NVRAM_ON, "OPT NVRAM ON");
- if (err)
- goto err01;
- err = gpio_direction_output(H3XXX_EGPIO_OPT_NVRAM_ON, 0);
- if (err)
- goto err03;
- err = gpio_request(H3XXX_EGPIO_OPT_ON, "OPT ON");
- if (err)
- goto err03;
- err = gpio_direction_output(H3XXX_EGPIO_OPT_ON, 0);
- if (err)
- goto err04;
- err = gpio_request(H3XXX_EGPIO_OPT_RESET, "OPT RESET");
- if (err)
- goto err04;
- err = gpio_direction_output(H3XXX_EGPIO_OPT_RESET, 0);
- if (err)
- goto err05;
err = gpio_request(H3XXX_EGPIO_CARD_RESET, "PCMCIA CARD RESET");
if (err)
goto err05;
@@ -64,11 +46,7 @@ static int h3600_pcmcia_hw_init(struct soc_pcmcia_socket *skt)
return 0;
err06: gpio_free(H3XXX_EGPIO_CARD_RESET);
-err05: gpio_free(H3XXX_EGPIO_OPT_RESET);
-err04: gpio_free(H3XXX_EGPIO_OPT_ON);
-err03: gpio_free(H3XXX_EGPIO_OPT_NVRAM_ON);
-err01: gpio_free(H3XXX_GPIO_PCMCIA_IRQ0);
- return err;
+err05: return err;
}
static void h3600_pcmcia_hw_shutdown(struct soc_pcmcia_socket *skt)
@@ -76,14 +54,7 @@ static void h3600_pcmcia_hw_shutdown(struct soc_pcmcia_socket *skt)
switch (skt->nr) {
case 0:
/* Disable CF bus: */
- gpio_set_value(H3XXX_EGPIO_OPT_NVRAM_ON, 0);
- gpio_set_value(H3XXX_EGPIO_OPT_ON, 0);
- gpio_set_value(H3XXX_EGPIO_OPT_RESET, 1);
-
gpio_free(H3XXX_EGPIO_CARD_RESET);
- gpio_free(H3XXX_EGPIO_OPT_RESET);
- gpio_free(H3XXX_EGPIO_OPT_ON);
- gpio_free(H3XXX_EGPIO_OPT_NVRAM_ON);
break;
case 1:
break;
@@ -115,41 +86,12 @@ h3600_pcmcia_configure_socket(struct soc_pcmcia_socket *skt, const socket_state_
return 0;
}
-static void h3600_pcmcia_socket_init(struct soc_pcmcia_socket *skt)
-{
- /* Enable CF bus: */
- gpio_set_value(H3XXX_EGPIO_OPT_NVRAM_ON, 1);
- gpio_set_value(H3XXX_EGPIO_OPT_ON, 1);
- gpio_set_value(H3XXX_EGPIO_OPT_RESET, 0);
-
- msleep(10);
-}
-
-static void h3600_pcmcia_socket_suspend(struct soc_pcmcia_socket *skt)
-{
- /*
- * FIXME: This doesn't fit well. We don't have the mechanism in
- * the generic PCMCIA layer to deal with the idea of two sockets
- * on one bus. We rely on the cs.c behaviour shutting down
- * socket 0 then socket 1.
- */
- if (skt->nr == 1) {
- gpio_set_value(H3XXX_EGPIO_OPT_ON, 0);
- gpio_set_value(H3XXX_EGPIO_OPT_NVRAM_ON, 0);
- /* hmm, does this suck power? */
- gpio_set_value(H3XXX_EGPIO_OPT_RESET, 1);
- }
-}
-
struct pcmcia_low_level h3600_pcmcia_ops = {
.owner = THIS_MODULE,
.hw_init = h3600_pcmcia_hw_init,
.hw_shutdown = h3600_pcmcia_hw_shutdown,
.socket_state = h3600_pcmcia_socket_state,
.configure_socket = h3600_pcmcia_configure_socket,
-
- .socket_init = h3600_pcmcia_socket_init,
- .socket_suspend = h3600_pcmcia_socket_suspend,
};
int pcmcia_h3600_init(struct device *dev)