Subject: powerpc: sanitize header files for user space includes

Arnd Bergmann arnd at arndb.de
Sat Dec 17 08:43:46 EST 2005


include/asm-ppc/ had #ifdef __KERNEL__ in all header files that
are not meant for use by user space, include/asm-powerpc does
not have this yet.

This patch gets us a lot closer there. There are a few cases
where I was not sure, so I left them out. I have verified
that no CONFIG_* symbols are used outside of __KERNEL__
any more and that there are no obvious compile errors when
including any of the headers in user space libraries.

Signed-off-by: Arnd Bergmann <arnd at arndb.de>

---

On Dinsdag 13 Dezember 2005 09:21, Olaf Hering wrote:

> asm-ppc/ had the good/bad feature that everything was inside #ifdef
> __KERNEL__. Can we have that back please?
> 

I just gave this a try:

 include/asm-powerpc/ppc_asm.h          |    3 +++
 include/asm-powerpc/abs_addr.h         |    2 ++
 include/asm-powerpc/agp.h              |    2 ++
 include/asm-powerpc/asm-compat.h       |    3 ++-
 include/asm-powerpc/bootx.h            |    5 +++++
 include/asm-powerpc/bug.h              |    2 ++
 include/asm-powerpc/checksum.h         |    2 ++
 include/asm-powerpc/compat.h           |    2 ++
 include/asm-powerpc/cputable.h         |    1 -
 include/asm-powerpc/current.h          |    2 ++
 include/asm-powerpc/delay.h            |    2 ++
 include/asm-powerpc/dma-mapping.h      |    2 ++
 include/asm-powerpc/dma.h              |    2 ++
 include/asm-powerpc/eeh.h              |    2 ++
 include/asm-powerpc/eeh_event.h        |    2 ++
 include/asm-powerpc/elf.h              |    3 +++
 include/asm-powerpc/floppy.h           |    2 ++
 include/asm-powerpc/grackle.h          |    5 +++++
 include/asm-powerpc/hardirq.h          |    2 ++
 include/asm-powerpc/heathrow.h         |    5 +++++
 include/asm-powerpc/hvcall.h           |    2 ++
 include/asm-powerpc/hvconsole.h        |    2 ++
 include/asm-powerpc/hvcserver.h        |    2 ++
 include/asm-powerpc/i8259.h            |    2 ++
 include/asm-powerpc/ibmebus.h          |    2 ++
 include/asm-powerpc/io.h               |    6 +-----
 include/asm-powerpc/iommu.h            |    2 ++
 include/asm-powerpc/kdebug.h           |    2 ++
 include/asm-powerpc/kexec.h            |    2 ++
 include/asm-powerpc/keylargo.h         |    5 +++++
 include/asm-powerpc/kprobes.h          |    2 ++
 include/asm-powerpc/lmb.h              |    2 ++
 include/asm-powerpc/lppaca.h           |    2 ++
 include/asm-powerpc/macio.h            |    2 ++
 include/asm-powerpc/mmu.h              |    2 ++
 include/asm-powerpc/mmu_context.h      |    2 ++
 include/asm-powerpc/mmzone.h           |    2 ++
 include/asm-powerpc/module.h           |    2 ++
 include/asm-powerpc/mpic.h             |    2 ++
 include/asm-powerpc/numnodes.h         |    2 ++
 include/asm-powerpc/nvram.h            |    4 ++++
 include/asm-powerpc/of_device.h        |    2 ++
 include/asm-powerpc/ohare.h            |    6 ++++++
 include/asm-powerpc/oprofile_impl.h    |    2 ++
 include/asm-powerpc/pSeries_reconfig.h |    2 ++
 include/asm-powerpc/paca.h             |    2 ++
 include/asm-powerpc/page_32.h          |    2 ++
 include/asm-powerpc/page_64.h          |    2 ++
 include/asm-powerpc/param.h            |    2 --
 include/asm-powerpc/parport.h          |    2 ++
 include/asm-powerpc/pci-bridge.h       |    2 ++
 include/asm-powerpc/pgalloc.h          |    2 ++
 include/asm-powerpc/pgtable-64k.h      |    6 ++++++
 include/asm-powerpc/pgtable.h          |    2 ++
 include/asm-powerpc/pmac_low_i2c.h     |    2 ++
 include/asm-powerpc/pmc.h              |    2 ++
 include/asm-powerpc/ppc-pci.h          |    2 ++
 include/asm-powerpc/processor.h        |    4 ++--
 include/asm-powerpc/rtas.h             |    2 ++
 include/asm-powerpc/seccomp.h          |    4 ++++
 include/asm-powerpc/sections.h         |    2 ++
 include/asm-powerpc/signal.h           |    7 +++++--
 include/asm-powerpc/smu.h              |   22 ++++++++++++----------
 include/asm-powerpc/sparsemem.h        |    2 ++
 include/asm-powerpc/spinlock.h         |    2 ++
 include/asm-powerpc/spu.h              |    3 +++
 include/asm-powerpc/spu_csa.h          |    3 +--
 include/asm-powerpc/synch.h            |    4 ++--
 include/asm-powerpc/system.h           |    3 +--
 include/asm-powerpc/tce.h              |    2 ++
 include/asm-powerpc/tlb.h              |    2 ++
 include/asm-powerpc/topology.h         |    2 ++
 include/asm-powerpc/udbg.h             |    2 ++
 include/asm-powerpc/vdso_datapage.h    |    2 ++
 include/asm-powerpc/vio.h              |    2 ++
 75 files changed, 183 insertions(+), 29 deletions(-)

Index: powerpc-2.6/include/asm-powerpc/abs_addr.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/abs_addr.h
+++ powerpc-2.6/include/asm-powerpc/abs_addr.h
@@ -1,5 +1,6 @@
 #ifndef _ASM_POWERPC_ABS_ADDR_H
 #define _ASM_POWERPC_ABS_ADDR_H
+#ifdef __KERNEL__
 
 #include <linux/config.h>
 
@@ -70,4 +71,5 @@ static inline unsigned long phys_to_abs(
 #define iseries_hv_addr(virtaddr)	\
 	(0x8000000000000000 | virt_to_abs(virtaddr))
 
+#endif /* __KERNEL__ */
 #endif /* _ASM_POWERPC_ABS_ADDR_H */
Index: powerpc-2.6/include/asm-powerpc/agp.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/agp.h
+++ powerpc-2.6/include/asm-powerpc/agp.h
@@ -1,5 +1,6 @@
 #ifndef _ASM_POWERPC_AGP_H
 #define _ASM_POWERPC_AGP_H
+#ifdef __KERNEL__
 
 #include <asm/io.h>
 
@@ -18,4 +19,5 @@
 #define free_gatt_pages(table, order)	\
 	free_pages((unsigned long)(table), (order))
 
+#endif /* __KERNEL__ */
 #endif	/* _ASM_POWERPC_AGP_H */
Index: powerpc-2.6/include/asm-powerpc/asm-compat.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/asm-compat.h
+++ powerpc-2.6/include/asm-powerpc/asm-compat.h
@@ -1,7 +1,6 @@
 #ifndef _ASM_POWERPC_ASM_COMPAT_H
 #define _ASM_POWERPC_ASM_COMPAT_H
 
-#include <linux/config.h>
 #include <asm/types.h>
 
 #ifdef __ASSEMBLY__
@@ -41,6 +40,7 @@
 
 #endif
 
+#ifdef __KERNEL__
 #ifdef CONFIG_IBM405_ERR77
 /* Erratum #77 on the 405 means we need a sync or dcbt before every
  * stwcx.  The old ATOMIC_SYNC_FIX covered some but not all of this.
@@ -51,5 +51,6 @@
 #define PPC405_ERR77(ra,rb)
 #define PPC405_ERR77_SYNC
 #endif
+#endif
 
 #endif /* _ASM_POWERPC_ASM_COMPAT_H */
Index: powerpc-2.6/include/asm-powerpc/bootx.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/bootx.h
+++ powerpc-2.6/include/asm-powerpc/bootx.h
@@ -9,6 +9,8 @@
 #ifndef __ASM_BOOTX_H__
 #define __ASM_BOOTX_H__
 
+#include <asm/types.h>
+
 #ifdef macintosh
 #include <Types.h>
 #include "linux_type_defs.h"
@@ -122,6 +124,7 @@ typedef struct boot_infos
 
 } boot_infos_t;
 
+#ifdef __KERNEL__
 /* (*) The format of the colormap is 256 * 3 * 2 bytes. Each color index
  * is represented by 3 short words containing a 16 bits (unsigned) color
  * component. Later versions may contain the gamma table for direct-color
@@ -159,6 +162,8 @@ struct bootx_dt_node {
 
 extern void bootx_init(unsigned long r4, unsigned long phys);
 
+#endif /* __KERNEL__ */
+
 #ifdef macintosh
 #pragma options align=reset
 #endif
Index: powerpc-2.6/include/asm-powerpc/bug.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/bug.h
+++ powerpc-2.6/include/asm-powerpc/bug.h
@@ -1,5 +1,6 @@
 #ifndef _ASM_POWERPC_BUG_H
 #define _ASM_POWERPC_BUG_H
+#ifdef __KERNEL__
 
 #include <asm/asm-compat.h>
 /*
@@ -67,4 +68,5 @@ struct bug_entry *find_bug(unsigned long
 
 #include <asm-generic/bug.h>
 
+#endif /* __KERNEL__ */
 #endif /* _ASM_POWERPC_BUG_H */
Index: powerpc-2.6/include/asm-powerpc/checksum.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/checksum.h
+++ powerpc-2.6/include/asm-powerpc/checksum.h
@@ -1,5 +1,6 @@
 #ifndef _ASM_POWERPC_CHECKSUM_H
 #define _ASM_POWERPC_CHECKSUM_H
+#ifdef __KERNEL__
 
 /*
  * This program is free software; you can redistribute it and/or
@@ -129,4 +130,5 @@ static inline unsigned long csum_tcpudp_
 }
 
 #endif
+#endif /* __KERNEL__ */
 #endif
Index: powerpc-2.6/include/asm-powerpc/compat.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/compat.h
+++ powerpc-2.6/include/asm-powerpc/compat.h
@@ -1,5 +1,6 @@
 #ifndef _ASM_POWERPC_COMPAT_H
 #define _ASM_POWERPC_COMPAT_H
+#ifdef __KERNEL__
 /*
  * Architecture specific compatibility types
  */
@@ -202,4 +203,5 @@ struct compat_shmid64_ds {
 	compat_ulong_t __unused6;
 };
 
+#endif /* __KERNEL__ */
 #endif /* _ASM_POWERPC_COMPAT_H */
Index: powerpc-2.6/include/asm-powerpc/cputable.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/cputable.h
+++ powerpc-2.6/include/asm-powerpc/cputable.h
@@ -1,7 +1,6 @@
 #ifndef __ASM_POWERPC_CPUTABLE_H
 #define __ASM_POWERPC_CPUTABLE_H
 
-#include <linux/config.h>
 #include <asm/asm-compat.h>
 
 #define PPC_FEATURE_32			0x80000000
Index: powerpc-2.6/include/asm-powerpc/current.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/current.h
+++ powerpc-2.6/include/asm-powerpc/current.h
@@ -1,5 +1,6 @@
 #ifndef _ASM_POWERPC_CURRENT_H
 #define _ASM_POWERPC_CURRENT_H
+#ifdef __KERNEL__
 
 /*
  * This program is free software; you can redistribute it and/or
@@ -24,4 +25,5 @@ register struct task_struct *current asm
 
 #endif
 
+#endif /* __KERNEL__ */
 #endif /* _ASM_POWERPC_CURRENT_H */
Index: powerpc-2.6/include/asm-powerpc/delay.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/delay.h
+++ powerpc-2.6/include/asm-powerpc/delay.h
@@ -1,5 +1,6 @@
 #ifndef _ASM_POWERPC_DELAY_H
 #define _ASM_POWERPC_DELAY_H
+#ifdef __KERNEL__
 
 /*
  * Copyright 1996, Paul Mackerras.
@@ -16,4 +17,5 @@
 extern void __delay(unsigned long loops);
 extern void udelay(unsigned long usecs);
 
+#endif /* __KERNEL__ */
 #endif /* _ASM_POWERPC_DELAY_H */
Index: powerpc-2.6/include/asm-powerpc/dma-mapping.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/dma-mapping.h
+++ powerpc-2.6/include/asm-powerpc/dma-mapping.h
@@ -6,6 +6,7 @@
  */
 #ifndef _ASM_DMA_MAPPING_H
 #define _ASM_DMA_MAPPING_H
+#ifdef __KERNEL__
 
 #include <linux/config.h>
 #include <linux/types.h>
@@ -282,4 +283,5 @@ struct dma_mapping_ops {
 	int		(*dac_dma_supported)(struct device *dev, u64 mask);
 };
 
+#endif /* __KERNEL__ */
 #endif	/* _ASM_DMA_MAPPING_H */
Index: powerpc-2.6/include/asm-powerpc/dma.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/dma.h
+++ powerpc-2.6/include/asm-powerpc/dma.h
@@ -1,5 +1,6 @@
 #ifndef _ASM_POWERPC_DMA_H
 #define _ASM_POWERPC_DMA_H
+#ifdef __KERNEL__
 
 /*
  * Defines for using and allocating dma channels.
@@ -387,4 +388,5 @@ extern int isa_dma_bridge_buggy;
 
 #endif	/* !defined(CONFIG_PPC_ISERIES) || defined(CONFIG_PCI) */
 
+#endif /* __KERNEL__ */
 #endif	/* _ASM_POWERPC_DMA_H */
Index: powerpc-2.6/include/asm-powerpc/eeh.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/eeh.h
+++ powerpc-2.6/include/asm-powerpc/eeh.h
@@ -19,6 +19,7 @@
 
 #ifndef _PPC64_EEH_H
 #define _PPC64_EEH_H
+#ifdef __KERNEL__
 
 #include <linux/config.h>
 #include <linux/init.h>
@@ -375,4 +376,5 @@ static inline void eeh_insl_ns(unsigned 
 		eeh_check_failure((void __iomem *)(port), *(u32*)buf);
 }
 
+#endif /* __KERNEL__ */
 #endif /* _PPC64_EEH_H */
Index: powerpc-2.6/include/asm-powerpc/eeh_event.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/eeh_event.h
+++ powerpc-2.6/include/asm-powerpc/eeh_event.h
@@ -20,6 +20,7 @@
 
 #ifndef ASM_PPC64_EEH_EVENT_H
 #define ASM_PPC64_EEH_EVENT_H
+#ifdef __KERNEL__
 
 /** EEH event -- structure holding pci controller data that describes
  *  a change in the isolation status of a PCI slot.  A pointer
@@ -52,4 +53,5 @@ int eeh_send_failure_event (struct devic
 /* Main recovery function */
 void handle_eeh_events (struct eeh_event *);
 
+#endif /* __KERNEL__ */
 #endif /* ASM_PPC64_EEH_EVENT_H */
Index: powerpc-2.6/include/asm-powerpc/elf.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/elf.h
+++ powerpc-2.6/include/asm-powerpc/elf.h
@@ -1,7 +1,10 @@
 #ifndef _ASM_POWERPC_ELF_H
 #define _ASM_POWERPC_ELF_H
 
+#ifdef __KERNEL__
 #include <linux/sched.h>	/* for task_struct */
+#endif
+
 #include <asm/types.h>
 #include <asm/ptrace.h>
 #include <asm/cputable.h>
Index: powerpc-2.6/include/asm-powerpc/floppy.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/floppy.h
+++ powerpc-2.6/include/asm-powerpc/floppy.h
@@ -9,6 +9,7 @@
  */
 #ifndef __ASM_POWERPC_FLOPPY_H
 #define __ASM_POWERPC_FLOPPY_H
+#ifdef __KERNEL__
 
 #include <linux/config.h>
 #include <asm/machdep.h>
@@ -102,4 +103,5 @@ static int FDC2 = -1;
 
 #define EXTRA_FLOPPY_PARAMS
 
+#endif /* __KERNEL__ */
 #endif /* __ASM_POWERPC_FLOPPY_H */
Index: powerpc-2.6/include/asm-powerpc/grackle.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/grackle.h
+++ powerpc-2.6/include/asm-powerpc/grackle.h
@@ -1,3 +1,6 @@
+#ifndef _ASM_POWERPC_GRACKLE_H
+#define _ASM_POWERPC_GRACKLE_H
+#ifdef __KERNEL__
 /*
  * Functions for setting up and using a MPC106 northbridge
  */
@@ -5,3 +8,5 @@
 #include <asm/pci-bridge.h>
 
 extern void setup_grackle(struct pci_controller *hose);
+#endif /* __KERNEL__ */
+#endif /* _ASM_POWERPC_GRACKLE_H */
Index: powerpc-2.6/include/asm-powerpc/hardirq.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/hardirq.h
+++ powerpc-2.6/include/asm-powerpc/hardirq.h
@@ -1,5 +1,6 @@
 #ifndef _ASM_POWERPC_HARDIRQ_H
 #define _ASM_POWERPC_HARDIRQ_H
+#ifdef __KERNEL__
 
 #include <asm/irq.h>
 #include <asm/bug.h>
@@ -21,4 +22,5 @@ static inline void ack_bad_irq(int irq)
 	BUG();
 }
 
+#endif /* __KERNEL__ */
 #endif /* _ASM_POWERPC_HARDIRQ_H */
Index: powerpc-2.6/include/asm-powerpc/heathrow.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/heathrow.h
+++ powerpc-2.6/include/asm-powerpc/heathrow.h
@@ -1,3 +1,6 @@
+#ifndef _ASM_POWERPC_HEATHROW_H
+#define _ASM_POWERPC_HEATHROW_H
+#ifndef __KERNEL__
 /*
  * heathrow.h: definitions for using the "Heathrow" I/O controller chip.
  *
@@ -60,3 +63,5 @@
 /* Looks like Heathrow has some sort of GPIOs as well... */
 #define HRW_GPIO_MODEM_RESET	0x6d
 
+#endif /* __KERNEL__ */
+#endif /* _ASM_POWERPC_HEATHROW_H */
Index: powerpc-2.6/include/asm-powerpc/hvcall.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/hvcall.h
+++ powerpc-2.6/include/asm-powerpc/hvcall.h
@@ -1,5 +1,6 @@
 #ifndef _ASM_POWERPC_HVCALL_H
 #define _ASM_POWERPC_HVCALL_H
+#ifdef __KERNEL__
 
 #define HVSC			.long 0x44000022
 
@@ -170,4 +171,5 @@ long plpar_hcall_4out(unsigned long opco
 		      unsigned long *out4);
 
 #endif /* __ASSEMBLY__ */
+#endif /* __KERNEL__ */
 #endif /* _ASM_POWERPC_HVCALL_H */
Index: powerpc-2.6/include/asm-powerpc/hvconsole.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/hvconsole.h
+++ powerpc-2.6/include/asm-powerpc/hvconsole.h
@@ -21,6 +21,7 @@
 
 #ifndef _PPC64_HVCONSOLE_H
 #define _PPC64_HVCONSOLE_H
+#ifdef __KERNEL__
 
 /*
  * This is the max number of console adapters that can/will be found as
@@ -46,4 +47,5 @@ extern struct hvc_struct * __devinit hvc
 						 struct hv_ops *ops);
 /* remove a vterm from hvc tty operation (modele_exit or hotplug remove) */
 extern int __devexit hvc_remove(struct hvc_struct *hp);
+#endif /* __KERNEL__ */
 #endif /* _PPC64_HVCONSOLE_H */
Index: powerpc-2.6/include/asm-powerpc/hvcserver.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/hvcserver.h
+++ powerpc-2.6/include/asm-powerpc/hvcserver.h
@@ -21,6 +21,7 @@
 
 #ifndef _PPC64_HVCSERVER_H
 #define _PPC64_HVCSERVER_H
+#ifdef __KERNEL__
 
 #include <linux/list.h>
 
@@ -54,4 +55,5 @@ extern int hvcs_register_connection(uint
 		uint32_t p_partition_ID, uint32_t p_unit_address);
 extern int hvcs_free_connection(uint32_t unit_address);
 
+#endif /* __KERNEL__ */
 #endif /* _PPC64_HVCSERVER_H */
Index: powerpc-2.6/include/asm-powerpc/i8259.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/i8259.h
+++ powerpc-2.6/include/asm-powerpc/i8259.h
@@ -1,5 +1,6 @@
 #ifndef _ASM_POWERPC_I8259_H
 #define _ASM_POWERPC_I8259_H
+#ifdef __KERNEL__
 
 #include <linux/irq.h>
 
@@ -9,4 +10,5 @@ extern void i8259_init(unsigned long int
 extern int i8259_irq(struct pt_regs *regs);
 extern int i8259_irq_cascade(struct pt_regs *regs, void *unused);
 
+#endif /* __KERNEL__ */
 #endif /* _ASM_POWERPC_I8259_H */
Index: powerpc-2.6/include/asm-powerpc/ibmebus.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/ibmebus.h
+++ powerpc-2.6/include/asm-powerpc/ibmebus.h
@@ -37,6 +37,7 @@
 
 #ifndef _ASM_EBUS_H
 #define _ASM_EBUS_H
+#ifdef __KERNEL__
 
 #include <linux/device.h>
 #include <linux/interrupt.h>
@@ -80,4 +81,5 @@ static inline struct ibmebus_dev *to_ibm
 }
 
 
+#endif /* __KERNEL__ */
 #endif /* _ASM_IBMEBUS_H */
Index: powerpc-2.6/include/asm-powerpc/io.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/io.h
+++ powerpc-2.6/include/asm-powerpc/io.h
@@ -1,5 +1,6 @@
 #ifndef _ASM_POWERPC_IO_H
 #define _ASM_POWERPC_IO_H
+#ifdef __KERNEL__
 
 /* 
  * This program is free software; you can redistribute it and/or
@@ -186,7 +187,6 @@ extern void _outsl_ns(volatile u32 __iom
 #define IO_SPACE_LIMIT ~(0UL)
 
 
-#ifdef __KERNEL__
 extern int __ioremap_explicit(unsigned long p_addr, unsigned long v_addr,
 		     	      unsigned long size, unsigned long flags);
 extern void __iomem *__ioremap(unsigned long address, unsigned long size,
@@ -256,8 +256,6 @@ static inline void * phys_to_virt(unsign
  */
 #define BIO_VMERGE_BOUNDARY	0
 
-#endif /* __KERNEL__ */
-
 static inline void iosync(void)
 {
         __asm__ __volatile__ ("sync" : : : "memory");
@@ -405,8 +403,6 @@ static inline void out_be64(volatile uns
 #include <asm/eeh.h>
 #endif
 
-#ifdef __KERNEL__
-
 /**
  *	check_signature		-	find BIOS signatures
  *	@io_addr: mmio address to check
Index: powerpc-2.6/include/asm-powerpc/iommu.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/iommu.h
+++ powerpc-2.6/include/asm-powerpc/iommu.h
@@ -20,6 +20,7 @@
 
 #ifndef _ASM_IOMMU_H
 #define _ASM_IOMMU_H
+#ifdef __KERNEL__
 
 #include <linux/config.h>
 #include <asm/types.h>
@@ -115,4 +116,5 @@ static inline void pci_iommu_init(void) 
 
 extern void alloc_dart_table(void);
 
+#endif /* __KERNEL__ */
 #endif /* _ASM_IOMMU_H */
Index: powerpc-2.6/include/asm-powerpc/kdebug.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/kdebug.h
+++ powerpc-2.6/include/asm-powerpc/kdebug.h
@@ -1,5 +1,6 @@
 #ifndef _ASM_POWERPC_KDEBUG_H
 #define _ASM_POWERPC_KDEBUG_H
+#ifdef __KERNEL__
 
 /* nearly identical to x86_64/i386 code */
 
@@ -39,4 +40,5 @@ static inline int notify_die(enum die_va
 	return notifier_call_chain(&powerpc_die_chain, val, &args);
 }
 
+#endif /* __KERNEL__ */
 #endif /* _ASM_POWERPC_KDEBUG_H */
Index: powerpc-2.6/include/asm-powerpc/kexec.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/kexec.h
+++ powerpc-2.6/include/asm-powerpc/kexec.h
@@ -1,5 +1,6 @@
 #ifndef _ASM_POWERPC_KEXEC_H
 #define _ASM_POWERPC_KEXEC_H
+#ifdef __KERNEL__
 
 /*
  * Maximum page that is mapped directly into kernel memory.
@@ -58,4 +59,5 @@ extern void default_machine_crash_shutdo
 #endif /* !CONFIG_KEXEC */
 
 #endif /* ! __ASSEMBLY__ */
+#endif /* __KERNEL__ */
 #endif /* _ASM_POWERPC_KEXEC_H */
Index: powerpc-2.6/include/asm-powerpc/keylargo.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/keylargo.h
+++ powerpc-2.6/include/asm-powerpc/keylargo.h
@@ -1,3 +1,6 @@
+#ifndef _ASM_POWERPC_KEYLARGO_H
+#define _ASM_POWERPC_KEYLARGO_H
+#ifdef __KERNEL__
 /*
  * keylargo.h: definitions for using the "KeyLargo" I/O controller chip.
  *
@@ -254,3 +257,5 @@
 #define SH_FCR1_I2S2_ENABLE		0x00000080
 #define SH_FCR3_I2S2_CLK18_ENABLE	0x00008000
 
+#endif /* __KERNEL__ */
+#endif /* _ASM_POWERPC_KEYLARGO_H */
Index: powerpc-2.6/include/asm-powerpc/kprobes.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/kprobes.h
+++ powerpc-2.6/include/asm-powerpc/kprobes.h
@@ -1,5 +1,6 @@
 #ifndef _ASM_POWERPC_KPROBES_H
 #define _ASM_POWERPC_KPROBES_H
+#ifdef __KERNEL__
 /*
  *  Kernel Probes (KProbes)
  *
@@ -78,4 +79,5 @@ static inline int kprobe_exceptions_noti
 	return 0;
 }
 #endif
+#endif /* __KERNEL__ */
 #endif	/* _ASM_POWERPC_KPROBES_H */
Index: powerpc-2.6/include/asm-powerpc/lmb.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/lmb.h
+++ powerpc-2.6/include/asm-powerpc/lmb.h
@@ -1,5 +1,6 @@
 #ifndef _PPC64_LMB_H
 #define _PPC64_LMB_H
+#ifdef __KERNEL__
 
 /*
  * Definitions for talking to the Open Firmware PROM on
@@ -78,4 +79,5 @@ lmb_end_pfn(struct lmb_region *type, uns
 	       lmb_size_pages(type, region_nr);
 }
 
+#endif /* __KERNEL__ */
 #endif /* _PPC64_LMB_H */
Index: powerpc-2.6/include/asm-powerpc/lppaca.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/lppaca.h
+++ powerpc-2.6/include/asm-powerpc/lppaca.h
@@ -18,6 +18,7 @@
  */
 #ifndef _ASM_POWERPC_LPPACA_H
 #define _ASM_POWERPC_LPPACA_H
+#ifdef __KERNEL__
 
 //=============================================================================
 //
@@ -128,4 +129,5 @@ struct lppaca {
 	u8	pmc_save_area[256];	// PMC interrupt Area           x00-xFF
 };
 
+#endif /* __KERNEL__ */
 #endif /* _ASM_POWERPC_LPPACA_H */
Index: powerpc-2.6/include/asm-powerpc/macio.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/macio.h
+++ powerpc-2.6/include/asm-powerpc/macio.h
@@ -1,5 +1,6 @@
 #ifndef __MACIO_ASIC_H__
 #define __MACIO_ASIC_H__
+#ifdef __KERNEL__
 
 #include <asm/of_device.h>
 
@@ -137,4 +138,5 @@ struct macio_driver
 extern int macio_register_driver(struct macio_driver *);
 extern void macio_unregister_driver(struct macio_driver *);
 
+#endif /* __KERNEL__ */
 #endif /* __MACIO_ASIC_H__ */
Index: powerpc-2.6/include/asm-powerpc/mmu.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/mmu.h
+++ powerpc-2.6/include/asm-powerpc/mmu.h
@@ -1,5 +1,6 @@
 #ifndef _ASM_POWERPC_MMU_H_
 #define _ASM_POWERPC_MMU_H_
+#ifdef __KERNEL__
 
 #ifndef CONFIG_PPC64
 #include <asm-ppc/mmu.h>
@@ -402,4 +403,5 @@ typedef unsigned long phys_addr_t;
 #endif /* __ASSEMBLY */
 
 #endif /* CONFIG_PPC64 */
+#endif /* __KERNEL__ */
 #endif /* _ASM_POWERPC_MMU_H_ */
Index: powerpc-2.6/include/asm-powerpc/mmu_context.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/mmu_context.h
+++ powerpc-2.6/include/asm-powerpc/mmu_context.h
@@ -1,5 +1,6 @@
 #ifndef __ASM_POWERPC_MMU_CONTEXT_H
 #define __ASM_POWERPC_MMU_CONTEXT_H
+#ifdef __KERNEL__
 
 #ifndef CONFIG_PPC64
 #include <asm-ppc/mmu_context.h>
@@ -86,4 +87,5 @@ static inline void activate_mm(struct mm
 }
 
 #endif /* CONFIG_PPC64 */
+#endif /* __KERNEL__ */
 #endif /* __ASM_POWERPC_MMU_CONTEXT_H */
Index: powerpc-2.6/include/asm-powerpc/mmzone.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/mmzone.h
+++ powerpc-2.6/include/asm-powerpc/mmzone.h
@@ -6,6 +6,7 @@
  */
 #ifndef _ASM_MMZONE_H_
 #define _ASM_MMZONE_H_
+#ifdef __KERNEL__
 
 #include <linux/config.h>
 
@@ -47,4 +48,5 @@ extern unsigned long max_pfn;
 extern int __init early_pfn_to_nid(unsigned long pfn);
 #endif
 
+#endif /* __KERNEL__ */
 #endif /* _ASM_MMZONE_H_ */
Index: powerpc-2.6/include/asm-powerpc/module.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/module.h
+++ powerpc-2.6/include/asm-powerpc/module.h
@@ -1,5 +1,6 @@
 #ifndef _ASM_POWERPC_MODULE_H
 #define _ASM_POWERPC_MODULE_H
+#ifdef __KERNEL__
 
 /*
  * This program is free software; you can redistribute it and/or
@@ -74,4 +75,5 @@ struct exception_table_entry;
 void sort_ex_table(struct exception_table_entry *start,
 		   struct exception_table_entry *finish);
 
+#endif /* __KERNEL__ */
 #endif	/* _ASM_POWERPC_MODULE_H */
Index: powerpc-2.6/include/asm-powerpc/mpic.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/mpic.h
+++ powerpc-2.6/include/asm-powerpc/mpic.h
@@ -1,5 +1,6 @@
 #ifndef _ASM_POWERPC_MPIC_H
 #define _ASM_POWERPC_MPIC_H
+#ifdef __KERNEL__
 
 #include <linux/irq.h>
 
@@ -286,4 +287,5 @@ extern int mpic_get_irq(struct pt_regs *
 /* global mpic for pSeries */
 extern struct mpic *pSeries_mpic;
 
+#endif /* __KERNEL__ */
 #endif	/* _ASM_POWERPC_MPIC_H */
Index: powerpc-2.6/include/asm-powerpc/numnodes.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/numnodes.h
+++ powerpc-2.6/include/asm-powerpc/numnodes.h
@@ -1,7 +1,9 @@
 #ifndef _ASM_POWERPC_MAX_NUMNODES_H
 #define _ASM_POWERPC_MAX_NUMNODES_H
+#ifdef __KERNEL__
 
 /* Max 16 Nodes */
 #define NODES_SHIFT	4
 
+#endif /* __KERNEL__ */
 #endif /* _ASM_POWERPC_MAX_NUMNODES_H */
Index: powerpc-2.6/include/asm-powerpc/nvram.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/nvram.h
+++ powerpc-2.6/include/asm-powerpc/nvram.h
@@ -55,6 +55,7 @@ struct nvram_header {
 	char name[12];
 };
 
+#ifdef __KERNEL__
 struct nvram_partition {
 	struct list_head partition;
 	struct nvram_header header;
@@ -69,6 +70,7 @@ extern struct nvram_partition *nvram_fin
 
 extern int pSeries_nvram_init(void);
 extern int mmio_nvram_init(void);
+#endif /* __KERNEL__ */
 
 /* PowerMac specific nvram stuffs */
 
@@ -78,6 +80,7 @@ enum {
 	pmac_nvram_NR		/* MacOS Name Registry partition */
 };
 
+#ifdef __KERNEL__
 /* Return partition offset in nvram */
 extern int	pmac_get_partition(int partition);
 
@@ -91,6 +94,7 @@ extern void	nvram_sync(void);
 /* Normal access to NVRAM */
 extern unsigned char nvram_read_byte(int i);
 extern void nvram_write_byte(unsigned char c, int i);
+#endif
 
 /* Some offsets in XPRAM */
 #define PMAC_XPRAM_MACHINE_LOC	0xe4
Index: powerpc-2.6/include/asm-powerpc/of_device.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/of_device.h
+++ powerpc-2.6/include/asm-powerpc/of_device.h
@@ -1,5 +1,6 @@
 #ifndef _ASM_POWERPC_OF_DEVICE_H
 #define _ASM_POWERPC_OF_DEVICE_H
+#ifdef __KERNEL__
 
 #include <linux/device.h>
 #include <linux/mod_devicetable.h>
@@ -61,4 +62,5 @@ extern struct of_device *of_platform_dev
 						   struct device *parent);
 extern void of_release_dev(struct device *dev);
 
+#endif /* __KERNEL__ */
 #endif /* _ASM_POWERPC_OF_DEVICE_H */
Index: powerpc-2.6/include/asm-powerpc/ohare.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/ohare.h
+++ powerpc-2.6/include/asm-powerpc/ohare.h
@@ -1,3 +1,6 @@
+#ifndef _ASM_POWERPC_OHARE_H
+#define _ASM_POWERPC_OHARE_H
+#ifndef __KERNEL__
 /*
  * ohare.h: definitions for using the "O'Hare" I/O controller chip.
  *
@@ -46,3 +49,6 @@
  * Contributed by Harry Eaton.
  */
 #define STARMAX_FEATURES	0xbeff7a
+
+#endif /* __KERNEL__ */
+#endif /* _ASM_POWERPC_OHARE_H */
Index: powerpc-2.6/include/asm-powerpc/oprofile_impl.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/oprofile_impl.h
+++ powerpc-2.6/include/asm-powerpc/oprofile_impl.h
@@ -11,6 +11,7 @@
 
 #ifndef _ASM_POWERPC_OPROFILE_IMPL_H
 #define _ASM_POWERPC_OPROFILE_IMPL_H
+#ifdef __KERNEL__
 
 #define OP_MAX_COUNTER 8
 
@@ -120,4 +121,5 @@ static inline void ctr_write(unsigned in
 }
 #endif /* __powerpc64__ */
 
+#endif /* __KERNEL__ */
 #endif /* _ASM_POWERPC_OPROFILE_IMPL_H */
Index: powerpc-2.6/include/asm-powerpc/pSeries_reconfig.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/pSeries_reconfig.h
+++ powerpc-2.6/include/asm-powerpc/pSeries_reconfig.h
@@ -1,5 +1,6 @@
 #ifndef _PPC64_PSERIES_RECONFIG_H
 #define _PPC64_PSERIES_RECONFIG_H
+#ifdef __KERNEL__
 
 #include <linux/notifier.h>
 
@@ -22,4 +23,5 @@ static inline int pSeries_reconfig_notif
 static inline void pSeries_reconfig_notifier_unregister(struct notifier_block *nb) { }
 #endif /* CONFIG_PPC_PSERIES */
 
+#endif /* __KERNEL__ */
 #endif /* _PPC64_PSERIES_RECONFIG_H */
Index: powerpc-2.6/include/asm-powerpc/paca.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/paca.h
+++ powerpc-2.6/include/asm-powerpc/paca.h
@@ -14,6 +14,7 @@
  */
 #ifndef _ASM_POWERPC_PACA_H
 #define _ASM_POWERPC_PACA_H
+#ifdef __KERNEL__
 
 #include	<linux/config.h>
 #include	<asm/types.h>
@@ -110,4 +111,5 @@ struct paca_struct {
 
 extern struct paca_struct paca[];
 
+#endif /* __KERNEL__ */
 #endif /* _ASM_POWERPC_PACA_H */
Index: powerpc-2.6/include/asm-powerpc/page_32.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/page_32.h
+++ powerpc-2.6/include/asm-powerpc/page_32.h
@@ -1,5 +1,6 @@
 #ifndef _ASM_POWERPC_PAGE_32_H
 #define _ASM_POWERPC_PAGE_32_H
+#ifdef __KERNEL__
 
 #define VM_DATA_DEFAULT_FLAGS	VM_DATA_DEFAULT_FLAGS32
 
@@ -37,4 +38,5 @@ extern __inline__ int get_order(unsigned
 
 #endif /* __ASSEMBLY__ */
 
+#endif /* __KERNEL__ */
 #endif /* _ASM_POWERPC_PAGE_32_H */
Index: powerpc-2.6/include/asm-powerpc/page_64.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/page_64.h
+++ powerpc-2.6/include/asm-powerpc/page_64.h
@@ -1,5 +1,6 @@
 #ifndef _ASM_POWERPC_PAGE_64_H
 #define _ASM_POWERPC_PAGE_64_H
+#ifdef __KERNEL__
 
 /*
  * Copyright (C) 2001 PPC64 Team, IBM Corp
@@ -170,4 +171,5 @@ extern unsigned int HPAGE_SHIFT;
 
 #include <asm-generic/page.h>
 
+#endif /* __KERNEL__ */
 #endif /* _ASM_POWERPC_PAGE_64_H */
Index: powerpc-2.6/include/asm-powerpc/param.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/param.h
+++ powerpc-2.6/include/asm-powerpc/param.h
@@ -1,8 +1,6 @@
 #ifndef _ASM_POWERPC_PARAM_H
 #define _ASM_POWERPC_PARAM_H
 
-#include <linux/config.h>
-
 #ifdef __KERNEL__
 #define HZ		CONFIG_HZ	/* internal kernel timer frequency */
 #define USER_HZ		100		/* for user interfaces in "ticks" */
Index: powerpc-2.6/include/asm-powerpc/parport.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/parport.h
+++ powerpc-2.6/include/asm-powerpc/parport.h
@@ -8,6 +8,7 @@
 
 #ifndef _ASM_POWERPC_PARPORT_H
 #define _ASM_POWERPC_PARPORT_H
+#ifdef __KERNEL__
 
 static int __devinit parport_pc_find_isa_ports (int autoirq, int autodma);
 static int __devinit parport_pc_find_nonpci_ports (int autoirq, int autodma)
@@ -15,4 +16,5 @@ static int __devinit parport_pc_find_non
 	return parport_pc_find_isa_ports (autoirq, autodma);
 }
 
+#endif /* __KERNEL__ */
 #endif /* !(_ASM_POWERPC_PARPORT_H) */
Index: powerpc-2.6/include/asm-powerpc/pci-bridge.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/pci-bridge.h
+++ powerpc-2.6/include/asm-powerpc/pci-bridge.h
@@ -1,5 +1,6 @@
 #ifndef _ASM_POWERPC_PCI_BRIDGE_H
 #define _ASM_POWERPC_PCI_BRIDGE_H
+#ifdef __KERNEL__
 
 #ifndef CONFIG_PPC64
 #include <asm-ppc/pci-bridge.h>
@@ -173,4 +174,5 @@ static inline unsigned long pci_address_
 #define PCI_PROBE_DEVTREE	1	/* Instantiate from device tree */
 
 #endif /* CONFIG_PPC64 */
+#endif /* __KERNEL__ */
 #endif
Index: powerpc-2.6/include/asm-powerpc/pgalloc.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/pgalloc.h
+++ powerpc-2.6/include/asm-powerpc/pgalloc.h
@@ -1,5 +1,6 @@
 #ifndef _ASM_POWERPC_PGALLOC_H
 #define _ASM_POWERPC_PGALLOC_H
+#ifdef __KERNEL__
 
 #ifndef CONFIG_PPC64
 #include <asm-ppc/pgalloc.h>
@@ -153,4 +154,5 @@ extern void pgtable_free_tlb(struct mmu_
 #define check_pgt_cache()	do { } while (0)
 
 #endif /* CONFIG_PPC64 */
+#endif /* __KERNEL__ */
 #endif /* _ASM_POWERPC_PGALLOC_H */
Index: powerpc-2.6/include/asm-powerpc/pgtable-64k.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/pgtable-64k.h
+++ powerpc-2.6/include/asm-powerpc/pgtable-64k.h
@@ -1,3 +1,7 @@
+#ifndef _ASM_POWERPC_PGTABLE_64K_H
+#define _ASM_POWERPC_PGTABLE_64K_H
+#ifdef __KERNEL__
+
 #include <asm-generic/pgtable-nopud.h>
 
 
@@ -88,3 +92,5 @@
 
 
 #endif /*  __ASSEMBLY__ */
+#endif /* __KERNEL__ */
+#endif /* _ASM_POWERPC_PGTABLE_64K_H */
Index: powerpc-2.6/include/asm-powerpc/pgtable.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/pgtable.h
+++ powerpc-2.6/include/asm-powerpc/pgtable.h
@@ -1,5 +1,6 @@
 #ifndef _ASM_POWERPC_PGTABLE_H
 #define _ASM_POWERPC_PGTABLE_H
+#ifdef __KERNEL__
 
 #ifndef CONFIG_PPC64
 #include <asm-ppc/pgtable.h>
@@ -532,4 +533,5 @@ void pgtable_cache_init(void);
 #endif /* __ASSEMBLY__ */
 
 #endif /* CONFIG_PPC64 */
+#endif /* __KERNEL__ */
 #endif /* _ASM_POWERPC_PGTABLE_H */
Index: powerpc-2.6/include/asm-powerpc/pmac_low_i2c.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/pmac_low_i2c.h
+++ powerpc-2.6/include/asm-powerpc/pmac_low_i2c.h
@@ -11,6 +11,7 @@
  */
 #ifndef __PMAC_LOW_I2C_H__
 #define __PMAC_LOW_I2C_H__
+#ifdef __KERNEL__
 
 /* i2c mode (based on the platform functions format) */
 enum {
@@ -40,4 +41,5 @@ int pmac_low_i2c_setmode(struct device_n
 int pmac_low_i2c_xfer(struct device_node *np, u8 addrdir, u8 subaddr, u8 *data, int len);
 
 
+#endif /* __KERNEL__ */
 #endif /* __PMAC_LOW_I2C_H__ */
Index: powerpc-2.6/include/asm-powerpc/pmc.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/pmc.h
+++ powerpc-2.6/include/asm-powerpc/pmc.h
@@ -18,6 +18,7 @@
  */
 #ifndef _POWERPC_PMC_H
 #define _POWERPC_PMC_H
+#ifdef __KERNEL__
 
 #include <asm/ptrace.h>
 
@@ -44,4 +45,5 @@ void dump_pmcs(void);
 extern struct op_powerpc_model op_model_fsl_booke;
 #endif
 
+#endif /* __KERNEL__ */
 #endif /* _POWERPC_PMC_H */
Index: powerpc-2.6/include/asm-powerpc/ppc-pci.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/ppc-pci.h
+++ powerpc-2.6/include/asm-powerpc/ppc-pci.h
@@ -8,6 +8,7 @@
  */
 #ifndef _ASM_POWERPC_PPC_PCI_H
 #define _ASM_POWERPC_PPC_PCI_H
+#ifdef __KERNEL__
 
 #include <linux/pci.h>
 #include <asm/pci-bridge.h>
@@ -114,4 +115,5 @@ struct device_node * find_device_pe(stru
 
 #endif
 
+#endif /* __KERNEL__ */
 #endif /* _ASM_POWERPC_PPC_PCI_H */
Index: powerpc-2.6/include/asm-powerpc/processor.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/processor.h
+++ powerpc-2.6/include/asm-powerpc/processor.h
@@ -10,7 +10,6 @@
  * 2 of the License, or (at your option) any later version.
  */
 
-#include <linux/config.h>
 #include <asm/reg.h>
 
 #ifndef __ASSEMBLY__
@@ -50,6 +49,7 @@
 #define _CHRP_IBM	0x05	/* IBM chrp, the longtrail and longtrail 2 */
 #define _CHRP_Pegasos	0x06	/* Genesi/bplan's Pegasos and Pegasos2 */
 
+#ifdef __KERNEL__
 #define platform_is_pseries()	(_machine == PLATFORM_PSERIES || \
 				 _machine == PLATFORM_PSERIES_LPAR)
 #define platform_is_lpar()	(!!(_machine & PLATFORM_LPAR))
@@ -81,7 +81,7 @@ extern unsigned char ucBoardRevMaj, ucBo
 #else
 #define _machine 0
 #endif /* CONFIG_PPC_MULTIPLATFORM */
-
+#endif /* __KERNEL__ */
 /*
  * Default implementation of macro that returns current
  * instruction pointer ("program counter").
Index: powerpc-2.6/include/asm-powerpc/rtas.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/rtas.h
+++ powerpc-2.6/include/asm-powerpc/rtas.h
@@ -1,5 +1,6 @@
 #ifndef _POWERPC_RTAS_H
 #define _POWERPC_RTAS_H
+#ifdef __KERNEL__
 
 #include <linux/spinlock.h>
 #include <asm/page.h>
@@ -229,4 +230,5 @@ extern unsigned long rtas_rmo_buf;
 
 #define GLOBAL_INTERRUPT_QUEUE 9005
 
+#endif /* __KERNEL__ */
 #endif /* _POWERPC_RTAS_H */
Index: powerpc-2.6/include/asm-powerpc/seccomp.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/seccomp.h
+++ powerpc-2.6/include/asm-powerpc/seccomp.h
@@ -1,6 +1,10 @@
 #ifndef _ASM_POWERPC_SECCOMP_H
+#define _ASM_POWERPC_SECCOMP_H
 
+#ifndef __KERNEL__
 #include <linux/thread_info.h>
+#endif
+
 #include <linux/unistd.h>
 
 #define __NR_seccomp_read __NR_read
Index: powerpc-2.6/include/asm-powerpc/sections.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/sections.h
+++ powerpc-2.6/include/asm-powerpc/sections.h
@@ -1,5 +1,6 @@
 #ifndef _ASM_POWERPC_SECTIONS_H
 #define _ASM_POWERPC_SECTIONS_H
+#ifdef __KERNEL__
 
 #include <asm-generic/sections.h>
 
@@ -17,4 +18,5 @@ static inline int in_kernel_text(unsigne
 
 #endif
 
+#endif /* __KERNEL__ */
 #endif	/* _ASM_POWERPC_SECTIONS_H */
Index: powerpc-2.6/include/asm-powerpc/signal.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/signal.h
+++ powerpc-2.6/include/asm-powerpc/signal.h
@@ -2,10 +2,13 @@
 #define _ASM_POWERPC_SIGNAL_H
 
 #include <linux/types.h>
-#include <linux/config.h>
 
 #define _NSIG		64
-#define _NSIG_BPW	BITS_PER_LONG
+#ifdef __powerpc64__
+#define _NSIG_BPW	64
+#else
+#define _NSIG_BPW	32
+#endif
 #define _NSIG_WORDS	(_NSIG / _NSIG_BPW)
 
 typedef unsigned long old_sigset_t;		/* at least 32 bits */
Index: powerpc-2.6/include/asm-powerpc/smu.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/smu.h
+++ powerpc-2.6/include/asm-powerpc/smu.h
@@ -4,9 +4,11 @@
 /*
  * Definitions for talking to the SMU chip in newer G5 PowerMacs
  */
-
+#ifdef __KERNEL__
 #include <linux/config.h>
 #include <linux/list.h>
+#endif
+#include <linux/types.h>
 
 /*
  * Known SMU commands
@@ -487,8 +489,8 @@ struct smu_sdbp_slotspow {
 #define SMU_SDB_SENSORTREE_ID		0x25
 
 struct smu_sdbp_sensortree {
-	u8	model_id;
-	u8	unknown[3];
+	__u8	model_id;
+	__u8	unknown[3];
 };
 
 /* This partition contains CPU thermal control PID informations. So far
@@ -498,13 +500,13 @@ struct smu_sdbp_sensortree {
 #define SMU_SDB_CPUPIDDATA_ID		0x17
 
 struct smu_sdbp_cpupiddata {
-	u8	unknown1;
-	u8	target_temp_delta;
-	u8	unknown2;
-	u8	history_len;
-	s16	power_adj;
-	u16	max_power;
-	s32	gp,gr,gd;
+	__u8	unknown1;
+	__u8	target_temp_delta;
+	__u8	unknown2;
+	__u8	history_len;
+	__s16	power_adj;
+	__u16	max_power;
+	__s32	gp,gr,gd;
 };
 
 
Index: powerpc-2.6/include/asm-powerpc/sparsemem.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/sparsemem.h
+++ powerpc-2.6/include/asm-powerpc/sparsemem.h
@@ -1,5 +1,6 @@
 #ifndef _ASM_POWERPC_SPARSEMEM_H
 #define _ASM_POWERPC_SPARSEMEM_H 1
+#ifdef __KERNEL__
 
 #ifdef CONFIG_SPARSEMEM
 /*
@@ -25,4 +26,5 @@ static inline int hot_add_scn_to_nid(uns
 
 #endif /* CONFIG_SPARSEMEM */
 
+#endif /* __KERNEL__ */
 #endif /* _ASM_POWERPC_SPARSEMEM_H */
Index: powerpc-2.6/include/asm-powerpc/spinlock.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/spinlock.h
+++ powerpc-2.6/include/asm-powerpc/spinlock.h
@@ -1,5 +1,6 @@
 #ifndef __ASM_SPINLOCK_H
 #define __ASM_SPINLOCK_H
+#ifdef __KERNEL__
 
 /*
  * Simple spin lock operations.  
@@ -266,4 +267,5 @@ static __inline__ void __raw_write_unloc
 	rw->lock = 0;
 }
 
+#endif /* __KERNEL__ */
 #endif /* __ASM_SPINLOCK_H */
Index: powerpc-2.6/include/asm-powerpc/spu.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/spu.h
+++ powerpc-2.6/include/asm-powerpc/spu.h
@@ -22,6 +22,8 @@
 
 #ifndef _SPU_H
 #define _SPU_H
+#ifdef __KERNEL__
+
 #include <linux/config.h>
 #include <linux/kref.h>
 #include <linux/workqueue.h>
@@ -578,4 +580,5 @@ struct spu_priv1 {
 	u64 spu_trace_cntl;					/* 0x1070 */
 } __attribute__ ((aligned(0x2000)));
 
+#endif /* __KERNEL__ */
 #endif
Index: powerpc-2.6/include/asm-powerpc/spu_csa.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/spu_csa.h
+++ powerpc-2.6/include/asm-powerpc/spu_csa.h
@@ -22,6 +22,7 @@
 
 #ifndef _SPU_CSA_H_
 #define _SPU_CSA_H_
+#ifdef __KERNEL__
 
 /*
  * Total number of 128-bit registers.
@@ -89,8 +90,6 @@ struct spu_lscsa {
 	unsigned char ls[LS_SIZE];
 };
 
-#ifdef __KERNEL__
-
 /*
  * struct spu_problem_collapsed - condensed problem state area, w/o pads.
  */
Index: powerpc-2.6/include/asm-powerpc/synch.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/synch.h
+++ powerpc-2.6/include/asm-powerpc/synch.h
@@ -1,7 +1,6 @@
 #ifndef _ASM_POWERPC_SYNCH_H 
 #define _ASM_POWERPC_SYNCH_H 
-
-#include <linux/config.h>
+#ifdef __KERNEL__
 
 #ifdef __powerpc64__
 #define __SUBARCH_HAS_LWSYNC
@@ -47,5 +46,6 @@ static inline void isync(void)
 #define isync_on_smp()	__asm__ __volatile__("": : :"memory")
 #endif
 
+#endif /* __KERNEL__ */
 #endif	/* _ASM_POWERPC_SYNCH_H */
 
Index: powerpc-2.6/include/asm-powerpc/system.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/system.h
+++ powerpc-2.6/include/asm-powerpc/system.h
@@ -4,7 +4,6 @@
 #ifndef _ASM_POWERPC_SYSTEM_H
 #define _ASM_POWERPC_SYSTEM_H
 
-#include <linux/config.h>
 #include <linux/kernel.h>
 
 #include <asm/hw_irq.h>
@@ -42,6 +41,7 @@
 #define set_mb(var, value)	do { var = value; mb(); } while (0)
 #define set_wmb(var, value)	do { var = value; wmb(); } while (0)
 
+#ifdef __KERNEL__
 #ifdef CONFIG_SMP
 #define smp_mb()	mb()
 #define smp_rmb()	rmb()
@@ -54,7 +54,6 @@
 #define smp_read_barrier_depends()	do { } while(0)
 #endif /* CONFIG_SMP */
 
-#ifdef __KERNEL__
 struct task_struct;
 struct pt_regs;
 
Index: powerpc-2.6/include/asm-powerpc/tce.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/tce.h
+++ powerpc-2.6/include/asm-powerpc/tce.h
@@ -20,6 +20,7 @@
 
 #ifndef _ASM_POWERPC_TCE_H
 #define _ASM_POWERPC_TCE_H
+#ifdef __KERNEL__
 
 /*
  * Tces come in two formats, one for the virtual bus and a different
@@ -61,4 +62,5 @@ union tce_entry {
 };
 
 
+#endif /* __KERNEL__ */
 #endif /* _ASM_POWERPC_TCE_H */
Index: powerpc-2.6/include/asm-powerpc/tlb.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/tlb.h
+++ powerpc-2.6/include/asm-powerpc/tlb.h
@@ -11,6 +11,7 @@
  */
 #ifndef _ASM_POWERPC_TLB_H
 #define _ASM_POWERPC_TLB_H
+#ifdef __KERNEL__
 
 #include <linux/config.h>
 #ifndef __powerpc64__
@@ -67,4 +68,5 @@ static inline void __tlb_remove_tlb_entr
 }
 
 #endif
+#endif /* __KERNEL__ */
 #endif /* __ASM_POWERPC_TLB_H */
Index: powerpc-2.6/include/asm-powerpc/topology.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/topology.h
+++ powerpc-2.6/include/asm-powerpc/topology.h
@@ -1,5 +1,6 @@
 #ifndef _ASM_POWERPC_TOPOLOGY_H
 #define _ASM_POWERPC_TOPOLOGY_H
+#ifdef __KERNEL__
 
 #include <linux/config.h>
 
@@ -65,4 +66,5 @@ static inline void dump_numa_cpu_topolog
 
 #endif /* CONFIG_NUMA */
 
+#endif /* __KERNEL__ */
 #endif	/* _ASM_POWERPC_TOPOLOGY_H */
Index: powerpc-2.6/include/asm-powerpc/udbg.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/udbg.h
+++ powerpc-2.6/include/asm-powerpc/udbg.h
@@ -9,6 +9,7 @@
 
 #ifndef _ASM_POWERPC_UDBG_H
 #define _ASM_POWERPC_UDBG_H
+#ifdef __KERNEL__
 
 #include <linux/compiler.h>
 #include <linux/init.h>
@@ -34,4 +35,5 @@ extern void udbg_scc_init(int force_scc)
 extern int udbg_adb_init(int force_btext);
 extern void udbg_adb_init_early(void);
 
+#endif /* __KERNEL__ */
 #endif /* _ASM_POWERPC_UDBG_H */
Index: powerpc-2.6/include/asm-powerpc/vdso_datapage.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/vdso_datapage.h
+++ powerpc-2.6/include/asm-powerpc/vdso_datapage.h
@@ -1,5 +1,6 @@
 #ifndef _VDSO_DATAPAGE_H
 #define _VDSO_DATAPAGE_H
+#ifdef __KERNEL__
 
 /*
  * Copyright (C) 2002 Peter Bergner <bergner at vnet.ibm.com>, IBM
@@ -105,4 +106,5 @@ extern struct vdso_data *vdso_data;
 
 #endif /* __ASSEMBLY__ */
 
+#endif /* __KERNEL__ */
 #endif /* _SYSTEMCFG_H */
Index: powerpc-2.6/include/asm-powerpc/vio.h
===================================================================
--- powerpc-2.6.orig/include/asm-powerpc/vio.h
+++ powerpc-2.6/include/asm-powerpc/vio.h
@@ -13,6 +13,7 @@
 
 #ifndef _ASM_POWERPC_VIO_H
 #define _ASM_POWERPC_VIO_H
+#ifdef __KERNEL__
 
 #include <linux/config.h>
 #include <linux/init.h>
@@ -103,4 +104,5 @@ static inline struct vio_dev *to_vio_dev
 	return container_of(dev, struct vio_dev, dev);
 }
 
+#endif /* __KERNEL__ */
 #endif /* _ASM_POWERPC_VIO_H */
diff --git a/include/asm-powerpc/ppc_asm.h b/include/asm-powerpc/ppc_asm.h
index c27baa0..0dc798d 100644
--- a/include/asm-powerpc/ppc_asm.h
+++ b/include/asm-powerpc/ppc_asm.h
@@ -94,6 +94,7 @@
 #define RFDI		.long 0x4c00004e	/* rfdi instruction */
 #define RFMCI		.long 0x4c00004c	/* rfmci instruction */
 
+#ifdef __KERNEL__
 #ifdef CONFIG_PPC64
 
 #define XGLUE(a,b) a##b
@@ -325,6 +326,8 @@ END_FTR_SECTION_IFCLR(CPU_FTR_601)
 #define CLR_TOP32(r)
 #endif
 
+#endif /* __KERNEL__ */
+
 /* The boring bits... */
 
 /* Condition Register Bit Fields */



More information about the Linuxppc64-dev mailing list