Commit 4769dd4c authored by Russell King's avatar Russell King

[PCMCIA] pcmcia-7: Remove cb_enable() and cb_disable()

Remove support for the old PCMCIA cardbus clients - all cardbus
drivers should be converted to be full-class PCI citizens.
parent b47b4b3e
......@@ -327,65 +327,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);
}
......@@ -1518,11 +1518,8 @@ int pcmcia_release_configuration(client_handle_t handle)
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)) {
......@@ -1569,9 +1566,8 @@ int pcmcia_release_io(client_handle_t handle, io_req_t *req)
s = SOCKET(handle);
#ifdef CONFIG_CARDBUS
if (handle->state & CLIENT_CARDBUS) {
if (handle->state & CLIENT_CARDBUS)
return CS_SUCCESS;
}
#endif
if (!(handle->state & CLIENT_STALE)) {
......@@ -1674,16 +1670,8 @@ int pcmcia_request_configuration(client_handle_t handle,
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)
......
......@@ -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);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment