drivers/pcmcia/cardbus.c | 62 ------------------------------------------- drivers/pcmcia/cs.c | 17 ++--------- drivers/pcmcia/cs_internal.h | 2 - 3 files changed, 3 insertions(+), 78 deletions(-) diff -puN drivers/pcmcia/cardbus.c~pcmcia-7 drivers/pcmcia/cardbus.c --- 25/drivers/pcmcia/cardbus.c~pcmcia-7 2003-03-21 20:04:41.000000000 -0800 +++ 25-akpm/drivers/pcmcia/cardbus.c 2003-03-21 20:04:41.000000000 -0800 @@ -325,65 +325,3 @@ void cb_free(socket_info_t * s) printk(KERN_INFO "cs: cb_free(bus %d)\n", s->cap.cb_dev->subordinate->number); } } - -/*===================================================================== - - cb_enable() has the job of configuring a socket for a Cardbus - card, and initializing the card's PCI configuration registers. - - It first sets up the Cardbus bridge windows, for IO and memory - accesses. Then, it initializes each card function's base address - registers, interrupt line register, and command register. - - It is called as part of the RequestConfiguration card service. - It should be called after a previous call to cb_config() (via the - RequestIO service). - -======================================================================*/ - -void cb_enable(socket_info_t * s) -{ - struct pci_dev *dev; - u_char i; - - DEBUG(0, "cs: cb_enable(bus %d)\n", s->cap.cb_dev->subordinate->number); - - /* Configure bridge */ - cb_release_cis_mem(s); - - /* Set up PCI interrupt and command registers */ - for (i = 0; i < s->functions; i++) { - dev = s->cb_config->dev[i]; - pci_write_config_byte(dev, PCI_COMMAND, PCI_COMMAND_MASTER | - PCI_COMMAND_IO | PCI_COMMAND_MEMORY); - pci_write_config_byte(dev, PCI_CACHE_LINE_SIZE, - L1_CACHE_BYTES / 4); - } - - if (s->irq.AssignedIRQ) { - for (i = 0; i < s->functions; i++) { - dev = s->cb_config->dev[i]; - pci_write_config_byte(dev, PCI_INTERRUPT_LINE, - s->irq.AssignedIRQ); - } - s->socket.io_irq = s->irq.AssignedIRQ; - s->ss_entry->set_socket(s->sock, &s->socket); - } -} - -/*====================================================================== - - cb_disable() unconfigures a Cardbus card previously set up by - cb_enable(). - - It is called from the ReleaseConfiguration service. - -======================================================================*/ - -void cb_disable(socket_info_t * s) -{ - DEBUG(0, "cs: cb_disable(bus %d)\n", s->cap.cb_dev->subordinate->number); - - /* Turn off bridge windows */ - cb_release_cis_mem(s); -} diff -puN drivers/pcmcia/cs.c~pcmcia-7 drivers/pcmcia/cs.c --- 25/drivers/pcmcia/cs.c~pcmcia-7 2003-03-21 20:04:41.000000000 -0800 +++ 25-akpm/drivers/pcmcia/cs.c 2003-03-21 20:04:41.000000000 -0800 @@ -1522,11 +1522,8 @@ int pcmcia_release_configuration(client_ s = SOCKET(handle); #ifdef CONFIG_CARDBUS - if (handle->state & CLIENT_CARDBUS) { - cb_disable(s); - s->lock_count = 0; + if (handle->state & CLIENT_CARDBUS) return CS_SUCCESS; - } #endif if (!(handle->state & CLIENT_STALE)) { @@ -1677,16 +1674,8 @@ int pcmcia_request_configuration(client_ return CS_NO_CARD; #ifdef CONFIG_CARDBUS - if (handle->state & CLIENT_CARDBUS) { - if (!(req->IntType & INT_CARDBUS)) - return CS_UNSUPPORTED_MODE; - if (s->lock_count != 0) - return CS_CONFIGURATION_LOCKED; - cb_enable(s); - handle->state |= CLIENT_CONFIG_LOCKED; - s->lock_count++; - return CS_SUCCESS; - } + if (handle->state & CLIENT_CARDBUS) + return CS_UNSUPPORTED_MODE; #endif if (req->IntType & INT_CARDBUS) diff -puN drivers/pcmcia/cs_internal.h~pcmcia-7 drivers/pcmcia/cs_internal.h --- 25/drivers/pcmcia/cs_internal.h~pcmcia-7 2003-03-21 20:04:41.000000000 -0800 +++ 25-akpm/drivers/pcmcia/cs_internal.h 2003-03-21 20:04:41.000000000 -0800 @@ -199,8 +199,6 @@ typedef struct socket_info_t { /* In cardbus.c */ int cb_alloc(socket_info_t *s); void cb_free(socket_info_t *s); -void cb_enable(socket_info_t *s); -void cb_disable(socket_info_t *s); int read_cb_mem(socket_info_t *s, int space, u_int addr, u_int len, void *ptr); void cb_release_cis_mem(socket_info_t *s); _