From mboxrd@z Thu Jan 1 00:00:00 1970 From: walter harms Date: Sun, 15 Feb 2009 14:04:15 +0000 Subject: Re: [PATCH 02/43] drivers/net/e2100.c: fix sparse warning: symbol Message-Id: <499820DF.5070508@bfs.de> List-Id: References: <20090214210940.23489.95001.stgit@vmbox.hanneseder.net> <20090214211203.23489.80420.stgit@vmbox.hanneseder.net> In-Reply-To: <20090214211203.23489.80420.stgit@vmbox.hanneseder.net> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Hannes Eder Cc: netdev@vger.kernel.org, kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org Hi Hannes, it is ok to replace a fixed boarder with ARRAY_SIZE() in this special case i would success the following additional cleanup (untestet !!) static int set_free_irq(struct net_device *dev) { int irqlist[] = {15,11,10,12,5,9,3,4}, i; for (i = 0; i < ARRAY_SIZE(irqlist); i++) if (request_irq (irqlist[i], NULL, 0, "bogus", NULL) != -EBUSY) { dev->irq = irqlist[i]; return 0; } return -1; } .... if (dev->irq < 2) { if ( set_free_irq(dev) < 0) { printk(" unable to get IRQ %d.\n", dev->irq); retval = -EAGAIN; goto out; } for me this looks more readable. getting a free interrupt from a list mus be a common problem ? I am not in driver programming perhaps such a code is already in place somewhere ? comments ? re, wh Hannes Eder schrieb: > Impact: Remove redundant inner scope variable and while being at it > make use of ARRAY_SIZE instead of a hardcoded number. > > Fix this sparse warning: > drivers/net/e2100.c:219:56: warning: symbol 'i' shadows an earlier one > drivers/net/e2100.c:181:13: originally declared here > > Signed-off-by: Hannes Eder > --- > drivers/net/e2100.c | 6 +++--- > 1 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/net/e2100.c b/drivers/net/e2100.c > index b07ba19..d2f6ee1 100644 > --- a/drivers/net/e2100.c > +++ b/drivers/net/e2100.c > @@ -216,13 +216,13 @@ static int __init e21_probe1(struct net_device *dev, int ioaddr) > printk(" %02X", station_addr[i]); > > if (dev->irq < 2) { > - int irqlist[] = {15,11,10,12,5,9,3,4}, i; > - for (i = 0; i < 8; i++) > + int irqlist[] = {15, 11, 10, 12, 5, 9, 3, 4}; > + for (i = 0; i < ARRAY_SIZE(irqlist); i++) > if (request_irq (irqlist[i], NULL, 0, "bogus", NULL) != -EBUSY) { > dev->irq = irqlist[i]; > break; > } > - if (i >= 8) { > + if (i >= ARRAY_SIZE(irqlist)) { > printk(" unable to get IRQ %d.\n", dev->irq); > retval = -EAGAIN; > goto out; > > -- > To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > > >