aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/telephony/ixj_pcmcia.c
diff options
context:
space:
mode:
authorDominik Brodowski <linux@dominikbrodowski.net>2010-07-24 11:23:51 -0400
committerDominik Brodowski <linux@dominikbrodowski.net>2010-08-03 03:04:11 -0400
commit90abdc3b973229bae98dd96649d9f7106cc177a4 (patch)
tree5c1a7a131b65560dd73b5103118d8c7631bd76a4 /drivers/telephony/ixj_pcmcia.c
parent9a017a910346afd88ec2e065989903bf211a7d37 (diff)
pcmcia: do not use io_req_t when calling pcmcia_request_io()
Instead of io_req_t, drivers are now requested to fill out struct pcmcia_device *p_dev->resource[0,1] for up to two ioport ranges. After a call to pcmcia_request_io(), the ports found there are reserved, after calling pcmcia_request_configuration(), they may be used. CC: netdev@vger.kernel.org CC: linux-wireless@vger.kernel.org CC: linux-ide@vger.kernel.org CC: linux-usb@vger.kernel.org CC: laforge@gnumonks.org CC: linux-mtd@lists.infradead.org CC: alsa-devel@alsa-project.org CC: linux-serial@vger.kernel.org CC: Michael Buesch <mb@bu3sch.de> Acked-by: Marcel Holtmann <marcel@holtmann.org> (for drivers/bluetooth/) Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Diffstat (limited to 'drivers/telephony/ixj_pcmcia.c')
-rw-r--r--drivers/telephony/ixj_pcmcia.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/telephony/ixj_pcmcia.c b/drivers/telephony/ixj_pcmcia.c
index a801036392cd..a1900e502518 100644
--- a/drivers/telephony/ixj_pcmcia.c
+++ b/drivers/telephony/ixj_pcmcia.c
@@ -32,9 +32,8 @@ static int ixj_probe(struct pcmcia_device *p_dev)
32{ 32{
33 dev_dbg(&p_dev->dev, "ixj_attach()\n"); 33 dev_dbg(&p_dev->dev, "ixj_attach()\n");
34 /* Create new ixj device */ 34 /* Create new ixj device */
35 p_dev->io.Attributes1 = IO_DATA_PATH_WIDTH_8; 35 p_dev->resource[0]->flags |= IO_DATA_PATH_WIDTH_8;
36 p_dev->io.Attributes2 = IO_DATA_PATH_WIDTH_8; 36 p_dev->resource[1]->flags |= IO_DATA_PATH_WIDTH_8;
37 p_dev->io.IOAddrLines = 3;
38 p_dev->conf.IntType = INT_MEMORY_AND_IO; 37 p_dev->conf.IntType = INT_MEMORY_AND_IO;
39 p_dev->priv = kzalloc(sizeof(struct ixj_info_t), GFP_KERNEL); 38 p_dev->priv = kzalloc(sizeof(struct ixj_info_t), GFP_KERNEL);
40 if (!p_dev->priv) { 39 if (!p_dev->priv) {
@@ -120,13 +119,14 @@ static int ixj_config_check(struct pcmcia_device *p_dev,
120{ 119{
121 if ((cfg->io.nwin > 0) || (dflt->io.nwin > 0)) { 120 if ((cfg->io.nwin > 0) || (dflt->io.nwin > 0)) {
122 cistpl_io_t *io = (cfg->io.nwin) ? &cfg->io : &dflt->io; 121 cistpl_io_t *io = (cfg->io.nwin) ? &cfg->io : &dflt->io;
123 p_dev->io.BasePort1 = io->win[0].base; 122 p_dev->resource[0]->start = io->win[0].base;
124 p_dev->io.NumPorts1 = io->win[0].len; 123 p_dev->resource[0]->end = io->win[0].len;
124 p_dev->io_lines = 3;
125 if (io->nwin == 2) { 125 if (io->nwin == 2) {
126 p_dev->io.BasePort2 = io->win[1].base; 126 p_dev->resource[1]->start = io->win[1].base;
127 p_dev->io.NumPorts2 = io->win[1].len; 127 p_dev->resource[1]->end = io->win[1].len;
128 } 128 }
129 if (!pcmcia_request_io(p_dev, &p_dev->io)) 129 if (!pcmcia_request_io(p_dev))
130 return 0; 130 return 0;
131 } 131 }
132 return -ENODEV; 132 return -ENODEV;