[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20070429.022428.71103613.anemo@mba.ocn.ne.jp>
Date: Sun, 29 Apr 2007 02:24:28 +0900 (JST)
From: Atsushi Nemoto <anemo@....ocn.ne.jp>
To: jeff@...zik.org
Cc: linux-mips@...ux-mips.org, netdev@...r.kernel.org,
ralf@...ux-mips.org, sshtylyov@...mvista.com,
akpm@...ux-foundation.org
Subject: Re: [PATCH 2/3] ne: MIPS: Use platform_driver for ne on RBTX49XX
On Sat, 28 Apr 2007 11:10:37 -0400, Jeff Garzik <jeff@...zik.org> wrote:
> > static unsigned int netcard_portlist[] __initdata = {
> > - 0x300, 0x280, 0x320, 0x340, 0x360, 0x380, 0
> > +#if defined(CONFIG_ISA) || defined(CONFIG_M32R)
> > + 0x300, 0x280, 0x320, 0x340, 0x360, 0x380,
> > +#endif
> > + 0
>
> This looks a bit strange, and perhaps more difficult to maintain long term.
>
> I would suggest creating a NEEDS_PORTLIST cpp macro at the top of ne.c,
> to be defined or undefined based on CONFIG_xxx symbols. Then, down in
> the code itself, conditionally include or exclude all portlist related
> data tables and code.
>
> Sound sane?
Sure. Do you mean something like this?
#if !defined(MODULE) && (defined(CONFIG_ISA) || defined(CONFIG_M32R))
#define NEEDS_PORTLIST
#endif
...
#ifdef NEEDS_PORTLIST
static unsigned int netcard_portlist[] __initdata = {
0x300, 0x280, 0x320, 0x340, 0x360, 0x380, 0
};
#endif
...
#ifdef NEEDS_PORTLIST
int orig_irq = dev->irq;
#endif
...
#ifdef NEEDS_PORTLIST
/* Last resort. The semi-risky ISA auto-probe. */
for (base_addr = 0; netcard_portlist[base_addr] != 0; base_addr++) {
int ioaddr = netcard_portlist[base_addr];
dev->irq = orig_irq;
if (ne_probe1(dev, ioaddr) == 0)
return 0;
}
#endif
---
Atsushi Nemoto
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists