What's the difference b/w __raw_readl/__raw_writel
and readl/writel
in linux kernel? It is said readl/writel
is safer than __raw_readl/__raw_writel
, then why do we still use __raw_readl/__raw_writel
?
Under what circumstances should we use this: __raw_readl/__raw_writel
or readl/writel
?
It seems to be the case that
See this LKML discussion and also the comments in linux/arch/arm/include/asm/io.h