netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [patch] fix 3c515.c:(.text+0x57200): undefined reference to `pnp_get_resource'
@ 2008-06-20  9:33 Ingo Molnar
  2008-06-20 15:13 ` Randy Dunlap
  0 siblings, 1 reply; 3+ messages in thread
From: Ingo Molnar @ 2008-06-20  9:33 UTC (permalink / raw)
  To: linux-kernel, Jeff Garzik; +Cc: netdev

commit 2538003ce2ea0b936d273692bc4e51c5b52fe70d
Author: Ingo Molnar <mingo@elte.hu>
Date:   Fri Jun 20 11:29:31 2008 +0200

    fix 3c515.c:(.text+0x57200): undefined reference to `pnp_get_resource'
    
    -tip testing found the following build failure:
    
      drivers/built-in.o: In function `corkscrew_setup':
      3c515.c:(.text+0x57200): undefined reference to `pnp_get_resource'
    
    which happens if 3c515.c is build without CONFIG_PNP:
    
      http://redhat.com/~mingo/misc/config-Fri_Jun_20_10_02_43_CEST_2008.bad
    
    the reason is pnp_irq() use outside of its __ISAPNP__ section.
    
    corkscrew_setup() always called with NULL in the !__ISAPNP__ case, but
    also check this condition to make sure.
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

diff --git a/drivers/net/3c515.c b/drivers/net/3c515.c
index 105a8c7..09dd063 100644
--- a/drivers/net/3c515.c
+++ b/drivers/net/3c515.c
@@ -573,7 +573,12 @@ static int corkscrew_setup(struct net_device *dev, int ioaddr,
 	DECLARE_MAC_BUF(mac);
 
 	if (idev) {
+#ifdef __ISAPNP__
 		irq = pnp_irq(idev, 0);
+#else
+		/* Can not happen - in the !PNP case we always pass in NULL */
+		BUG_ON(1);
+#endif
 		vp->dev = &idev->dev;
 	} else {
 		irq = inw(ioaddr + 0x2002) & 15;

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [patch] fix 3c515.c:(.text+0x57200): undefined reference to `pnp_get_resource'
  2008-06-20  9:33 [patch] fix 3c515.c:(.text+0x57200): undefined reference to `pnp_get_resource' Ingo Molnar
@ 2008-06-20 15:13 ` Randy Dunlap
  2008-06-20 15:51   ` Ingo Molnar
  0 siblings, 1 reply; 3+ messages in thread
From: Randy Dunlap @ 2008-06-20 15:13 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: linux-kernel, Jeff Garzik, netdev

On Fri, 20 Jun 2008 11:33:16 +0200 Ingo Molnar wrote:

> commit 2538003ce2ea0b936d273692bc4e51c5b52fe70d
> Author: Ingo Molnar <mingo@elte.hu>
> Date:   Fri Jun 20 11:29:31 2008 +0200
> 
>     fix 3c515.c:(.text+0x57200): undefined reference to `pnp_get_resource'
>     
>     -tip testing found the following build failure:
>     
>       drivers/built-in.o: In function `corkscrew_setup':
>       3c515.c:(.text+0x57200): undefined reference to `pnp_get_resource'
>     
>     which happens if 3c515.c is build without CONFIG_PNP:
>     
>       http://redhat.com/~mingo/misc/config-Fri_Jun_20_10_02_43_CEST_2008.bad
>     
>     the reason is pnp_irq() use outside of its __ISAPNP__ section.
>     
>     corkscrew_setup() always called with NULL in the !__ISAPNP__ case, but
>     also check this condition to make sure.
>     
>     Signed-off-by: Ingo Molnar <mingo@elte.hu>

Patch is in Jeff's tree.

Sometimes we need to have build patches merged sooner rather than later... :(


> diff --git a/drivers/net/3c515.c b/drivers/net/3c515.c
> index 105a8c7..09dd063 100644
> --- a/drivers/net/3c515.c
> +++ b/drivers/net/3c515.c
> @@ -573,7 +573,12 @@ static int corkscrew_setup(struct net_device *dev, int ioaddr,
>  	DECLARE_MAC_BUF(mac);
>  
>  	if (idev) {
> +#ifdef __ISAPNP__
>  		irq = pnp_irq(idev, 0);
> +#else
> +		/* Can not happen - in the !PNP case we always pass in NULL */
> +		BUG_ON(1);
> +#endif
>  		vp->dev = &idev->dev;
>  	} else {
>  		irq = inw(ioaddr + 0x2002) & 15;
> --


---
~Randy
Linux Plumbers Conference, 17-19 September 2008, Portland, Oregon USA
http://linuxplumbersconf.org/

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [patch] fix 3c515.c:(.text+0x57200): undefined reference to `pnp_get_resource'
  2008-06-20 15:13 ` Randy Dunlap
@ 2008-06-20 15:51   ` Ingo Molnar
  0 siblings, 0 replies; 3+ messages in thread
From: Ingo Molnar @ 2008-06-20 15:51 UTC (permalink / raw)
  To: Randy Dunlap; +Cc: linux-kernel, Jeff Garzik, netdev


* Randy Dunlap <randy.dunlap@oracle.com> wrote:

> >     Signed-off-by: Ingo Molnar <mingo@elte.hu>
> 
> Patch is in Jeff's tree.

i see. Hm, as far as i can see the patch was not Cc:-ed to lkml hence i 
did not see that it exist and created a patch for it. Please Cc: lkml 
for any mainline fix you think other people might trigger.

also, here's some small nitpicking about your patch:

+#ifdef __ISAPNP__
        if (idev) {
                irq = pnp_irq(idev, 0);
                vp->dev = &idev->dev;
        } else {
                irq = inw(ioaddr + 0x2002) & 15;
        }
+#else
+       irq = inw(ioaddr + 0x2002) & 15;
+#endif

as you now unconditonally assume that idev is NULL in the !__ISAPNP__. 
Which is true currently but might not be with other changes (which is 
unlikely but still). It also duplicates code visually.

So i'd still slightly prefer my patch instead of yours which avoids the 
duplication and puts the assumption/constraint straight in there via a 
BUG_ON():

> >  	if (idev) {
> > +#ifdef __ISAPNP__
> >  		irq = pnp_irq(idev, 0);
> > +#else
> > +		/* Can not happen - in the !PNP case we always pass in NULL */
> > +		BUG_ON(1);
> > +#endif
> >  		vp->dev = &idev->dev;
> >  	} else {
> >  		irq = inw(ioaddr + 0x2002) & 15;
> > --

no strong feelings though - it's a nitpick and this code is obviously 
obsolete.

	Ingo

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2008-06-20 15:51 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-06-20  9:33 [patch] fix 3c515.c:(.text+0x57200): undefined reference to `pnp_get_resource' Ingo Molnar
2008-06-20 15:13 ` Randy Dunlap
2008-06-20 15:51   ` Ingo Molnar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).