2009-06-11 03:51:09

by Subrata Modak

[permalink] [raw]
Subject: [PATCH][BUILD FAILURE 03/04] Next June 04:PPC64 randconfig [drivers/net/lance.o]

Hi Benjamin/Paul,

>On Thu, 2009-06-04 at 19:02 +0530, Subrata Modak wrote:
>CC drivers/net/lance.o
> drivers/net/lance.c: In function 'lance_probe1':
> drivers/net/lance.c:575: error: implicit declaration of function 'isa_virt_to_bus'
> drivers/net/lance.c: In function 'lance_rx':
> drivers/net/lance.c:1197: error: implicit declaration of function 'isa_bus_to_virt'
> make[2]: *** [drivers/net/lance.o] Error 1
> make[1]: *** [drivers/net] Error 2
> make: *** [drivers] Error 2

Reference: http://lkml.org/lkml/2009/6/4/240,
To fix the following build error:

drivers/net/lance.c: In function 'lance_probe1':
drivers/net/lance.c:575: error: implicit declaration of function 'isa_virt_to_bus'
drivers/net/lance.c: In function 'lance_rx':
drivers/net/lance.c:1197: error: implicit declaration of function 'isa_bus_to_virt'
make[2]: *** [drivers/net/lance.o] Error 1
make[1]: *** [drivers/net] Error 2
make: *** [drivers] Error 2

I would like to propose the following patch. The prototypes for the functions:
'isa_virt_to_bus' & 'isa_virt_to_bus' are existing for some archs like the
mips, x86, parisc, arm & alpha, but, is missing for powerpc. Is it safe to
introduce the following soultion for powerpc ? It fixes the build problem
i reported earlier.

Signed-off-by: Subrata Modak <[email protected]>
---

--- linux-2.6.30-rc8/arch/powerpc/include/asm/io.h.orig 2009-06-10 21:56:49.000000000 -0500
+++ linux-2.6.30-rc8/arch/powerpc/include/asm/io.h 2009-06-10 22:21:35.000000000 -0500
@@ -680,6 +680,9 @@ extern void __iounmap_at(void *ea, unsig
#define mmio_outsw(addr, src, count) writesw(addr, src, count)
#define mmio_outsl(addr, src, count) writesl(addr, src, count)

+#define isa_virt_to_bus virt_to_phys
+#define isa_bus_to_virt phys_to_virt
+
/**
* virt_to_phys - map virtual addresses to physical
* @address: address to remap

---
Regards--
Subrata


2009-06-15 06:51:58

by Subrata Modak

[permalink] [raw]
Subject: Re: [PATCH][BUILD FAILURE 03/04] Next June 04:PPC64 randconfig [drivers/net/lance.o]


On Thu, 2009-06-11 at 09:20 +0530, Subrata Modak wrote:
> Hi Benjamin/Paul,
>
> >On Thu, 2009-06-04 at 19:02 +0530, Subrata Modak wrote:
> >CC drivers/net/lance.o
> > drivers/net/lance.c: In function 'lance_probe1':
> > drivers/net/lance.c:575: error: implicit declaration of function 'isa_virt_to_bus'
> > drivers/net/lance.c: In function 'lance_rx':
> > drivers/net/lance.c:1197: error: implicit declaration of function 'isa_bus_to_virt'
> > make[2]: *** [drivers/net/lance.o] Error 1
> > make[1]: *** [drivers/net] Error 2
> > make: *** [drivers] Error 2
>
> Reference: http://lkml.org/lkml/2009/6/4/240,
> To fix the following build error:
>
> drivers/net/lance.c: In function 'lance_probe1':
> drivers/net/lance.c:575: error: implicit declaration of function 'isa_virt_to_bus'
> drivers/net/lance.c: In function 'lance_rx':
> drivers/net/lance.c:1197: error: implicit declaration of function 'isa_bus_to_virt'
> make[2]: *** [drivers/net/lance.o] Error 1
> make[1]: *** [drivers/net] Error 2
> make: *** [drivers] Error 2
>
> I would like to propose the following patch. The prototypes for the functions:
> 'isa_virt_to_bus' & 'isa_virt_to_bus' are existing for some archs like the
> mips, x86, parisc, arm & alpha, but, is missing for powerpc. Is it safe to
> introduce the following soultion for powerpc ? It fixes the build problem
> i reported earlier.
>
> Signed-off-by: Subrata Modak <[email protected]>
> ---

Benjamin,

I am not sure whether you liked the following patch to solve the above
problem. Do, you want me address some other issue(s)/fixes for this ?

Regards--
Subrata

>
> --- linux-2.6.30-rc8/arch/powerpc/include/asm/io.h.orig 2009-06-10 21:56:49.000000000 -0500
> +++ linux-2.6.30-rc8/arch/powerpc/include/asm/io.h 2009-06-10 22:21:35.000000000 -0500
> @@ -680,6 +680,9 @@ extern void __iounmap_at(void *ea, unsig
> #define mmio_outsw(addr, src, count) writesw(addr, src, count)
> #define mmio_outsl(addr, src, count) writesl(addr, src, count)
>
> +#define isa_virt_to_bus virt_to_phys
> +#define isa_bus_to_virt phys_to_virt
> +
> /**
> * virt_to_phys - map virtual addresses to physical
> * @address: address to remap
>
> ---
> Regards--
> Subrata
>

2009-06-15 07:12:15

by Benjamin Herrenschmidt

[permalink] [raw]
Subject: Re: [PATCH][BUILD FAILURE 03/04] Next June 04:PPC64 randconfig [drivers/net/lance.o]

On Mon, 2009-06-15 at 12:21 +0530, Subrata Modak wrote:

> Benjamin,
>
> I am not sure whether you liked the following patch to solve the above
> problem. Do, you want me address some other issue(s)/fixes for this ?

I suppose ... in fact some old PReP machines can even have ISA slots
iirc, but it's not going to do good with machines that have an iommu...

IE. Nobody should use that crap, period.

Cheers,
Ben.

Cheers,
Ben.

> Regards--
> Subrata
>
> >
> > --- linux-2.6.30-rc8/arch/powerpc/include/asm/io.h.orig 2009-06-10 21:56:49.000000000 -0500
> > +++ linux-2.6.30-rc8/arch/powerpc/include/asm/io.h 2009-06-10 22:21:35.000000000 -0500
> > @@ -680,6 +680,9 @@ extern void __iounmap_at(void *ea, unsig
> > #define mmio_outsw(addr, src, count) writesw(addr, src, count)
> > #define mmio_outsl(addr, src, count) writesl(addr, src, count)
> >
> > +#define isa_virt_to_bus virt_to_phys
> > +#define isa_bus_to_virt phys_to_virt
> > +
> > /**
> > * virt_to_phys - map virtual addresses to physical
> > * @address: address to remap
> >
> > ---
> > Regards--
> > Subrata
> >

2009-06-15 07:22:09

by Subrata Modak

[permalink] [raw]
Subject: Re: [PATCH][BUILD FAILURE 03/04] Next June 04:PPC64 randconfig [drivers/net/lance.o]

On Mon, 2009-06-15 at 17:11 +1000, Benjamin Herrenschmidt wrote:
> On Mon, 2009-06-15 at 12:21 +0530, Subrata Modak wrote:
>
> > Benjamin,
> >
> > I am not sure whether you liked the following patch to solve the above
> > problem. Do, you want me address some other issue(s)/fixes for this ?
>
> I suppose ... in fact some old PReP machines can even have ISA slots
> iirc, but it's not going to do good with machines that have an iommu...
>
> IE. Nobody should use that crap, period.

Great,

Can you please make some changes at drivers/net/Kconfig so that this guy
does not build for the PPC64 systems ?

Regards--
Subrata

>
> Cheers,
> Ben.
>
> Cheers,
> Ben.
>
> > Regards--
> > Subrata
> >
> > >
> > > --- linux-2.6.30-rc8/arch/powerpc/include/asm/io.h.orig 2009-06-10 21:56:49.000000000 -0500
> > > +++ linux-2.6.30-rc8/arch/powerpc/include/asm/io.h 2009-06-10 22:21:35.000000000 -0500
> > > @@ -680,6 +680,9 @@ extern void __iounmap_at(void *ea, unsig
> > > #define mmio_outsw(addr, src, count) writesw(addr, src, count)
> > > #define mmio_outsl(addr, src, count) writesl(addr, src, count)
> > >
> > > +#define isa_virt_to_bus virt_to_phys
> > > +#define isa_bus_to_virt phys_to_virt
> > > +
> > > /**
> > > * virt_to_phys - map virtual addresses to physical
> > > * @address: address to remap
> > >
> > > ---
> > > Regards--
> > > Subrata
> > >
>

2009-06-15 09:43:31

by Benjamin Herrenschmidt

[permalink] [raw]
Subject: Re: [PATCH][BUILD FAILURE 03/04] Next June 04:PPC64 randconfig [drivers/net/lance.o]

On Mon, 2009-06-15 at 12:51 +0530, Subrata Modak wrote:
> On Mon, 2009-06-15 at 17:11 +1000, Benjamin Herrenschmidt wrote:
> > On Mon, 2009-06-15 at 12:21 +0530, Subrata Modak wrote:
> >
> > > Benjamin,
> > >
> > > I am not sure whether you liked the following patch to solve the above
> > > problem. Do, you want me address some other issue(s)/fixes for this ?
> >
> > I suppose ... in fact some old PReP machines can even have ISA slots
> > iirc, but it's not going to do good with machines that have an iommu...
> >
> > IE. Nobody should use that crap, period.
>
> Great,
>
> Can you please make some changes at drivers/net/Kconfig so that this guy
> does not build for the PPC64 systems ?

When I said "that crap" I was talking about those interfaces which I
-hope- are deprecated :-)

I suspect we never really sorted out the issue of DMA mapping for old
legacy ISA stuff... pci_map_* should work to some extent, though you
have to pass it the ISA bridge pci_dev.

Maybe it's time for somebody to start exposing a -proper- abstraction
accross all platforms for that :-)

Ben.