From: Peter Lemenkov Date: Sun, 26 Sep 2010 21:05:50 +0400 Subject: [PATCH] Use HAVE_*_H macro for detecting includes Signed-off-by: Peter Lemenkov diff --git a/hwaccess.h b/hwaccess.h index 1fa7815..fda9530 100644 --- a/hwaccess.h +++ b/hwaccess.h @@ -24,11 +24,9 @@ #ifndef __HWACCESS_H__ #define __HWACCESS_H__ 1 -#if defined (__i386__) || defined (__x86_64__) -#if defined(__GLIBC__) +#if defined (HAVE_SYS_IO_H) #include -#endif -#endif +#endif /* defined (HAVE_SYS_IO_H) */ #if NEED_PCI == 1 /* @@ -45,7 +43,53 @@ #endif #undef index + +#if defined (HAVE_STRINGS_H) +#include +#endif /* defined (HAVE_STRINGS_H) */ + +#if defined (HAVE_STDINT_H) +#include +#endif /* defined (HAVE_STDINT_H) */ + +#if defined (HAVE_SYS_TYPES_H) +#include +#endif /* defined (HAVE_SYS_TYPES_H) */ + +#if defined (HAVE_MACHINE_SYSARCH_H) +#include +#endif /* defined (HAVE_MACHINE_SYSARCH_H) */ + +#if defined (HAVE_MACHINE_CPUFUNC_H) +#if defined(__FreeBSD__) || defined(__DragonFly__) + /* Note that Debian/kFreeBSD (FreeBSD kernel with glibc) has conflicting + * out[bwl] definitions in machine/cpufunc.h and sys/io.h at least in some + * versions. Use machine/cpufunc.h only for plain FreeBSD/DragonFlyBSD. + */ +#include #endif +#endif /* defined (HAVE_MACHINE_CPUFUNC_H) */ + +/* for iopl and outb under Solaris */ +#if defined HAVE_ASM_SUNDDI_H +#include +#endif /* defined HAVE_ASM_SUNDDI_H */ +#if defined HAVE_SYS_SYSI86_H +#include +#endif /* defined HAVE_SYS_SYSI86_H */ +#if defined HAVE_SYS_PSW_H +#include +#endif /* defined HAVE_SYS_PSW_H */ + +#ifdef __DJGPP__ +#include +#endif /* __DJGPP__ */ + +#if defined HAVE_DIRECTIO_DARWINIO_H +#include +#endif /* defined HAVE_DIRECTIO_DARWINIO_H */ + +#endif /* defined (HAVE_LIBPCI) */ #define ___constant_swab8(x) ((uint8_t) ( \ (((uint8_t)(x) & (uint8_t)0xffU)))) @@ -118,15 +162,15 @@ cpu_to_be(64) #define le_to_cpu64 cpu_to_le64 #if NEED_PCI == 1 + +/* PCI port I/O is not yet implemented on PowerPC. */ +/* PCI port I/O is not yet implemented on MIPS. */ #if defined (__i386__) || defined (__x86_64__) #define __FLASHROM_HAVE_OUTB__ 1 -/* for iopl and outb under Solaris */ -#if defined (__sun) && (defined(__i386) || defined(__amd64)) -#include -#include -#include +#if (defined(__MACH__) && defined(__APPLE__)) +#define __DARWIN__ #endif /* Clarification about OUTB/OUTW/OUTL argument order: @@ -162,8 +206,6 @@ cpu_to_be(64) #ifdef __DJGPP__ -#include - #define OUTB(x,y) outportb(y, x) #define OUTW(x,y) outportw(y, x) #define OUTL(x,y) outportl(y, x) @@ -246,7 +288,7 @@ static inline uint32_t inl(uint16_t port) typedef struct { uint32_t hi, lo; } msr_t; msr_t rdmsr(int addr); int wrmsr(int addr, msr_t msr); -#endif +#endif /* !defined(__DARWIN__) && !defined(__FreeBSD__) && !defined(__FreeBSD_kernel__) && !defined(__DragonFly__) && !defined(__LIBPAYLOAD__) */ #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__) /* FreeBSD already has conflicting definitions for wrmsr/rdmsr. */ #undef rdmsr @@ -256,7 +298,8 @@ int wrmsr(int addr, msr_t msr); typedef struct { uint32_t hi, lo; } msr_t; msr_t freebsd_rdmsr(int addr); int freebsd_wrmsr(int addr, msr_t msr); -#endif +#endif /* defined(__FreeBSD__) || defined(__DragonFly__) */ + #if defined(__LIBPAYLOAD__) #include #include