diff options
Diffstat (limited to 'drivers/net/wireless/hostap/hostap_cs.c')
| -rw-r--r-- | drivers/net/wireless/hostap/hostap_cs.c | 28 | 
1 files changed, 11 insertions, 17 deletions
diff --git a/drivers/net/wireless/hostap/hostap_cs.c b/drivers/net/wireless/hostap/hostap_cs.c index 4e13cedb823..ba54d1b04d2 100644 --- a/drivers/net/wireless/hostap/hostap_cs.c +++ b/drivers/net/wireless/hostap/hostap_cs.c @@ -519,30 +519,24 @@ static int prism2_config_check(struct pcmcia_device *p_dev,  	PDEBUG(DEBUG_EXTRA, "IO window settings: cfg->io.nwin=%d "  	       "dflt->io.nwin=%d\n",  	       cfg->io.nwin, dflt->io.nwin); -	p_dev->io.NumPorts1 = p_dev->io.NumPorts2 = 0; +	p_dev->resource[0]->end = p_dev->resource[1]->end = 0;  	if ((cfg->io.nwin > 0) || (dflt->io.nwin > 0)) {  		cistpl_io_t *io = (cfg->io.nwin) ? &cfg->io : &dflt->io; -		p_dev->io.Attributes1 = IO_DATA_PATH_WIDTH_AUTO; -		PDEBUG(DEBUG_EXTRA, "io->flags = 0x%04X, " -		       "io.base=0x%04x, len=%d\n", io->flags, -		       io->win[0].base, io->win[0].len); -		if (!(io->flags & CISTPL_IO_8BIT)) -			p_dev->io.Attributes1 = IO_DATA_PATH_WIDTH_16; -		if (!(io->flags & CISTPL_IO_16BIT)) -			p_dev->io.Attributes1 = IO_DATA_PATH_WIDTH_8; -		p_dev->io.IOAddrLines = io->flags & -			CISTPL_IO_LINES_MASK; -		p_dev->io.BasePort1 = io->win[0].base; -		p_dev->io.NumPorts1 = io->win[0].len; +		p_dev->resource[0]->flags &= ~IO_DATA_PATH_WIDTH; +		p_dev->resource[0]->flags |= +					pcmcia_io_cfg_data_width(io->flags); +		p_dev->io_lines = io->flags & CISTPL_IO_LINES_MASK; +		p_dev->resource[0]->start = io->win[0].base; +		p_dev->resource[0]->end = io->win[0].len;  		if (io->nwin > 1) { -			p_dev->io.Attributes2 = p_dev->io.Attributes1; -			p_dev->io.BasePort2 = io->win[1].base; -			p_dev->io.NumPorts2 = io->win[1].len; +			p_dev->resource[1]->flags = p_dev->resource[0]->flags; +			p_dev->resource[1]->start = io->win[1].base; +			p_dev->resource[1]->end = io->win[1].len;  		}  	}  	/* This reserves IO space but doesn't actually enable it */ -	return pcmcia_request_io(p_dev, &p_dev->io); +	return pcmcia_request_io(p_dev);  }  static int prism2_config(struct pcmcia_device *link)  |