On Tue, Jun 12, 2018 at 8:40 AM, Songjun Wu <songjun.wu@xxxxxxxxxxxxxxx> wrote: > Previous implementation uses platform-dependent functions > ltq_w32()/ltq_r32() to access registers. Those functions are not > available for other SoC which uses the same IP. > Change to OS provided readl()/writel() and readb()/writeb(), so > that different SoCs can use the same driver. This patch consists 2 or even 3 ones: - whitespace shuffling (indentation fixes, blank lines), I dunno if it's needed at all - some new registers / bits - actual switch to readl() / writel() Please, split. > +#define asc_w32_mask(clear, set, reg) \ > + ({ typeof(reg) reg_ = (reg); \ > + writel((readl(reg_) & ~(clear)) | (set), reg_); }) This would be better as a static inline helper, and name is completely misleading, it doesn't mask the register bits, it _updates_ them. -- With Best Regards, Andy Shevchenko