* Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> wrote:
On Mon, 21 Jul 2008 21:15:19 +0200
Ingo Molnar <mingo@xxxxxxx> wrote:
* Atsushi Nemoto <anemo@xxxxxxxxxxxxx> wrote:I'll take a look. Various odd things happened with the Makefile for this patch and the follow up fixes. If the followup didn't get applied then that might explain the breakage.
Since commit 055e5110ae0c0c1176a75b78d789294f2ff2f7af ("8390: Spliti just triggered a similar build failure, but in a different ne2000-derived file:
8390 support into a pausing and a non pausing driver core"), ne.c
cause this build failure:
drivers/built-in.o: In function `ne_probe1':
ne.c:(.init.text+0x2464): undefined reference to `NS8390_init'
drivers/built-in.o: In function `ne_block_output':
ne.c:(.text.ne_block_output+0x1b0): undefined reference to `NS8390_init'
ok. I also got:
drivers/built-in.o: In function `hp_probe1':
hp.c:(.init.text+0xa280): undefined reference to `NS8390_init'
so i suspect most of the 8390p.o library using ne2000 drivers are affected?
i think instead of a manual review i think this is better to fix all the problems:
cd drivers/net/; sed -i 's/NS8390_/NS8390p_/g' \
$(grep -l NS8390_ $(grep 8390p.o Makefile | cut -d' ' -f3 | \
sed 's/.o$/.c/g'))
find the full tested patch below. It solves the build failures i triggered so far.
Ingo
------------->
commit 79f2b8594df44a4f3f11085df656883525b74abd
Author: Ingo Molnar <mingo@xxxxxxx>
Date: Tue Jul 22 09:19:31 2008 +0200
net 8390p: fix interface usage
various drivers were using the wrong APIs:
drivers/built-in.o: In function `hp_probe1':
hp.c:(.init.text+0xa280): undefined reference to `NS8390_init'
fixed via:
cd drivers/net/; sed -i 's/NS8390_/NS8390p_/g' \
$(grep -l NS8390_ $(grep 8390p.o Makefile | cut -d' ' -f3 | \
sed 's/.o$/.c/g'))
Signed-off-by: Ingo Molnar <mingo@xxxxxxx>
---
drivers/net/hp-plus.c | 2 +-
drivers/net/hp.c | 2 +-
drivers/net/ne.c | 2 +-
drivers/net/ne2.c | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/net/hp-plus.c b/drivers/net/hp-plus.c
index c2c4f49..8239939 100644
--- a/drivers/net/hp-plus.c
+++ b/drivers/net/hp-plus.c
@@ -262,7 +262,7 @@ static int __init hpp_probe1(struct net_device *dev, int ioaddr)
}
outw(Perf_Page, ioaddr + HP_PAGING);
- NS8390_init(dev, 0);
+ NS8390p_init(dev, 0);
/* Leave the 8390 and HP chip reset. */
outw(inw(ioaddr + HPP_OPTION) & ~EnableIRQ, ioaddr + HPP_OPTION);
diff --git a/drivers/net/hp.c b/drivers/net/hp.c
index 8281209..0a8c649 100644
--- a/drivers/net/hp.c
+++ b/drivers/net/hp.c
@@ -389,7 +389,7 @@ static void __init
hp_init_card(struct net_device *dev)
{
int irq = dev->irq;
- NS8390_init(dev, 0);
+ NS8390p_init(dev, 0);
outb_p(irqmap[irq&0x0f] | HP_RUN,
dev->base_addr - NIC_OFFSET + HP_CONFIGURE);
return;
diff --git a/drivers/net/ne.c b/drivers/net/ne.c
index 3df231d..4a8a4b1 100644
--- a/drivers/net/ne.c
+++ b/drivers/net/ne.c
@@ -355,7 +355,7 @@ static int __init ne_probe1(struct net_device *dev, unsigned long ioaddr)
}
/* Read the 16 bytes of station address PROM.
- We must first initialize registers, similar to NS8390_init(eifdev, 0).
+ We must first initialize registers, similar to NS8390p_init(eifdev, 0).
We can't reliably read the SAPROM address without this.
(I learned the hard way!). */
{
diff --git a/drivers/net/ne2.c b/drivers/net/ne2.c
index 8f72563..332df75 100644
--- a/drivers/net/ne2.c
+++ b/drivers/net/ne2.c
@@ -404,7 +404,7 @@ static int __init ne2_probe1(struct net_device *dev, int slot)
/* Read the 16 bytes of station address PROM.
We must first initialize registers, similar to
- NS8390_init(eifdev, 0).
+ NS8390p_init(eifdev, 0).
We can't reliably read the SAPROM address without this.
(I learned the hard way!). */