static void pcmcia_off (void) { printf ("Disable PCMCIA " PCMCIA_SLOT_MSG "\n"); /* turn off voltage */ voltage_set(_slot_, 0, 0); /* disable external hardware */ printf ("Shutdown and Poweroff " PCMCIA_SLOT_MSG "\n"); hardware_disable(_slot_); }
static int pcmcia_off (void) { int slot = 0; writeb(0x00, socket_base + 0x806); /* disable all I/O and memory windows */ writeb(0x00, socket_base + 0x808); /* I/O window 0 base address */ writeb(0x00, socket_base + 0x809); writeb(0x00, socket_base + 0x80a); /* I/O window 0 end address */ writeb(0x00, socket_base + 0x80b); writeb(0x00, socket_base + 0x836); /* I/O window 0 offset address */ writeb(0x00, socket_base + 0x837); writeb(0x00, socket_base + 0x80c); /* I/O window 1 base address */ writeb(0x00, socket_base + 0x80d); writeb(0x00, socket_base + 0x80e); /* I/O window 1 end address */ writeb(0x00, socket_base + 0x80f); writeb(0x00, socket_base + 0x838); /* I/O window 1 offset address */ writeb(0x00, socket_base + 0x839); writeb(0x00, socket_base + 0x810); /* Memory window 0 start address */ writeb(0x00, socket_base + 0x811); writeb(0x00, socket_base + 0x812); /* Memory window 0 end address */ writeb(0x00, socket_base + 0x813); writeb(0x00, socket_base + 0x814); /* Memory window 0 offset */ writeb(0x00, socket_base + 0x815); writeb(0xc0, socket_base + 0x840); /* Memory window 0 page address */ /* turn off voltage */ voltage_set(slot, 0, 0); /* disable external hardware */ printf ("Shutdown and Poweroff Ti PCI1410A\n"); hardware_disable(slot); return 0; }