2002-12-14 20:04:34

by Matthew Bell

[permalink] [raw]
Subject: [PATCH] Obvious(ish): 3c515 should work if ISAPNP is a module.

This is valid for at least 2.4.20 and earlier; it works for me, and I can't see any exceptional reason why it shouldn't work when ISAPNP is a module.
--- linux-2.4.19.orig/drivers/net/3c515.c 2002-02-25 19:37:59.000000000 +0000
+++ linux-2.4.19/drivers/net/3c515.c 2002-08-03 18:24:05.000000000 +0100
@@ -370,7 +370,7 @@
{ "Default", 0, 0xFF, XCVR_10baseT, 10000},
};

-#ifdef CONFIG_ISAPNP
+#if defined(CONFIG_ISAPNP) || defined (CONFIG_ISAPNP_MODULE)
static struct isapnp_device_id corkscrew_isapnp_adapters[] = {
{ ISAPNP_ANY_ID, ISAPNP_ANY_ID,
ISAPNP_VENDOR('T', 'C', 'M'), ISAPNP_FUNCTION(0x5051),
@@ -462,12 +462,12 @@
{
int cards_found = 0;
static int ioaddr;
-#ifdef CONFIG_ISAPNP
+#if defined(CONFIG_ISAPNP) || defined (CONFIG_ISAPNP_MODULE)
short i;
static int pnp_cards;
#endif

-#ifdef CONFIG_ISAPNP
+#if defined(CONFIG_ISAPNP) || defined (CONFIG_ISAPNP_MODULE)
if(nopnp == 1)
goto no_pnp;
for(i=0; corkscrew_isapnp_adapters[i].vendor != 0; i++) {
@@ -530,7 +530,7 @@
/* Check all locations on the ISA bus -- evil! */
for (ioaddr = 0x100; ioaddr < 0x400; ioaddr += 0x20) {
int irq;
-#ifdef CONFIG_ISAPNP
+#if defined(CONFIG_ISAPNP) || defined (CONFIG_ISAPNP_MODULE)
/* Make sure this was not already picked up by isapnp */
if(ioaddr == corkscrew_isapnp_phys_addr[0]) continue;
if(ioaddr == corkscrew_isapnp_phys_addr[1]) continue;

--
_______________________________________________
Get your free email from http://mymail.operamail.com

Powered by Outblaze


2002-12-14 23:04:05

by Kai Germaschewski

[permalink] [raw]
Subject: Re: [PATCH] Obvious(ish): 3c515 should work if ISAPNP is a module.

On Sun, 15 Dec 2002, Matthew Bell wrote:

> This is valid for at least 2.4.20 and earlier; it works for me, and I
> can't see any exceptional reason why it shouldn't work when ISAPNP is a
> module.

> --- linux-2.4.19.orig/drivers/net/3c515.c 2002-02-25 19:37:59.000000000 +0000
> +++ linux-2.4.19/drivers/net/3c515.c 2002-08-03 18:24:05.000000000 +0100
> @@ -370,7 +370,7 @@
> { "Default", 0, 0xFF, XCVR_10baseT, 10000},
> };
>
> -#ifdef CONFIG_ISAPNP
> +#if defined(CONFIG_ISAPNP) || defined (CONFIG_ISAPNP_MODULE)
> static struct isapnp_device_id corkscrew_isapnp_adapters[] = {
> { ISAPNP_ANY_ID, ISAPNP_ANY_ID,
> ISAPNP_VENDOR('T', 'C', 'M'), ISAPNP_FUNCTION(0x5051),
[...]

It's really only obvious*ish*: If isapnp is a module but 3c515 built-in,
you'll get link errors. The real fix for this is to do

+#ifdef __ISAPNP__

which will get all cases right.

--Kai


2002-12-15 00:35:22

by Zwane Mwaikambo

[permalink] [raw]
Subject: Re: [PATCH] Obvious(ish): 3c515 should work if ISAPNP is a module.

On Sat, 14 Dec 2002, Kai Germaschewski wrote:

> On Sun, 15 Dec 2002, Matthew Bell wrote:
>
> > This is valid for at least 2.4.20 and earlier; it works for me, and I
> > can't see any exceptional reason why it shouldn't work when ISAPNP is a
> > module.
>
> > --- linux-2.4.19.orig/drivers/net/3c515.c 2002-02-25 19:37:59.000000000 +0000
> > +++ linux-2.4.19/drivers/net/3c515.c 2002-08-03 18:24:05.000000000 +0100
> > @@ -370,7 +370,7 @@
> > { "Default", 0, 0xFF, XCVR_10baseT, 10000},
> > };
> >
> > -#ifdef CONFIG_ISAPNP
> > +#if defined(CONFIG_ISAPNP) || defined (CONFIG_ISAPNP_MODULE)
> > static struct isapnp_device_id corkscrew_isapnp_adapters[] = {
> > { ISAPNP_ANY_ID, ISAPNP_ANY_ID,
> > ISAPNP_VENDOR('T', 'C', 'M'), ISAPNP_FUNCTION(0x5051),
> [...]
>
> It's really only obvious*ish*: If isapnp is a module but 3c515 built-in,
> you'll get link errors. The real fix for this is to do
>
> +#ifdef __ISAPNP__
>
> which will get all cases right.

... but unfortunately thats currently going away ;) to make way for
CONFIG_PNP

Zwane
--
function.linuxpower.ca

2002-12-15 00:45:07

by Zwane Mwaikambo

[permalink] [raw]
Subject: Re: [PATCH] Obvious(ish): 3c515 should work if ISAPNP is a module.

On Sat, 14 Dec 2002, Zwane Mwaikambo wrote:

> > +#ifdef __ISAPNP__
> >
> > which will get all cases right.
>
> ... but unfortunately thats currently going away ;) to make way for
> CONFIG_PNP
>
> Zwane
>

Someone needs their coffee...

--
function.linuxpower.ca

2002-12-15 00:58:07

by Matthew Bell

[permalink] [raw]
Subject: Re: [PATCH] Obvious(ish): 3c515 should work if ISAPNP is a module.

Oh bum. I had it that way originally, for that reason, then left for a while, wondered what I was doing and removed the 'superflous' bit.

+#if defined(CONFIG_ISAPNP) || (defined (MODULE) && defined (CONFIG_ISAPNP_MODULE))

Matthew Bell

----- Original Message -----
From: Kai Germaschewski <[email protected]>
Date: Sat, 14 Dec 2002 17:11:49 -0600 (CST)
To: Matthew Bell <[email protected]>
Subject: Re: [PATCH] Obvious(ish): 3c515 should work if ISAPNP is a module.

> On Sun, 15 Dec 2002, Matthew Bell wrote:
>
> > This is valid for at least 2.4.20 and earlier; it works for me, and I
> > can't see any exceptional reason why it shouldn't work when ISAPNP is a
> > module.
>
> > --- linux-2.4.19.orig/drivers/net/3c515.c 2002-02-25 19:37:59.000000000 +0000
> > +++ linux-2.4.19/drivers/net/3c515.c 2002-08-03 18:24:05.000000000 +0100
> > @@ -370,7 +370,7 @@
> > { "Default", 0, 0xFF, XCVR_10baseT, 10000},
> > };
> >
> > -#ifdef CONFIG_ISAPNP
> > +#if defined(CONFIG_ISAPNP) || defined (CONFIG_ISAPNP_MODULE)
> > static struct isapnp_device_id corkscrew_isapnp_adapters[] = {
> > { ISAPNP_ANY_ID, ISAPNP_ANY_ID,
> > ISAPNP_VENDOR('T', 'C', 'M'), ISAPNP_FUNCTION(0x5051),
> [...]
>
> It's really only obvious*ish*: If isapnp is a module but 3c515 built-in,
> you'll get link errors. The real fix for this is to do
>
> +#ifdef __ISAPNP__
>
> which will get all cases right.
>
> --Kai
>
>


--
_______________________________________________
Get your free email from http://mymail.operamail.com

Powered by Outblaze