From 035de65235108bfda629cadfdffa2983eca7cfc9 Mon Sep 17 00:00:00 2001 From: proski Date: Thu, 15 Nov 2007 03:29:11 +0000 Subject: [PATCH] Revert commits 2623:2624, they break archs without iowrite32be() This fixes ticket #1539 git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@2852 0192ed92-7a03-0410-a25b-9323aeb14dbd --- ath_hal/ah_os.h | 39 ++++++++++----------------------------- 1 file changed, 10 insertions(+), 29 deletions(-) diff --git a/ath_hal/ah_os.h b/ath_hal/ah_os.h index 6cefadc..0a06000 100644 --- a/ath_hal/ah_os.h +++ b/ath_hal/ah_os.h @@ -172,44 +172,25 @@ extern u_int32_t __ahdecl ath_hal_getuptime(struct ath_hal *); * never byte-swapped by PCI chipsets or bridges, but always * written directly (i.e. the format defined by the manufacturer). */ -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,12) -# if (AH_BYTE_ORDER == AH_BIG_ENDIAN) +#if (AH_BYTE_ORDER == AH_BIG_ENDIAN) #define _OS_REG_WRITE(_ah, _reg, _val) do { \ (0x4000 <= (_reg) && (_reg) < 0x5000) ? \ - iowrite32((_val), (_ah)->ah_sh + (_reg)) : \ - iowrite32be((_val), (_ah)->ah_sh + (_reg)); \ - } while (0) -#define _OS_REG_READ(_ah, _reg) \ - ((0x4000 <= (_reg) && (_reg) < 0x5000) ? \ - ioread32((_ah)->ah_sh + (_reg)) : \ - ioread32be((_ah)->ah_sh + (_reg))); -# else /* AH_LITTLE_ENDIAN */ -#define _OS_REG_WRITE(_ah, _reg, _val) do { \ - iowrite32(_val, (_ah)->ah_sh + (_reg)); \ - } while (0) -#define _OS_REG_READ(_ah, _reg) \ - ioread32((_ah)->ah_sh + (_reg)) - -# endif /* AH_BYTE_ORDER */ -#else -# if (AH_BYTE_ORDER == AH_BIG_ENDIAN) -#define _OS_REG_WRITE(_ah, _reg, _val) do { \ - writel((0x4000 <= (_reg) && (_reg) < 0x5000) ? \ - (_val) : cpu_to_le32(_val), \ - (_ah)->ah_sh + (_reg)); \ - } while (0) + writel((_val), (_ah)->ah_sh + (_reg)) : \ + ({__raw_writel((_val), (_ah)->ah_sh + (_reg)); \ + mb(); }); \ +} while (0) #define _OS_REG_READ(_ah, _reg) \ ((0x4000 <= (_reg) && (_reg) < 0x5000) ? \ readl((_ah)->ah_sh + (_reg)) : \ - cpu_to_le32(readl((_ah)->ah_sh + (_reg)))) -# else /* AH_LITTLE_ENDIAN */ + ({unsigned long __v = __raw_readl((_ah)->ah_sh + \ + (_reg)); mb(); __v; })) +#else /* AH_LITTLE_ENDIAN */ #define _OS_REG_WRITE(_ah, _reg, _val) do { \ writel(_val, (_ah)->ah_sh + (_reg)); \ - } while (0) +} while (0) #define _OS_REG_READ(_ah, _reg) \ readl((_ah)->ah_sh + (_reg)) -# endif /* AH_BYTE_ORDER */ -#endif /* KERNEL_VERSON(2,6,12) */ +#endif /* AH_BYTE_ORDER */ /* The functions in this section are not intended to be invoked by MadWifi driver -- 2.35.1