diff options
author | Sonic Zhang <sonic.zhang@analog.com> | 2012-06-05 13:20:06 +0800 |
---|---|---|
committer | Bob Liu <lliubbo@gmail.com> | 2012-07-24 13:39:50 +0800 |
commit | f794d7ba884ffdde063273a97045a6b8d05aa94c (patch) | |
tree | 7d2b4f7a5bcf25f589166426f8c1000b751fed4b | |
parent | 335dd559b5c870b4ca3111b46f3358389c1ead3b (diff) | |
download | op-kernel-dev-f794d7ba884ffdde063273a97045a6b8d05aa94c.zip op-kernel-dev-f794d7ba884ffdde063273a97045a6b8d05aa94c.tar.gz |
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>
-rw-r--r-- | arch/blackfin/include/asm/bfin_twi.h | 4 |
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 2f3339a..e3b40e2 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) |