最近在写一个驱动用readb和writeb等函数出现了错误,驱动在使用readb和writeb函数出现了如下的错误:
既可编译通过。
/tmp/ccSI6uHX.s: Assembler messages:
/tmp/ccSI6uHX.s:49: Error: selected processor does not support ARM mode `dsb'
/tmp/ccSI6uHX.s:62: Error: selected processor does not support ARM mode `dsb'
/tmp/ccSI6uHX.s:320: Error: selected processor does not support ARM mode `dsb'
/tmp/ccSI6uHX.s:331: Error: selected processor does not support ARM mode `dsb'
/tmp/ccSI6uHX.s:348: Error: selected processor does not support ARM mode `dsb'
/tmp/ccSI6uHX.s:361: Error: selected processor does not support ARM mode `dsb'
/tmp/ccSI6uHX.s:372: Error: selected processor does not support ARM mode `dsb
不要使用readb等函数,自己定义即可!重新实现这些函数!
static inline void my_writeb(u8 b, volatile void __iomem *addr)
{
*(volatile u8 __force *) addr = b;
}
static inline u8 my_readb(const volatile void __iomem *addr)
{
return *(const volatile u8 __force *) addr;
}
既可编译通过。