aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/serial/serial_cs.c
diff options
context:
space:
mode:
authorRussell King <rmk@dyn-67.arm.linux.org.uk>2006-09-16 15:53:05 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2006-10-01 12:06:20 -0400
commit43549ad7a74e33947f3ba1756a7713086d32e97c (patch)
tree4d3fd53cb901bc04000170ab1d1a04fd777a0172 /drivers/serial/serial_cs.c
parentde6cc84f723ab4373d1f83e64771392d6f784c81 (diff)
[SERIAL] serial_cs: Use clean up multiport card detection
- Use ARRAY_SIZE() instead of home grown based version. - use parse->manfid.card rather than le16_to_cpu(buf[1]) - manfid.card is already converted to this format. - use info->prodid in subsequent tests rather than parse->manfid.card. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'drivers/serial/serial_cs.c')
-rw-r--r--drivers/serial/serial_cs.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/serial/serial_cs.c b/drivers/serial/serial_cs.c
index cbf260bc225d..82bb603fc1ae 100644
--- a/drivers/serial/serial_cs.c
+++ b/drivers/serial/serial_cs.c
@@ -95,7 +95,6 @@ static const struct multi_id multi_id[] = {
95 { MANFID_INTEL, PRODID_INTEL_DUAL_RS232, 2 }, 95 { MANFID_INTEL, PRODID_INTEL_DUAL_RS232, 2 },
96 { MANFID_NATINST, PRODID_NATINST_QUAD_RS232, 4 } 96 { MANFID_NATINST, PRODID_NATINST_QUAD_RS232, 4 }
97}; 97};
98#define MULTI_COUNT (sizeof(multi_id)/sizeof(struct multi_id))
99 98
100struct serial_info { 99struct serial_info {
101 struct pcmcia_device *p_dev; 100 struct pcmcia_device *p_dev;
@@ -622,13 +621,13 @@ static int serial_config(struct pcmcia_device * link)
622 tuple->DesiredTuple = CISTPL_MANFID; 621 tuple->DesiredTuple = CISTPL_MANFID;
623 if (first_tuple(link, tuple, parse) == CS_SUCCESS) { 622 if (first_tuple(link, tuple, parse) == CS_SUCCESS) {
624 info->manfid = parse->manfid.manf; 623 info->manfid = parse->manfid.manf;
625 info->prodid = le16_to_cpu(buf[1]); 624 info->prodid = parse->manfid.card;
626 for (i = 0; i < MULTI_COUNT; i++) 625 for (i = 0; i < ARRAY_SIZE(multi_id); i++)
627 if ((info->manfid == multi_id[i].manfid) && 626 if ((info->manfid == multi_id[i].manfid) &&
628 (parse->manfid.card == multi_id[i].prodid)) 627 (info->prodid == multi_id[i].prodid)) {
628 info->multi = multi_id[i].multi;
629 break; 629 break;
630 if (i < MULTI_COUNT) 630 }
631 info->multi = multi_id[i].multi;
632 } 631 }
633 632
634 /* Another check for dual-serial cards: look for either serial or 633 /* Another check for dual-serial cards: look for either serial or