2.6.25: include/asm-ppc vs. include/asm-powerpc

Paul Smith paul at mad-scientist.us
Fri Aug 29 00:30:48 EST 2008


On Thu, 2008-08-28 at 15:53 +0200, Arnd Bergmann wrote:
> The easiest solution should be to just include all your modules in
> the kernel source as patches, rather than building them externally.
> 
> That will give you access to all the headers you need.

It doesn't matter whether I build my code in the kernel as patches, or
not.  The problem is not that I don't have the headers handy, it's that
they simply don't exist in asm-ppc anymore, not even in the linux source
tree.

There is no asm-ppc/ppc_asm.h in the kernel anymore.  In my code that
includes it, where ARCH=ppc and include/asm is linked to asm-ppc, how do
I get ahold of that file?  I can't use #include <asm/ppc_asm.h> like I
used to.  Do I have to use #include <asm-powerpc/ppc_asm.h> explicitly?
At least this will work... but read on:

Even more troublesome are headers like <linux/posix_types.h>, which
includes <asm/posix_types.h>, but there IS NO asm-ppc/posix_types.h file
in the kernel tree!  There is only an asm-powerpc/posix_types.h... but
if asm is a link to asm-ppc, this fails and I have no way to fix it!

On the other hand, if I cheat and set the asm symlink pointing to
asm-powerpc instead, then when I include files like <linux/interrupt.h>.
which includes <linux/hardirq.h>, which includes <asm/hardirq.h>, which
(because I have CONFIG_40X defined) includes <asm/ibm44x.h>, I get the
opposite problem: there is no asm-powerpc/ibm4xx.h; that header exists
only in the asm-ppc directory.  So now THAT include fails.



I seem to be out of luck here.


More information about the Linuxppc-embedded mailing list