Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 38210
b: refs/heads/master
c: 20f1304
h: refs/heads/master
v: v3
  • Loading branch information
Russell King authored and Russell King committed Oct 1, 2006
1 parent 0664c35 commit be64b33
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 6 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: efd92dfaad962c4fbaf4251b28578c97bd3aa85f
refs/heads/master: 20f130495c07cd01fb423c3dec7f045038118dec
22 changes: 17 additions & 5 deletions trunk/drivers/serial/serial_cs.c
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,18 @@ static int quirk_post_ibm(struct pcmcia_device *link)
return -ENODEV;
}

/*
* Nokia cards are not really multiport cards. Shouldn't this
* be handled by setting the quirk entry .multi = 0 | 1 ?
*/
static void quirk_config_nokia(struct pcmcia_device *link)
{
struct serial_info *info = link->priv;

if (info->multi > 1)
info->multi = 1;
}

static void quirk_wakeup_oxsemi(struct pcmcia_device *link)
{
struct serial_info *info = link->priv;
Expand Down Expand Up @@ -192,6 +204,11 @@ static const struct serial_quirk quirks[] = {
.manfid = MANFID_NATINST,
.prodid = PRODID_NATINST_QUAD_RS232,
.multi = 4,
}, {
.manfid = MANFID_NOKIA,
.prodid = ~0,
.multi = -1,
.config = quirk_config_nokia,
}, {
.manfid = MANFID_OMEGA,
.prodid = PRODID_OMEGA_QSP_100,
Expand Down Expand Up @@ -663,11 +680,6 @@ static int multi_config(struct pcmcia_device * link)
}

setup_serial(link, info, link->io.BasePort1, link->irq.AssignedIRQ);
/* The Nokia cards are not really multiport cards */
if (info->manfid == MANFID_NOKIA) {
rc = 0;
goto free_cfg_mem;
}
for (i = 0; i < info->multi - 1; i++)
setup_serial(link, info, base2 + (8 * i),
link->irq.AssignedIRQ);
Expand Down

0 comments on commit be64b33

Please sign in to comment.