Loading drivers/pcmcia/cs_internal.h +0 −1 Original line number Diff line number Diff line Loading @@ -116,7 +116,6 @@ extern void pccard_sysfs_remove_socket(struct device *dev); extern struct rw_semaphore pcmcia_socket_list_rwsem; extern struct list_head pcmcia_socket_list; int pcmcia_get_window(struct pcmcia_socket *s, window_handle_t *handle, int idx, win_req_t *req); int pccard_get_configuration_info(struct pcmcia_socket *s, struct pcmcia_device *p_dev, config_info_t *config); int pccard_reset_card(struct pcmcia_socket *skt); Loading drivers/pcmcia/pcmcia_ioctl.c +72 −0 Original line number Diff line number Diff line Loading @@ -287,6 +287,78 @@ static int pccard_get_status(struct pcmcia_socket *s, return CS_SUCCESS; } /* pccard_get_status */ int pccard_get_configuration_info(struct pcmcia_socket *s, struct pcmcia_device *p_dev, config_info_t *config) { config_t *c; if (!(s->state & SOCKET_PRESENT)) return CS_NO_CARD; #ifdef CONFIG_CARDBUS if (s->state & SOCKET_CARDBUS) { memset(config, 0, sizeof(config_info_t)); config->Vcc = s->socket.Vcc; config->Vpp1 = config->Vpp2 = s->socket.Vpp; config->Option = s->cb_dev->subordinate->number; if (s->state & SOCKET_CARDBUS_CONFIG) { config->Attributes = CONF_VALID_CLIENT; config->IntType = INT_CARDBUS; config->AssignedIRQ = s->irq.AssignedIRQ; if (config->AssignedIRQ) config->Attributes |= CONF_ENABLE_IRQ; if (s->io[0].res) { config->BasePort1 = s->io[0].res->start; config->NumPorts1 = s->io[0].res->end - config->BasePort1 + 1; } } return CS_SUCCESS; } #endif if (p_dev) { c = p_dev->function_config; config->Function = p_dev->func; } else { c = NULL; config->Function = 0; } if ((c == NULL) || !(c->state & CONFIG_LOCKED)) { config->Attributes = 0; config->Vcc = s->socket.Vcc; config->Vpp1 = config->Vpp2 = s->socket.Vpp; return CS_SUCCESS; } config->Attributes = c->Attributes | CONF_VALID_CLIENT; config->Vcc = s->socket.Vcc; config->Vpp1 = config->Vpp2 = s->socket.Vpp; config->IntType = c->IntType; config->ConfigBase = c->ConfigBase; config->Status = c->Status; config->Pin = c->Pin; config->Copy = c->Copy; config->Option = c->Option; config->ExtStatus = c->ExtStatus; config->Present = config->CardValues = c->CardValues; config->IRQAttributes = c->irq.Attributes; config->AssignedIRQ = s->irq.AssignedIRQ; config->BasePort1 = c->io.BasePort1; config->NumPorts1 = c->io.NumPorts1; config->Attributes1 = c->io.Attributes1; config->BasePort2 = c->io.BasePort2; config->NumPorts2 = c->io.NumPorts2; config->Attributes2 = c->io.Attributes2; config->IOAddrLines = c->io.IOAddrLines; return CS_SUCCESS; } /* pccard_get_configuration_info */ /*====================================================================== These manage a ring buffer of events pending for one user process Loading drivers/pcmcia/pcmcia_resource.c +0 −79 Original line number Diff line number Diff line Loading @@ -197,85 +197,6 @@ int pcmcia_access_configuration_register(struct pcmcia_device *p_dev, EXPORT_SYMBOL(pcmcia_access_configuration_register); int pccard_get_configuration_info(struct pcmcia_socket *s, struct pcmcia_device *p_dev, config_info_t *config) { config_t *c; if (!(s->state & SOCKET_PRESENT)) return CS_NO_CARD; #ifdef CONFIG_CARDBUS if (s->state & SOCKET_CARDBUS) { memset(config, 0, sizeof(config_info_t)); config->Vcc = s->socket.Vcc; config->Vpp1 = config->Vpp2 = s->socket.Vpp; config->Option = s->cb_dev->subordinate->number; if (s->state & SOCKET_CARDBUS_CONFIG) { config->Attributes = CONF_VALID_CLIENT; config->IntType = INT_CARDBUS; config->AssignedIRQ = s->irq.AssignedIRQ; if (config->AssignedIRQ) config->Attributes |= CONF_ENABLE_IRQ; if (s->io[0].res) { config->BasePort1 = s->io[0].res->start; config->NumPorts1 = s->io[0].res->end - config->BasePort1 + 1; } } return CS_SUCCESS; } #endif if (p_dev) { c = p_dev->function_config; config->Function = p_dev->func; } else { c = NULL; config->Function = 0; } if ((c == NULL) || !(c->state & CONFIG_LOCKED)) { config->Attributes = 0; config->Vcc = s->socket.Vcc; config->Vpp1 = config->Vpp2 = s->socket.Vpp; return CS_SUCCESS; } config->Attributes = c->Attributes | CONF_VALID_CLIENT; config->Vcc = s->socket.Vcc; config->Vpp1 = config->Vpp2 = s->socket.Vpp; config->IntType = c->IntType; config->ConfigBase = c->ConfigBase; config->Status = c->Status; config->Pin = c->Pin; config->Copy = c->Copy; config->Option = c->Option; config->ExtStatus = c->ExtStatus; config->Present = config->CardValues = c->CardValues; config->IRQAttributes = c->irq.Attributes; config->AssignedIRQ = s->irq.AssignedIRQ; config->BasePort1 = c->io.BasePort1; config->NumPorts1 = c->io.NumPorts1; config->Attributes1 = c->io.Attributes1; config->BasePort2 = c->io.BasePort2; config->NumPorts2 = c->io.NumPorts2; config->Attributes2 = c->io.Attributes2; config->IOAddrLines = c->io.IOAddrLines; return CS_SUCCESS; } /* pccard_get_configuration_info */ int pcmcia_get_configuration_info(struct pcmcia_device *p_dev, config_info_t *config) { return pccard_get_configuration_info(p_dev->socket, p_dev, config); } EXPORT_SYMBOL(pcmcia_get_configuration_info); /** pcmcia_get_window */ int pcmcia_get_window(struct pcmcia_socket *s, window_handle_t *handle, Loading include/pcmcia/cs.h +0 −1 Original line number Diff line number Diff line Loading @@ -372,7 +372,6 @@ enum service { struct pcmcia_socket; int pcmcia_access_configuration_register(struct pcmcia_device *p_dev, conf_reg_t *reg); int pcmcia_get_configuration_info(struct pcmcia_device *p_dev, config_info_t *config); int pcmcia_get_mem_page(window_handle_t win, memreq_t *req); int pcmcia_map_mem_page(window_handle_t win, memreq_t *req); int pcmcia_modify_configuration(struct pcmcia_device *p_dev, modconf_t *mod); Loading Loading
drivers/pcmcia/cs_internal.h +0 −1 Original line number Diff line number Diff line Loading @@ -116,7 +116,6 @@ extern void pccard_sysfs_remove_socket(struct device *dev); extern struct rw_semaphore pcmcia_socket_list_rwsem; extern struct list_head pcmcia_socket_list; int pcmcia_get_window(struct pcmcia_socket *s, window_handle_t *handle, int idx, win_req_t *req); int pccard_get_configuration_info(struct pcmcia_socket *s, struct pcmcia_device *p_dev, config_info_t *config); int pccard_reset_card(struct pcmcia_socket *skt); Loading
drivers/pcmcia/pcmcia_ioctl.c +72 −0 Original line number Diff line number Diff line Loading @@ -287,6 +287,78 @@ static int pccard_get_status(struct pcmcia_socket *s, return CS_SUCCESS; } /* pccard_get_status */ int pccard_get_configuration_info(struct pcmcia_socket *s, struct pcmcia_device *p_dev, config_info_t *config) { config_t *c; if (!(s->state & SOCKET_PRESENT)) return CS_NO_CARD; #ifdef CONFIG_CARDBUS if (s->state & SOCKET_CARDBUS) { memset(config, 0, sizeof(config_info_t)); config->Vcc = s->socket.Vcc; config->Vpp1 = config->Vpp2 = s->socket.Vpp; config->Option = s->cb_dev->subordinate->number; if (s->state & SOCKET_CARDBUS_CONFIG) { config->Attributes = CONF_VALID_CLIENT; config->IntType = INT_CARDBUS; config->AssignedIRQ = s->irq.AssignedIRQ; if (config->AssignedIRQ) config->Attributes |= CONF_ENABLE_IRQ; if (s->io[0].res) { config->BasePort1 = s->io[0].res->start; config->NumPorts1 = s->io[0].res->end - config->BasePort1 + 1; } } return CS_SUCCESS; } #endif if (p_dev) { c = p_dev->function_config; config->Function = p_dev->func; } else { c = NULL; config->Function = 0; } if ((c == NULL) || !(c->state & CONFIG_LOCKED)) { config->Attributes = 0; config->Vcc = s->socket.Vcc; config->Vpp1 = config->Vpp2 = s->socket.Vpp; return CS_SUCCESS; } config->Attributes = c->Attributes | CONF_VALID_CLIENT; config->Vcc = s->socket.Vcc; config->Vpp1 = config->Vpp2 = s->socket.Vpp; config->IntType = c->IntType; config->ConfigBase = c->ConfigBase; config->Status = c->Status; config->Pin = c->Pin; config->Copy = c->Copy; config->Option = c->Option; config->ExtStatus = c->ExtStatus; config->Present = config->CardValues = c->CardValues; config->IRQAttributes = c->irq.Attributes; config->AssignedIRQ = s->irq.AssignedIRQ; config->BasePort1 = c->io.BasePort1; config->NumPorts1 = c->io.NumPorts1; config->Attributes1 = c->io.Attributes1; config->BasePort2 = c->io.BasePort2; config->NumPorts2 = c->io.NumPorts2; config->Attributes2 = c->io.Attributes2; config->IOAddrLines = c->io.IOAddrLines; return CS_SUCCESS; } /* pccard_get_configuration_info */ /*====================================================================== These manage a ring buffer of events pending for one user process Loading
drivers/pcmcia/pcmcia_resource.c +0 −79 Original line number Diff line number Diff line Loading @@ -197,85 +197,6 @@ int pcmcia_access_configuration_register(struct pcmcia_device *p_dev, EXPORT_SYMBOL(pcmcia_access_configuration_register); int pccard_get_configuration_info(struct pcmcia_socket *s, struct pcmcia_device *p_dev, config_info_t *config) { config_t *c; if (!(s->state & SOCKET_PRESENT)) return CS_NO_CARD; #ifdef CONFIG_CARDBUS if (s->state & SOCKET_CARDBUS) { memset(config, 0, sizeof(config_info_t)); config->Vcc = s->socket.Vcc; config->Vpp1 = config->Vpp2 = s->socket.Vpp; config->Option = s->cb_dev->subordinate->number; if (s->state & SOCKET_CARDBUS_CONFIG) { config->Attributes = CONF_VALID_CLIENT; config->IntType = INT_CARDBUS; config->AssignedIRQ = s->irq.AssignedIRQ; if (config->AssignedIRQ) config->Attributes |= CONF_ENABLE_IRQ; if (s->io[0].res) { config->BasePort1 = s->io[0].res->start; config->NumPorts1 = s->io[0].res->end - config->BasePort1 + 1; } } return CS_SUCCESS; } #endif if (p_dev) { c = p_dev->function_config; config->Function = p_dev->func; } else { c = NULL; config->Function = 0; } if ((c == NULL) || !(c->state & CONFIG_LOCKED)) { config->Attributes = 0; config->Vcc = s->socket.Vcc; config->Vpp1 = config->Vpp2 = s->socket.Vpp; return CS_SUCCESS; } config->Attributes = c->Attributes | CONF_VALID_CLIENT; config->Vcc = s->socket.Vcc; config->Vpp1 = config->Vpp2 = s->socket.Vpp; config->IntType = c->IntType; config->ConfigBase = c->ConfigBase; config->Status = c->Status; config->Pin = c->Pin; config->Copy = c->Copy; config->Option = c->Option; config->ExtStatus = c->ExtStatus; config->Present = config->CardValues = c->CardValues; config->IRQAttributes = c->irq.Attributes; config->AssignedIRQ = s->irq.AssignedIRQ; config->BasePort1 = c->io.BasePort1; config->NumPorts1 = c->io.NumPorts1; config->Attributes1 = c->io.Attributes1; config->BasePort2 = c->io.BasePort2; config->NumPorts2 = c->io.NumPorts2; config->Attributes2 = c->io.Attributes2; config->IOAddrLines = c->io.IOAddrLines; return CS_SUCCESS; } /* pccard_get_configuration_info */ int pcmcia_get_configuration_info(struct pcmcia_device *p_dev, config_info_t *config) { return pccard_get_configuration_info(p_dev->socket, p_dev, config); } EXPORT_SYMBOL(pcmcia_get_configuration_info); /** pcmcia_get_window */ int pcmcia_get_window(struct pcmcia_socket *s, window_handle_t *handle, Loading
include/pcmcia/cs.h +0 −1 Original line number Diff line number Diff line Loading @@ -372,7 +372,6 @@ enum service { struct pcmcia_socket; int pcmcia_access_configuration_register(struct pcmcia_device *p_dev, conf_reg_t *reg); int pcmcia_get_configuration_info(struct pcmcia_device *p_dev, config_info_t *config); int pcmcia_get_mem_page(window_handle_t win, memreq_t *req); int pcmcia_map_mem_page(window_handle_t win, memreq_t *req); int pcmcia_modify_configuration(struct pcmcia_device *p_dev, modconf_t *mod); Loading