_OS_REG_WRITE is brocken in changeset[2307]. Did anybody try to actually compile that???
_OS_REG_WRITE is missing a \ in the second to last line, should be:
#define _OS_REG_WRITE(_ah, _reg, _val) do { \
(0x4000 <= (_reg) && (_reg) < 0x5000) ? \
writel((_val), (_ah)->ah_sh + (_reg)) : \
({__raw_writel((_val), (_ah)->ah_sh + (_reg)); \
mb(); }); \
} while (0)
adding that, the compiler still complains:
/usr/src/gateway/tplino-trunk-bcm68/build_mips/linux-2.6-brcm63xx/madwifi-hal-0.9.30.13/ath_hal/ah_os.c:335: error: parse error before "do"
/usr/src/gateway/tplino-trunk-bcm68/build_mips/linux-2.6-brcm63xx/madwifi-hal-0.9.30.13/ath_hal/ah_os.c:335: error: parse error before ':' token
on a side note: are you sure the mb() in those places is syntactical correct?