Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752913AbYGVHY0 (ORCPT ); Tue, 22 Jul 2008 03:24:26 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751810AbYGVHYP (ORCPT ); Tue, 22 Jul 2008 03:24:15 -0400 Received: from mx2.mail.elte.hu ([157.181.151.9]:51535 "EHLO mx2.mail.elte.hu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750781AbYGVHYN (ORCPT ); Tue, 22 Jul 2008 03:24:13 -0400 Date: Tue, 22 Jul 2008 09:23:34 +0200 From: Ingo Molnar To: Alan Cox Cc: Atsushi Nemoto , jgarzik@redhat.com, akpm@linux-foundation.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org Subject: Re: [build failure] hp-plus.c: (.text+0xd7c1a): undefined reference to `ei_close' Message-ID: <20080722072334.GA25241@elte.hu> References: <20080721.233512.128618365.anemo@mba.ocn.ne.jp> <20080721191519.GA15843@elte.hu> <20080721214258.787a67ca@lxorguk.ukuu.org.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20080721214258.787a67ca@lxorguk.ukuu.org.uk> User-Agent: Mutt/1.5.18 (2008-05-17) X-ELTE-VirusStatus: clean X-ELTE-SpamScore: -1.5 X-ELTE-SpamLevel: X-ELTE-SpamCheck: no X-ELTE-SpamVersion: ELTE 2.0 X-ELTE-SpamCheck-Details: score=-1.5 required=5.9 tests=BAYES_00 autolearn=no SpamAssassin version=3.2.3 -1.5 BAYES_00 BODY: Bayesian spam probability is 0 to 1% [score: 0.0000] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4243 Lines: 128 * Alan Cox wrote: > On Mon, 21 Jul 2008 21:15:19 +0200 > Ingo Molnar wrote: > > > > > * Atsushi Nemoto wrote: > > > > > Since commit 055e5110ae0c0c1176a75b78d789294f2ff2f7af ("8390: Split > > > 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' > > > > i just triggered a similar build failure, but in a different > > ne2000-derived file: > > 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. 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 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 --- 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!). */ { -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/