Re: [PATCH 4/7] tty: serial: lantiq: Always use readl()/writel()

From: Wu, Songjun
Date: Thu Jun 14 2018 - 03:05:35 EST




On 6/12/2018 4:13 PM, Andy Shevchenko wrote:
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.
It will be split to four patches, coding style, new registers, readl()/writel() and asc_update_bits.
+#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.
It will be changed to asc_update_bits.