#define PDC_MEM_RET_PDT_FULL           -11
 #define PDC_MEM_RET_INVALID_PHYSICAL_LOCATION ~0ULL
 
-#ifndef __ASSEMBLY__
+#ifdef __KERNEL__
+# ifndef __ASSEMBLY__
 typedef struct {
     unsigned long long baseAddr;
     unsigned int       pages;
     unsigned int       reserved;
 } MemAddrTable_t;
-#endif
-
+# endif /* __ASSEMBLY__ */
+#endif /* __KERNEL__ */
 
 #define PDC_PSW                21              /* Get/Set default System Mask  */
 #define PDC_PSW_MASK           0       /* Return mask                  */
 #define OSTAT_ON               7
 
 #ifndef __ASSEMBLY__
-
 #include <linux/types.h>
+#endif /* __ASSEMBLY__ */
+
+#ifdef __KERNEL__
+# ifndef __ASSEMBLY__
 
 extern int pdc_type;
 
        __u64 fr[32];
 };
 
-#endif /* __ASSEMBLY__ */
+# endif /* __ASSEMBLY__ */
+#endif /* __KERNEL__ */
 
 /* flags of the device_path (see below) */
 #define        PF_AUTOBOOT     0x80
 #define BOOT_CONSOLE_SPA_OFFSET  0x3c4
 #define BOOT_CONSOLE_PATH_OFFSET 0x3a8
 
+#ifdef __KERNEL__
 #ifndef __ASSEMBLY__
 void pdc_console_init(void);   /* in pdc_console.c */
 void pdc_console_restart(void);
        default:        return "Unknown";
        }
 }
-#endif /* __ASSEMBLY__ */
+# endif /* __ASSEMBLY__ */
+#endif /* __KERNEL__ */
 
 #endif /* _PARISC_PDC_H */