aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/pcmcia
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/pcmcia')
-rw-r--r--drivers/net/pcmcia/fmvj18x_cs.c22
1 files changed, 15 insertions, 7 deletions
diff --git a/drivers/net/pcmcia/fmvj18x_cs.c b/drivers/net/pcmcia/fmvj18x_cs.c
index 7e01fbdb87e0..c7a2bbfaf821 100644
--- a/drivers/net/pcmcia/fmvj18x_cs.c
+++ b/drivers/net/pcmcia/fmvj18x_cs.c
@@ -341,14 +341,23 @@ static int ungermann_try_io_port(struct pcmcia_device *link)
341 return ret; /* RequestIO failed */ 341 return ret; /* RequestIO failed */
342} 342}
343 343
344static int fmvj18x_ioprobe(struct pcmcia_device *p_dev,
345 cistpl_cftable_entry_t *cfg,
346 cistpl_cftable_entry_t *dflt,
347 unsigned int vcc,
348 void *priv_data)
349{
350 return 0; /* strange, but that's what the code did already before... */
351}
352
353
344static int fmvj18x_config(struct pcmcia_device *link) 354static int fmvj18x_config(struct pcmcia_device *link)
345{ 355{
346 struct net_device *dev = link->priv; 356 struct net_device *dev = link->priv;
347 local_info_t *lp = netdev_priv(dev); 357 local_info_t *lp = netdev_priv(dev);
348 tuple_t tuple; 358 tuple_t tuple;
349 cisparse_t parse;
350 u_short buf[32]; 359 u_short buf[32];
351 int i, last_fn = 0, last_ret = 0, ret; 360 int i, last_fn = RequestIO, last_ret = 0, ret;
352 unsigned int ioaddr; 361 unsigned int ioaddr;
353 cardtype_t cardtype; 362 cardtype_t cardtype;
354 char *card_name = "unknown"; 363 char *card_name = "unknown";
@@ -362,12 +371,11 @@ static int fmvj18x_config(struct pcmcia_device *link)
362 tuple.DesiredTuple = CISTPL_FUNCE; 371 tuple.DesiredTuple = CISTPL_FUNCE;
363 tuple.TupleOffset = 0; 372 tuple.TupleOffset = 0;
364 if (pcmcia_get_first_tuple(link, &tuple) == 0) { 373 if (pcmcia_get_first_tuple(link, &tuple) == 0) {
374 last_ret = pcmcia_loop_config(link, fmvj18x_ioprobe, NULL);
375 if (last_ret != 0)
376 goto cs_failed;
377
365 /* Yes, I have CISTPL_FUNCE. Let's check CISTPL_MANFID */ 378 /* Yes, I have CISTPL_FUNCE. Let's check CISTPL_MANFID */
366 tuple.DesiredTuple = CISTPL_CFTABLE_ENTRY;
367 CS_CHECK(GetFirstTuple, pcmcia_get_first_tuple(link, &tuple));
368 CS_CHECK(GetTupleData, pcmcia_get_tuple_data(link, &tuple));
369 CS_CHECK(ParseTuple, pcmcia_parse_tuple(&tuple, &parse));
370 link->conf.ConfigIndex = parse.cftable_entry.index;
371 switch (link->manf_id) { 379 switch (link->manf_id) {
372 case MANFID_TDK: 380 case MANFID_TDK:
373 cardtype = TDK; 381 cardtype = TDK;