aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/pcmcia/aha152x_stub.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/pcmcia/aha152x_stub.c')
-rw-r--r--drivers/scsi/pcmcia/aha152x_stub.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/drivers/scsi/pcmcia/aha152x_stub.c b/drivers/scsi/pcmcia/aha152x_stub.c
index 9d70aef99227..61f49bdcc0c2 100644
--- a/drivers/scsi/pcmcia/aha152x_stub.c
+++ b/drivers/scsi/pcmcia/aha152x_stub.c
@@ -49,7 +49,6 @@
49#include <scsi/scsi_host.h> 49#include <scsi/scsi_host.h>
50#include "aha152x.h" 50#include "aha152x.h"
51 51
52#include <pcmcia/cs_types.h>
53#include <pcmcia/cs.h> 52#include <pcmcia/cs.h>
54#include <pcmcia/cistpl.h> 53#include <pcmcia/cistpl.h>
55#include <pcmcia/ds.h> 54#include <pcmcia/ds.h>
@@ -101,9 +100,8 @@ static int aha152x_probe(struct pcmcia_device *link)
101 info->p_dev = link; 100 info->p_dev = link;
102 link->priv = info; 101 link->priv = info;
103 102
104 link->io.NumPorts1 = 0x20; 103 link->resource[0]->end = 0x20;
105 link->io.Attributes1 = IO_DATA_PATH_WIDTH_AUTO; 104 link->resource[0]->flags |= IO_DATA_PATH_WIDTH_AUTO;
106 link->io.IOAddrLines = 10;
107 link->conf.Attributes = CONF_ENABLE_IRQ; 105 link->conf.Attributes = CONF_ENABLE_IRQ;
108 link->conf.IntType = INT_MEMORY_AND_IO; 106 link->conf.IntType = INT_MEMORY_AND_IO;
109 link->conf.Present = PRESENT_OPTION; 107 link->conf.Present = PRESENT_OPTION;
@@ -131,15 +129,16 @@ static int aha152x_config_check(struct pcmcia_device *p_dev,
131 unsigned int vcc, 129 unsigned int vcc,
132 void *priv_data) 130 void *priv_data)
133{ 131{
132 p_dev->io_lines = 10;
134 /* For New Media T&J, look for a SCSI window */ 133 /* For New Media T&J, look for a SCSI window */
135 if (cfg->io.win[0].len >= 0x20) 134 if (cfg->io.win[0].len >= 0x20)
136 p_dev->io.BasePort1 = cfg->io.win[0].base; 135 p_dev->resource[0]->start = cfg->io.win[0].base;
137 else if ((cfg->io.nwin > 1) && 136 else if ((cfg->io.nwin > 1) &&
138 (cfg->io.win[1].len >= 0x20)) 137 (cfg->io.win[1].len >= 0x20))
139 p_dev->io.BasePort1 = cfg->io.win[1].base; 138 p_dev->resource[0]->start = cfg->io.win[1].base;
140 if ((cfg->io.nwin > 0) && 139 if ((cfg->io.nwin > 0) &&
141 (p_dev->io.BasePort1 < 0xffff)) { 140 (p_dev->resource[0]->start < 0xffff)) {
142 if (!pcmcia_request_io(p_dev, &p_dev->io)) 141 if (!pcmcia_request_io(p_dev))
143 return 0; 142 return 0;
144 } 143 }
145 return -EINVAL; 144 return -EINVAL;
@@ -168,7 +167,7 @@ static int aha152x_config_cs(struct pcmcia_device *link)
168 /* Set configuration options for the aha152x driver */ 167 /* Set configuration options for the aha152x driver */
169 memset(&s, 0, sizeof(s)); 168 memset(&s, 0, sizeof(s));
170 s.conf = "PCMCIA setup"; 169 s.conf = "PCMCIA setup";
171 s.io_port = link->io.BasePort1; 170 s.io_port = link->resource[0]->start;
172 s.irq = link->irq; 171 s.irq = link->irq;
173 s.scsiid = host_id; 172 s.scsiid = host_id;
174 s.reconnect = reconnect; 173 s.reconnect = reconnect;