what is the difference between writel(), writel_relaxed, _raw_writel()
writel() -- write to the little-endian hardware register with compiler memory barrier,
writel_relaxed -- as above, without barrier,
__raw_writel() -- as above (writel_relaxed()) without endianess conversion (CPU ordering will be used).
Be careful, those are architecture-dependent.
