Subject: Re: asm-ppc header issues when building ARCH=powerpc

From: David Gibson <[email-masked]>
Date: Thu, 23 Aug 2007 12:47:57 +1000

On Wed, Aug 22, 2007 at 10:19:21AM -0500, Kumar Gala wrote:
> Guys,
> 
> I was wondering if I could get your help with looking at the  
> following lists and determining if we have an issue or not related  
> the following files:
> 
> Getting some classification on these would be good.  Possibly  
> classifications, doesn't build in ARCH=powerpc, remove include, real  
> issue, etc.
> 
> - k
> 
> ./include/asm-powerpc/irq.h:#include <asm/mpc83xx.h>	- protected by ! 
> CONFIG_PPC_MERGE

irq.h seems to have a big slab of CONFIG_PPC_MERGE dependent stuff.
Looks like a good candidate for splitting into asm-ppc/irq.h and
asm-powerpc/irq.h

> ./drivers/ide/ppc/mpc8xx.c:#include <asm/residual.h>

Since mpc8xx is certainly not PReP, I don't think there's any way it
ought to be including residual.h

> ./drivers/mtd/maps/tqm834x.c:#include <asm/ppcboot.h>
> ./drivers/mtd/maps/pq2fads.c:#include <asm/ppcboot.h>

Although these both have an extern of type bd_t (defined in
ppcboot.h), afaict they don't actually use it, so these should be
removable.  Longer term, all these ugly hardcoded map files should be
relegated to arch/ppc only, replaced with physmap_of and suitable
information in the device tree for arch/powerpc.  However, being able
to build them on arch/powerpc may be useful during transition.

> ./drivers/i2c/busses/i2c-ibm_iic.c:#include <asm/ibm4xx.h>

This driver will need significant reworking to port to arch/powerpc
(similar to the treatment ibm_emac has received).  Such rework will
remove the dependency on ibm4xx.h and ocp.h

> ./drivers/mtd/maps/walnut.c:#include <asm/ibm4xx.h>

Suspect it's not needed.  But in any case, this too should be replaced
by physmap_of for arch/powerpc.

> ./include/asm-powerpc/irq.h:#include <asm/ibm4xx.h>	- protected by ! 
> CONFIG_PPC_MERGE
> 
> ./drivers/mtd/maps/ebony.c:#include <asm/ibm44x.h>

Ebony flash now works with physmap_of, so this is only used on
arch/ppc.

> ./drivers/mtd/maps/ocotea.c:#include <asm/ibm44x.h>

As for drivers/mtd/maps/walnut.c.

> ./drivers/mtd/nand/ndfc.c:#include <asm/ibm44x.h>

This probably also wants rework to make a device-tree-aware
arch/powerpc version.

> ./include/asm-powerpc/irq.h:#include <asm/ibm44x.h>	- protected by ! 
> CONFIG_PPC_MERGE
> 
> ./drivers/i2c/busses/i2c-ibm_iic.c:#include <asm/ocp.h>

See above.

> ./drivers/net/ucc_geth_mii.c:#include <asm/ocp.h>	- just bogus, needs  
> removal
> ./drivers/net/ibm_emac/ibm_emac_core.c:#include <asm/ocp.h>
> ./drivers/net/ibm_emac/ibm_emac_core.h:#include <asm/ocp.h>
> ./drivers/net/ibm_emac/ibm_emac_tah.h:#include <asm/ocp.h>
> ./drivers/net/ibm_emac/ibm_emac_phy.c:#include <asm/ocp.h>
> ./drivers/net/ibm_emac/ibm_emac_mal.c:#include <asm/ocp.h>
> ./drivers/net/ibm_emac/ibm_emac_zmii.h:#include <asm/ocp.h>

ibm_emac is arch/ppc only.  BenH and my 'ibm_newemac' patch adds a
new, device-tree aware arch/powerpc port of this driver.

> 
> ./drivers/macintosh/adb-iop.c:#include <asm/bootinfo.h>

I think this is just unnecessary, maybe also for a bunch of the ones
below.

> ./drivers/char/vme_scc.c:#include <asm/bootinfo.h>
> ./drivers/char/serial167.c:#include <asm/bootinfo.h>
> ./drivers/serial/dz.c:#include <asm/bootinfo.h>
> ./drivers/mtd/devices/ms02-nv.c:#include <asm/bootinfo.h>
> ./drivers/net/macsonic.c:#include <asm/bootinfo.h>
> ./drivers/net/jazzsonic.c:#include <asm/bootinfo.h>
> ./drivers/video/pmag-aa-fb.c:#include <asm/bootinfo.h>
> ./drivers/video/maxinefb.c:#include <asm/bootinfo.h>
> ./drivers/video/logo/logo.c:#include <asm/bootinfo.h>
> ./drivers/video/valkyriefb.c:#include <asm/bootinfo.h>
> ./drivers/video/macfb.c:#include <asm/bootinfo.h>
> _______________________________________________
> Linuxppc-dev mailing list
> [email-masked]
> https://ozlabs.org/mailman/listinfo/linuxppc-dev
> 

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson