diff --git a/arch/h8300/include/asm/io.h b/arch/h8300/include/asm/io.h index f0e14f3a800d..2e221c5f0203 100644 --- a/arch/h8300/include/asm/io.h +++ b/arch/h8300/include/asm/io.h @@ -44,17 +44,17 @@ static inline void __raw_writel(u32 b, const volatile void __iomem *addr) static inline void ctrl_bclr(int b, void __iomem *addr) { if (__builtin_constant_p(b)) - __asm__("bclr %1,%0" : "+WU"(*addr): "i"(b)); + __asm__("bclr %1,%0" : "+WU"(*(u8 *)addr): "i"(b)); else - __asm__("bclr %w1,%0" : "+WU"(*addr): "r"(b)); + __asm__("bclr %w1,%0" : "+WU"(*(u8 *)addr): "r"(b)); } static inline void ctrl_bset(int b, void __iomem *addr) { if (__builtin_constant_p(b)) - __asm__("bset %1,%0" : "+WU"(*addr): "i"(b)); + __asm__("bset %1,%0" : "+WU"(*(u8 *)addr): "i"(b)); else - __asm__("bset %w1,%0" : "+WU"(*addr): "r"(b)); + __asm__("bset %w1,%0" : "+WU"(*(u8 *)addr): "r"(b)); } #include