提交 498ac189 编写于 作者: D Dominik Brodowski

pcmcia: pcmcia_config_loop() ConfigIndex unification

Almost all drivers set p_dev->conf.ConfigIndex to cfg->index in
the pcmcia_config_loop() callback function. Therefore, factor it out.
Signed-off-by: NDominik Brodowski <linux@dominikbrodowski.net>
上级 84e2d340
...@@ -181,7 +181,6 @@ static int pcmcia_check_one_config(struct pcmcia_device *pdev, ...@@ -181,7 +181,6 @@ static int pcmcia_check_one_config(struct pcmcia_device *pdev,
if ((cfg->io.nwin > 0) || (stk->dflt.io.nwin > 0)) { if ((cfg->io.nwin > 0) || (stk->dflt.io.nwin > 0)) {
cistpl_io_t *io = (cfg->io.nwin) ? &cfg->io : &stk->dflt.io; cistpl_io_t *io = (cfg->io.nwin) ? &cfg->io : &stk->dflt.io;
pdev->conf.ConfigIndex = cfg->index;
pdev->io.BasePort1 = io->win[0].base; pdev->io.BasePort1 = io->win[0].base;
pdev->io.IOAddrLines = io->flags & CISTPL_IO_LINES_MASK; pdev->io.IOAddrLines = io->flags & CISTPL_IO_LINES_MASK;
if (!(io->flags & CISTPL_IO_16BIT)) if (!(io->flags & CISTPL_IO_16BIT))
......
...@@ -688,7 +688,6 @@ static int bt3c_check_config(struct pcmcia_device *p_dev, ...@@ -688,7 +688,6 @@ static int bt3c_check_config(struct pcmcia_device *p_dev,
p_dev->conf.Vpp = cf->vpp1.param[CISTPL_POWER_VNOM] / 10000; p_dev->conf.Vpp = cf->vpp1.param[CISTPL_POWER_VNOM] / 10000;
if ((cf->io.nwin > 0) && (cf->io.win[0].len == 8) && if ((cf->io.nwin > 0) && (cf->io.win[0].len == 8) &&
(cf->io.win[0].base != 0)) { (cf->io.win[0].base != 0)) {
p_dev->conf.ConfigIndex = cf->index;
p_dev->io.BasePort1 = cf->io.win[0].base; p_dev->io.BasePort1 = cf->io.win[0].base;
p_dev->io.IOAddrLines = (try == 0) ? 16 : p_dev->io.IOAddrLines = (try == 0) ? 16 :
cf->io.flags & CISTPL_IO_LINES_MASK; cf->io.flags & CISTPL_IO_LINES_MASK;
...@@ -706,7 +705,6 @@ static int bt3c_check_config_notpicky(struct pcmcia_device *p_dev, ...@@ -706,7 +705,6 @@ static int bt3c_check_config_notpicky(struct pcmcia_device *p_dev,
int j; int j;
if ((cf->io.nwin > 0) && ((cf->io.flags & CISTPL_IO_LINES_MASK) <= 3)) { if ((cf->io.nwin > 0) && ((cf->io.flags & CISTPL_IO_LINES_MASK) <= 3)) {
p_dev->conf.ConfigIndex = cf->index;
for (j = 0; j < 5; j++) { for (j = 0; j < 5; j++) {
p_dev->io.BasePort1 = base[j]; p_dev->io.BasePort1 = base[j];
p_dev->io.IOAddrLines = base[j] ? 16 : 3; p_dev->io.IOAddrLines = base[j] ? 16 : 3;
......
...@@ -617,7 +617,6 @@ static int btuart_check_config(struct pcmcia_device *p_dev, ...@@ -617,7 +617,6 @@ static int btuart_check_config(struct pcmcia_device *p_dev,
p_dev->conf.Vpp = cf->vpp1.param[CISTPL_POWER_VNOM] / 10000; p_dev->conf.Vpp = cf->vpp1.param[CISTPL_POWER_VNOM] / 10000;
if ((cf->io.nwin > 0) && (cf->io.win[0].len == 8) && if ((cf->io.nwin > 0) && (cf->io.win[0].len == 8) &&
(cf->io.win[0].base != 0)) { (cf->io.win[0].base != 0)) {
p_dev->conf.ConfigIndex = cf->index;
p_dev->io.BasePort1 = cf->io.win[0].base; p_dev->io.BasePort1 = cf->io.win[0].base;
p_dev->io.IOAddrLines = (try == 0) ? 16 : p_dev->io.IOAddrLines = (try == 0) ? 16 :
cf->io.flags & CISTPL_IO_LINES_MASK; cf->io.flags & CISTPL_IO_LINES_MASK;
...@@ -635,7 +634,6 @@ static int btuart_check_config_notpicky(struct pcmcia_device *p_dev, ...@@ -635,7 +634,6 @@ static int btuart_check_config_notpicky(struct pcmcia_device *p_dev,
int j; int j;
if ((cf->io.nwin > 0) && ((cf->io.flags & CISTPL_IO_LINES_MASK) <= 3)) { if ((cf->io.nwin > 0) && ((cf->io.flags & CISTPL_IO_LINES_MASK) <= 3)) {
p_dev->conf.ConfigIndex = cf->index;
for (j = 0; j < 5; j++) { for (j = 0; j < 5; j++) {
p_dev->io.BasePort1 = base[j]; p_dev->io.BasePort1 = base[j];
p_dev->io.IOAddrLines = base[j] ? 16 : 3; p_dev->io.IOAddrLines = base[j] ? 16 : 3;
......
...@@ -595,7 +595,6 @@ static int dtl1_confcheck(struct pcmcia_device *p_dev, ...@@ -595,7 +595,6 @@ static int dtl1_confcheck(struct pcmcia_device *p_dev,
void *priv_data) void *priv_data)
{ {
if ((cf->io.nwin == 1) && (cf->io.win[0].len > 8)) { if ((cf->io.nwin == 1) && (cf->io.win[0].len > 8)) {
p_dev->conf.ConfigIndex = cf->index;
p_dev->io.BasePort1 = cf->io.win[0].base; p_dev->io.BasePort1 = cf->io.win[0].base;
p_dev->io.NumPorts1 = cf->io.win[0].len; /*yo */ p_dev->io.NumPorts1 = cf->io.win[0].len; /*yo */
p_dev->io.IOAddrLines = cf->io.flags & CISTPL_IO_LINES_MASK; p_dev->io.IOAddrLines = cf->io.flags & CISTPL_IO_LINES_MASK;
......
...@@ -1763,8 +1763,6 @@ static int cm4000_config_check(struct pcmcia_device *p_dev, ...@@ -1763,8 +1763,6 @@ static int cm4000_config_check(struct pcmcia_device *p_dev,
cistpl_cftable_entry_t *cfg, cistpl_cftable_entry_t *cfg,
void *priv_data) void *priv_data)
{ {
p_dev->conf.ConfigIndex = cfg->index;
if (!cfg->io.nwin) if (!cfg->io.nwin)
return -ENODEV; return -ENODEV;
......
...@@ -531,8 +531,6 @@ static int cm4040_config_check(struct pcmcia_device *p_dev, ...@@ -531,8 +531,6 @@ static int cm4040_config_check(struct pcmcia_device *p_dev,
void *priv_data) void *priv_data)
{ {
int rc; int rc;
p_dev->conf.ConfigIndex = cfg->index;
if (!cfg->io.nwin) if (!cfg->io.nwin)
return -ENODEV; return -ENODEV;
......
...@@ -161,7 +161,6 @@ static int avmcs_configcheck(struct pcmcia_device *p_dev, ...@@ -161,7 +161,6 @@ static int avmcs_configcheck(struct pcmcia_device *p_dev,
if (cf->io.nwin <= 0) if (cf->io.nwin <= 0)
return -ENODEV; return -ENODEV;
p_dev->conf.ConfigIndex = cf->index;
p_dev->io.BasePort1 = cf->io.win[0].base; p_dev->io.BasePort1 = cf->io.win[0].base;
p_dev->io.NumPorts1 = cf->io.win[0].len; p_dev->io.NumPorts1 = cf->io.win[0].len;
p_dev->io.NumPorts2 = 0; p_dev->io.NumPorts2 = 0;
......
...@@ -181,7 +181,6 @@ static int avma1cs_configcheck(struct pcmcia_device *p_dev, ...@@ -181,7 +181,6 @@ static int avma1cs_configcheck(struct pcmcia_device *p_dev,
if (cf->io.nwin <= 0) if (cf->io.nwin <= 0)
return -ENODEV; return -ENODEV;
p_dev->conf.ConfigIndex = cf->index;
p_dev->io.BasePort1 = cf->io.win[0].base; p_dev->io.BasePort1 = cf->io.win[0].base;
p_dev->io.NumPorts1 = cf->io.win[0].len; p_dev->io.NumPorts1 = cf->io.win[0].len;
p_dev->io.NumPorts2 = 0; p_dev->io.NumPorts2 = 0;
......
...@@ -212,13 +212,11 @@ static int elsa_cs_configcheck(struct pcmcia_device *p_dev, ...@@ -212,13 +212,11 @@ static int elsa_cs_configcheck(struct pcmcia_device *p_dev,
if ((cf->io.nwin > 0) && cf->io.win[0].base) { if ((cf->io.nwin > 0) && cf->io.win[0].base) {
printk(KERN_INFO "(elsa_cs: looks like the 96 model)\n"); printk(KERN_INFO "(elsa_cs: looks like the 96 model)\n");
p_dev->conf.ConfigIndex = cf->index;
p_dev->io.BasePort1 = cf->io.win[0].base; p_dev->io.BasePort1 = cf->io.win[0].base;
if (!pcmcia_request_io(p_dev, &p_dev->io)) if (!pcmcia_request_io(p_dev, &p_dev->io))
return 0; return 0;
} else { } else {
printk(KERN_INFO "(elsa_cs: looks like the 97 model)\n"); printk(KERN_INFO "(elsa_cs: looks like the 97 model)\n");
p_dev->conf.ConfigIndex = cf->index;
for (j = 0x2f0; j > 0x100; j -= 0x10) { for (j = 0x2f0; j > 0x100; j -= 0x10) {
p_dev->io.BasePort1 = j; p_dev->io.BasePort1 = j;
if (!pcmcia_request_io(p_dev, &p_dev->io)) if (!pcmcia_request_io(p_dev, &p_dev->io))
......
...@@ -233,7 +233,6 @@ static int sedlbauer_config_check(struct pcmcia_device *p_dev, ...@@ -233,7 +233,6 @@ static int sedlbauer_config_check(struct pcmcia_device *p_dev,
cfg_mem->dflt = *cfg; cfg_mem->dflt = *cfg;
if (cfg->index == 0) if (cfg->index == 0)
return -ENODEV; return -ENODEV;
p_dev->conf.ConfigIndex = cfg->index;
/* Does this card need audio output? */ /* Does this card need audio output? */
if (cfg->flags & CISTPL_CFTABLE_AUDIO) { if (cfg->flags & CISTPL_CFTABLE_AUDIO) {
......
...@@ -202,13 +202,11 @@ static int teles_cs_configcheck(struct pcmcia_device *p_dev, ...@@ -202,13 +202,11 @@ static int teles_cs_configcheck(struct pcmcia_device *p_dev,
if ((cf->io.nwin > 0) && cf->io.win[0].base) { if ((cf->io.nwin > 0) && cf->io.win[0].base) {
printk(KERN_INFO "(teles_cs: looks like the 96 model)\n"); printk(KERN_INFO "(teles_cs: looks like the 96 model)\n");
p_dev->conf.ConfigIndex = cf->index;
p_dev->io.BasePort1 = cf->io.win[0].base; p_dev->io.BasePort1 = cf->io.win[0].base;
if (!pcmcia_request_io(p_dev, &p_dev->io)) if (!pcmcia_request_io(p_dev, &p_dev->io))
return 0; return 0;
} else { } else {
printk(KERN_INFO "(teles_cs: looks like the 97 model)\n"); printk(KERN_INFO "(teles_cs: looks like the 97 model)\n");
p_dev->conf.ConfigIndex = cf->index;
for (j = 0x2f0; j > 0x100; j -= 0x10) { for (j = 0x2f0; j > 0x100; j -= 0x10) {
p_dev->io.BasePort1 = j; p_dev->io.BasePort1 = j;
if (!pcmcia_request_io(p_dev, &p_dev->io)) if (!pcmcia_request_io(p_dev, &p_dev->io))
......
...@@ -523,8 +523,6 @@ static int pcnet_confcheck(struct pcmcia_device *p_dev, ...@@ -523,8 +523,6 @@ static int pcnet_confcheck(struct pcmcia_device *p_dev,
if (cfg->index == 0 || cfg->io.nwin == 0) if (cfg->index == 0 || cfg->io.nwin == 0)
return -EINVAL; return -EINVAL;
p_dev->conf.ConfigIndex = cfg->index;
/* For multifunction cards, by convention, we configure the /* For multifunction cards, by convention, we configure the
network function with window 0, and serial with window 1 */ network function with window 0, and serial with window 1 */
if (io->nwin > 1) { if (io->nwin > 1) {
......
...@@ -464,7 +464,6 @@ static int mhz_mfc_config_check(struct pcmcia_device *p_dev, ...@@ -464,7 +464,6 @@ static int mhz_mfc_config_check(struct pcmcia_device *p_dev,
void *priv_data) void *priv_data)
{ {
int k; int k;
p_dev->conf.ConfigIndex = cf->index;
p_dev->io.BasePort2 = cf->io.win[0].base; p_dev->io.BasePort2 = cf->io.win[0].base;
for (k = 0; k < 0x400; k += 0x10) { for (k = 0; k < 0x400; k += 0x10) {
if (k & 0x80) if (k & 0x80)
...@@ -654,7 +653,6 @@ static int smc_configcheck(struct pcmcia_device *p_dev, ...@@ -654,7 +653,6 @@ static int smc_configcheck(struct pcmcia_device *p_dev,
cistpl_cftable_entry_t *cf, cistpl_cftable_entry_t *cf,
void *priv_data) void *priv_data)
{ {
p_dev->conf.ConfigIndex = cf->index;
p_dev->io.BasePort1 = cf->io.win[0].base; p_dev->io.BasePort1 = cf->io.win[0].base;
p_dev->io.IOAddrLines = cf->io.flags & CISTPL_IO_LINES_MASK; p_dev->io.IOAddrLines = cf->io.flags & CISTPL_IO_LINES_MASK;
return pcmcia_request_io(p_dev, &p_dev->io); return pcmcia_request_io(p_dev, &p_dev->io);
......
...@@ -724,7 +724,6 @@ xirc2ps_config_modem(struct pcmcia_device *p_dev, ...@@ -724,7 +724,6 @@ xirc2ps_config_modem(struct pcmcia_device *p_dev,
if (cf->io.nwin > 0 && (cf->io.win[0].base & 0xf) == 8) { if (cf->io.nwin > 0 && (cf->io.win[0].base & 0xf) == 8) {
for (ioaddr = 0x300; ioaddr < 0x400; ioaddr += 0x10) { for (ioaddr = 0x300; ioaddr < 0x400; ioaddr += 0x10) {
p_dev->conf.ConfigIndex = cf->index ;
p_dev->io.BasePort2 = cf->io.win[0].base; p_dev->io.BasePort2 = cf->io.win[0].base;
p_dev->io.BasePort1 = ioaddr; p_dev->io.BasePort1 = ioaddr;
if (!pcmcia_request_io(p_dev, &p_dev->io)) if (!pcmcia_request_io(p_dev, &p_dev->io))
...@@ -742,7 +741,6 @@ xirc2ps_config_check(struct pcmcia_device *p_dev, ...@@ -742,7 +741,6 @@ xirc2ps_config_check(struct pcmcia_device *p_dev,
int *pass = priv_data; int *pass = priv_data;
if (cf->io.nwin > 0 && (cf->io.win[0].base & 0xf) == 8) { if (cf->io.nwin > 0 && (cf->io.win[0].base & 0xf) == 8) {
p_dev->conf.ConfigIndex = cf->index ;
p_dev->io.BasePort2 = cf->io.win[0].base; p_dev->io.BasePort2 = cf->io.win[0].base;
p_dev->io.BasePort1 = p_dev->io.BasePort2 p_dev->io.BasePort1 = p_dev->io.BasePort2
+ (*pass ? (cf->index & 0x20 ? -24:8) + (*pass ? (cf->index & 0x20 ? -24:8)
......
...@@ -223,8 +223,6 @@ static int airo_cs_config_check(struct pcmcia_device *p_dev, ...@@ -223,8 +223,6 @@ static int airo_cs_config_check(struct pcmcia_device *p_dev,
if (cfg->index == 0) if (cfg->index == 0)
return -ENODEV; return -ENODEV;
p_dev->conf.ConfigIndex = cfg->index;
/* Does this card need audio output? */ /* Does this card need audio output? */
if (cfg->flags & CISTPL_CFTABLE_AUDIO) { if (cfg->flags & CISTPL_CFTABLE_AUDIO) {
p_dev->conf.Attributes |= CONF_ENABLE_SPKR; p_dev->conf.Attributes |= CONF_ENABLE_SPKR;
......
...@@ -234,8 +234,6 @@ static int atmel_config_check(struct pcmcia_device *p_dev, ...@@ -234,8 +234,6 @@ static int atmel_config_check(struct pcmcia_device *p_dev,
*dflt = *cfg; *dflt = *cfg;
if (cfg->index == 0) if (cfg->index == 0)
return -ENODEV; return -ENODEV;
p_dev->conf.ConfigIndex = cfg->index;
/* Does this card need audio output? */ /* Does this card need audio output? */
if (cfg->flags & CISTPL_CFTABLE_AUDIO) { if (cfg->flags & CISTPL_CFTABLE_AUDIO) {
p_dev->conf.Attributes |= CONF_ENABLE_SPKR; p_dev->conf.Attributes |= CONF_ENABLE_SPKR;
......
...@@ -552,7 +552,6 @@ static int prism2_config_check(struct pcmcia_device *p_dev, ...@@ -552,7 +552,6 @@ static int prism2_config_check(struct pcmcia_device *p_dev,
if (cfg->index == 0) if (cfg->index == 0)
return -ENODEV; return -ENODEV;
p_dev->conf.ConfigIndex = cfg->index;
PDEBUG(DEBUG_EXTRA, "Checking CFTABLE_ENTRY 0x%02X " PDEBUG(DEBUG_EXTRA, "Checking CFTABLE_ENTRY 0x%02X "
"(default 0x%02X)\n", cfg->index, cfg_mem->dflt.index); "(default 0x%02X)\n", cfg->index, cfg_mem->dflt.index);
......
...@@ -179,7 +179,6 @@ static int orinoco_cs_config_check(struct pcmcia_device *p_dev, ...@@ -179,7 +179,6 @@ static int orinoco_cs_config_check(struct pcmcia_device *p_dev,
cfg_mem->dflt = *cfg; cfg_mem->dflt = *cfg;
if (cfg->index == 0) if (cfg->index == 0)
goto next_entry; goto next_entry;
p_dev->conf.ConfigIndex = cfg->index;
/* Use power settings for Vcc and Vpp if present */ /* Use power settings for Vcc and Vpp if present */
/* Note that the CIS values need to be rescaled */ /* Note that the CIS values need to be rescaled */
......
...@@ -648,7 +648,6 @@ static int spectrum_cs_config_check(struct pcmcia_device *p_dev, ...@@ -648,7 +648,6 @@ static int spectrum_cs_config_check(struct pcmcia_device *p_dev,
cfg_mem->dflt = *cfg; cfg_mem->dflt = *cfg;
if (cfg->index == 0) if (cfg->index == 0)
goto next_entry; goto next_entry;
p_dev->conf.ConfigIndex = cfg->index;
/* Use power settings for Vcc and Vpp if present */ /* Use power settings for Vcc and Vpp if present */
/* Note that the CIS values need to be rescaled */ /* Note that the CIS values need to be rescaled */
......
...@@ -156,7 +156,6 @@ static int parport_config_check(struct pcmcia_device *p_dev, ...@@ -156,7 +156,6 @@ static int parport_config_check(struct pcmcia_device *p_dev,
cistpl_cftable_entry_t *dflt = priv_data; cistpl_cftable_entry_t *dflt = priv_data;
if ((cfg->io.nwin > 0) || (dflt->io.nwin > 0)) { if ((cfg->io.nwin > 0) || (dflt->io.nwin > 0)) {
cistpl_io_t *io = (cfg->io.nwin) ? &cfg->io : &dflt->io; cistpl_io_t *io = (cfg->io.nwin) ? &cfg->io : &dflt->io;
p_dev->conf.ConfigIndex = cfg->index;
if (epp_mode) if (epp_mode)
p_dev->conf.ConfigIndex |= FORCE_EPP_MODE; p_dev->conf.ConfigIndex |= FORCE_EPP_MODE;
p_dev->io.BasePort1 = io->win[0].base; p_dev->io.BasePort1 = io->win[0].base;
......
...@@ -953,14 +953,18 @@ int pcmcia_loop_config(struct pcmcia_device *p_dev, ...@@ -953,14 +953,18 @@ int pcmcia_loop_config(struct pcmcia_device *p_dev,
ret = pcmcia_get_first_tuple(p_dev, tuple); ret = pcmcia_get_first_tuple(p_dev, tuple);
while (!ret) { while (!ret) {
cistpl_cftable_entry_t *cfg = &cfg_mem->parse.cftable_entry;
if (pcmcia_get_tuple_data(p_dev, tuple)) if (pcmcia_get_tuple_data(p_dev, tuple))
goto next_entry; goto next_entry;
if (pcmcia_parse_tuple(p_dev, tuple, &cfg_mem->parse)) if (pcmcia_parse_tuple(p_dev, tuple, &cfg_mem->parse))
goto next_entry; goto next_entry;
ret = conf_check(p_dev, &cfg_mem->parse.cftable_entry, /* default values */
priv_data); p_dev->conf.ConfigIndex = cfg->index;
ret = conf_check(p_dev, cfg, priv_data);
if (!ret) if (!ret)
break; break;
......
...@@ -152,7 +152,6 @@ static int aha152x_config_check(struct pcmcia_device *p_dev, ...@@ -152,7 +152,6 @@ static int aha152x_config_check(struct pcmcia_device *p_dev,
p_dev->io.BasePort1 = cfg->io.win[1].base; p_dev->io.BasePort1 = cfg->io.win[1].base;
if ((cfg->io.nwin > 0) && if ((cfg->io.nwin > 0) &&
(p_dev->io.BasePort1 < 0xffff)) { (p_dev->io.BasePort1 < 0xffff)) {
p_dev->conf.ConfigIndex = cfg->index;
if (!pcmcia_request_io(p_dev, &p_dev->io)) if (!pcmcia_request_io(p_dev, &p_dev->io))
return 0; return 0;
} }
......
...@@ -127,7 +127,6 @@ static int fdomain_config_check(struct pcmcia_device *p_dev, ...@@ -127,7 +127,6 @@ static int fdomain_config_check(struct pcmcia_device *p_dev,
cistpl_cftable_entry_t *cfg, cistpl_cftable_entry_t *cfg,
void *priv_data) void *priv_data)
{ {
p_dev->conf.ConfigIndex = cfg->index;
p_dev->io.BasePort1 = cfg->io.win[0].base; p_dev->io.BasePort1 = cfg->io.win[0].base;
return pcmcia_request_io(p_dev, &p_dev->io); return pcmcia_request_io(p_dev, &p_dev->io);
} }
......
...@@ -1626,8 +1626,6 @@ static int nsp_cs_config_check(struct pcmcia_device *p_dev, ...@@ -1626,8 +1626,6 @@ static int nsp_cs_config_check(struct pcmcia_device *p_dev,
if (cfg->index == 0) if (cfg->index == 0)
return -ENODEV; return -ENODEV;
p_dev->conf.ConfigIndex = cfg->index;
/* Does this card need audio output? */ /* Does this card need audio output? */
if (cfg->flags & CISTPL_CFTABLE_AUDIO) { if (cfg->flags & CISTPL_CFTABLE_AUDIO) {
p_dev->conf.Attributes |= CONF_ENABLE_SPKR; p_dev->conf.Attributes |= CONF_ENABLE_SPKR;
......
...@@ -199,7 +199,6 @@ static int qlogic_config_check(struct pcmcia_device *p_dev, ...@@ -199,7 +199,6 @@ static int qlogic_config_check(struct pcmcia_device *p_dev,
cistpl_cftable_entry_t *cfg, cistpl_cftable_entry_t *cfg,
void *priv_data) void *priv_data)
{ {
p_dev->conf.ConfigIndex = cfg->index;
p_dev->io.BasePort1 = cfg->io.win[0].base; p_dev->io.BasePort1 = cfg->io.win[0].base;
p_dev->io.NumPorts1 = cfg->io.win[0].len; p_dev->io.NumPorts1 = cfg->io.win[0].len;
......
...@@ -704,7 +704,6 @@ static int SYM53C500_config_check(struct pcmcia_device *p_dev, ...@@ -704,7 +704,6 @@ static int SYM53C500_config_check(struct pcmcia_device *p_dev,
cistpl_cftable_entry_t *cfg, cistpl_cftable_entry_t *cfg,
void *priv_data) void *priv_data)
{ {
p_dev->conf.ConfigIndex = cfg->index;
p_dev->io.BasePort1 = cfg->io.win[0].base; p_dev->io.BasePort1 = cfg->io.win[0].base;
p_dev->io.NumPorts1 = cfg->io.win[0].len; p_dev->io.NumPorts1 = cfg->io.win[0].len;
......
...@@ -454,7 +454,6 @@ static int simple_config_check(struct pcmcia_device *p_dev, ...@@ -454,7 +454,6 @@ static int simple_config_check(struct pcmcia_device *p_dev,
if ((cf->io.nwin > 0) && (cf->io.win[0].len == size_table[(*try >> 1)]) if ((cf->io.nwin > 0) && (cf->io.win[0].len == size_table[(*try >> 1)])
&& (cf->io.win[0].base != 0)) { && (cf->io.win[0].base != 0)) {
p_dev->conf.ConfigIndex = cf->index;
p_dev->io.BasePort1 = cf->io.win[0].base; p_dev->io.BasePort1 = cf->io.win[0].base;
p_dev->io.IOAddrLines = ((*try & 0x1) == 0) ? p_dev->io.IOAddrLines = ((*try & 0x1) == 0) ?
16 : cf->io.flags & CISTPL_IO_LINES_MASK; 16 : cf->io.flags & CISTPL_IO_LINES_MASK;
...@@ -472,7 +471,6 @@ static int simple_config_check_notpicky(struct pcmcia_device *p_dev, ...@@ -472,7 +471,6 @@ static int simple_config_check_notpicky(struct pcmcia_device *p_dev,
int j; int j;
if ((cf->io.nwin > 0) && ((cf->io.flags & CISTPL_IO_LINES_MASK) <= 3)) { if ((cf->io.nwin > 0) && ((cf->io.flags & CISTPL_IO_LINES_MASK) <= 3)) {
p_dev->conf.ConfigIndex = cf->index;
for (j = 0; j < 5; j++) { for (j = 0; j < 5; j++) {
p_dev->io.BasePort1 = base[j]; p_dev->io.BasePort1 = base[j];
p_dev->io.IOAddrLines = base[j] ? 16 : 3; p_dev->io.IOAddrLines = base[j] ? 16 : 3;
...@@ -555,7 +553,6 @@ static int multi_config_check(struct pcmcia_device *p_dev, ...@@ -555,7 +553,6 @@ static int multi_config_check(struct pcmcia_device *p_dev,
/* The quad port cards have bad CIS's, so just look for a /* The quad port cards have bad CIS's, so just look for a
window larger than 8 ports and assume it will be right */ window larger than 8 ports and assume it will be right */
if ((cf->io.nwin == 1) && (cf->io.win[0].len > 8)) { if ((cf->io.nwin == 1) && (cf->io.win[0].len > 8)) {
p_dev->conf.ConfigIndex = cf->index;
p_dev->io.BasePort1 = cf->io.win[0].base; p_dev->io.BasePort1 = cf->io.win[0].base;
p_dev->io.IOAddrLines = cf->io.flags & CISTPL_IO_LINES_MASK; p_dev->io.IOAddrLines = cf->io.flags & CISTPL_IO_LINES_MASK;
if (!pcmcia_request_io(p_dev, &p_dev->io)) { if (!pcmcia_request_io(p_dev, &p_dev->io)) {
...@@ -573,7 +570,6 @@ static int multi_config_check_notpicky(struct pcmcia_device *p_dev, ...@@ -573,7 +570,6 @@ static int multi_config_check_notpicky(struct pcmcia_device *p_dev,
int *base2 = priv_data; int *base2 = priv_data;
if (cf->io.nwin == 2) { if (cf->io.nwin == 2) {
p_dev->conf.ConfigIndex = cf->index;
p_dev->io.BasePort1 = cf->io.win[0].base; p_dev->io.BasePort1 = cf->io.win[0].base;
p_dev->io.BasePort2 = cf->io.win[1].base; p_dev->io.BasePort2 = cf->io.win[1].base;
p_dev->io.IOAddrLines = cf->io.flags & CISTPL_IO_LINES_MASK; p_dev->io.IOAddrLines = cf->io.flags & CISTPL_IO_LINES_MASK;
......
...@@ -132,7 +132,6 @@ static int ixj_config_check(struct pcmcia_device *p_dev, ...@@ -132,7 +132,6 @@ static int ixj_config_check(struct pcmcia_device *p_dev,
if ((cfg->io.nwin > 0) || (dflt->io.nwin > 0)) { if ((cfg->io.nwin > 0) || (dflt->io.nwin > 0)) {
cistpl_io_t *io = (cfg->io.nwin) ? &cfg->io : &dflt->io; cistpl_io_t *io = (cfg->io.nwin) ? &cfg->io : &dflt->io;
p_dev->conf.ConfigIndex = cfg->index;
p_dev->io.BasePort1 = io->win[0].base; p_dev->io.BasePort1 = io->win[0].base;
p_dev->io.NumPorts1 = io->win[0].len; p_dev->io.NumPorts1 = io->win[0].len;
if (io->nwin == 2) { if (io->nwin == 2) {
......
...@@ -172,8 +172,6 @@ static int sl811_cs_config_check(struct pcmcia_device *p_dev, ...@@ -172,8 +172,6 @@ static int sl811_cs_config_check(struct pcmcia_device *p_dev,
if (cfg->index == 0) if (cfg->index == 0)
return -ENODEV; return -ENODEV;
p_dev->conf.ConfigIndex = cfg->index;
/* Use power settings for Vcc and Vpp if present */ /* Use power settings for Vcc and Vpp if present */
/* Note that the CIS values need to be rescaled */ /* Note that the CIS values need to be rescaled */
if (cfg->vcc.present & (1<<CISTPL_POWER_VNOM)) { if (cfg->vcc.present & (1<<CISTPL_POWER_VNOM)) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册