aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin/include/asm/bfin_twi.h
diff options
context:
space:
mode:
authorSonic Zhang <sonic.zhang@analog.com>2012-06-05 13:20:06 +0800
committerBob Liu <lliubbo@gmail.com>2012-07-24 13:39:50 +0800
commitf794d7ba884ffdde063273a97045a6b8d05aa94c (patch)
tree7d2b4f7a5bcf25f589166426f8c1000b751fed4b /arch/blackfin/include/asm/bfin_twi.h
parentbf609: add ssm2602 support on bf609 platform (diff)
downloadlinux-dev-f794d7ba884ffdde063273a97045a6b8d05aa94c.tar.xz
linux-dev-f794d7ba884ffdde063273a97045a6b8d05aa94c.zip
i2c: i2c-bfin-twi: Always access 16 bit MMR by bfin 16 bit access Macro.
Otherwise, the compiler may optimize assemble code into 8bit access instruction when target register is 8 bit width. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Bob Liu <lliubbo@gmail.com>
Diffstat (limited to 'arch/blackfin/include/asm/bfin_twi.h')
-rw-r--r--arch/blackfin/include/asm/bfin_twi.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/blackfin/include/asm/bfin_twi.h b/arch/blackfin/include/asm/bfin_twi.h
index 2f3339a47626..e3b40e2856f2 100644
--- a/arch/blackfin/include/asm/bfin_twi.h
+++ b/arch/blackfin/include/asm/bfin_twi.h
@@ -66,9 +66,9 @@ struct bfin_twi_iface {
#define DEFINE_TWI_REG(reg_name, reg) \
static inline u16 read_##reg_name(struct bfin_twi_iface *iface) \
- { return iface->regs_base->reg; } \
+ { return bfin_read16(&iface->regs_base->reg); } \
static inline void write_##reg_name(struct bfin_twi_iface *iface, u16 v) \
- { iface->regs_base->reg = v; }
+ { bfin_write16(&iface->regs_base->reg, v); }
DEFINE_TWI_REG(CLKDIV, clkdiv)
DEFINE_TWI_REG(CONTROL, control)