static int e750_pcmcia_configure_socket(struct soc_pcmcia_socket *skt, const socket_state_t *state) { /* reset it? */ if(state->flags & SS_RESET) GPSR_BIT(GPIO_E740_PCMCIA_RST0); else GPCR_BIT(GPIO_E740_PCMCIA_RST0); /* Apply socket voltage */ switch (state->Vcc) { case 0: GPCR_BIT(GPIO_E740_PCMCIA_PWR0); break; case 50: case 33: /* Apply power to socket */ GPSR_BIT(GPIO_E740_PCMCIA_PWR0); break; default: printk (KERN_ERR "%s: Unsupported Vcc:%d\n", __FUNCTION__, state->Vcc); } return 0; }
static int hx2750_pcmcia_configure_socket(struct soc_pcmcia_socket *skt, const socket_state_t *state) { int ret = 0; if(state->flags & SS_RESET) { if(skt->nr == 0) {}//hx2750_set_egpio(HX2750_EGPIO_CF0_RESET); else hx2750_set_egpio(HX2750_EGPIO_CF1_RESET); } else { if(skt->nr == 0) {}//hx2750_clear_egpio(HX2750_EGPIO_CF0_RESET); else hx2750_clear_egpio(HX2750_EGPIO_CF1_RESET); } /* Apply socket voltage */ switch (state->Vcc) { case 0: if(skt->nr == 0) GPCR_BIT(HX2750_GPIO_CF_PWR); else hx2750_clear_egpio(HX2750_EGPIO_WIFI_PWR); break; case 50: case 33: /* Apply power to socket */ if(skt->nr == 0) GPSR_BIT(HX2750_GPIO_CF_PWR); else hx2750_set_egpio(HX2750_EGPIO_WIFI_PWR); break; default: printk (KERN_ERR "%s: Unsupported Vcc:%d\n", __FUNCTION__, state->Vcc); ret = -1; break; } return ret; }