From: Russell King Date: Sat, 16 Sep 2006 19:53:05 +0000 (+0100) Subject: [SERIAL] serial_cs: Use clean up multiport card detection X-Git-Tag: upstream/snapshot3+hdmi~37277^2~19 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=43549ad7a74e33947f3ba1756a7713086d32e97c;p=platform%2Fadaptation%2Frenesas_rcar%2Frenesas_kernel.git [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 --- diff --git a/drivers/serial/serial_cs.c b/drivers/serial/serial_cs.c index cbf260b..82bb603 100644 --- a/drivers/serial/serial_cs.c +++ b/drivers/serial/serial_cs.c @@ -95,7 +95,6 @@ static const struct multi_id multi_id[] = { { MANFID_INTEL, PRODID_INTEL_DUAL_RS232, 2 }, { MANFID_NATINST, PRODID_NATINST_QUAD_RS232, 4 } }; -#define MULTI_COUNT (sizeof(multi_id)/sizeof(struct multi_id)) struct serial_info { struct pcmcia_device *p_dev; @@ -622,13 +621,13 @@ static int serial_config(struct pcmcia_device * link) tuple->DesiredTuple = CISTPL_MANFID; if (first_tuple(link, tuple, parse) == CS_SUCCESS) { info->manfid = parse->manfid.manf; - info->prodid = le16_to_cpu(buf[1]); - for (i = 0; i < MULTI_COUNT; i++) + info->prodid = parse->manfid.card; + for (i = 0; i < ARRAY_SIZE(multi_id); i++) if ((info->manfid == multi_id[i].manfid) && - (parse->manfid.card == multi_id[i].prodid)) + (info->prodid == multi_id[i].prodid)) { + info->multi = multi_id[i].multi; break; - if (i < MULTI_COUNT) - info->multi = multi_id[i].multi; + } } /* Another check for dual-serial cards: look for either serial or