On Wed, Apr 13, 2022 at 09:51:38AM +0200, Miquel Raynal wrote: > These accessors should be used instead of the regular readl/writel() > helpers. In order to use them also from 8250_dw.c in this directory, > move the helpers to 8250_dwlib.h > > There is no functional change. > > There is no need for declaring `struct uart_port` or even UPIO_MEM32BE > which both are already included in the 8250_dwlib.h header by 8250.h. Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> > Suggested-by: Ilpo Järvinen <ilpo.jarvinen@xxxxxxxxxxxxxxx> > Signed-off-by: Miquel Raynal <miquel.raynal@xxxxxxxxxxx> > --- > drivers/tty/serial/8250/8250_dwlib.c | 16 ---------------- > drivers/tty/serial/8250/8250_dwlib.h | 16 ++++++++++++++++ > 2 files changed, 16 insertions(+), 16 deletions(-) > > diff --git a/drivers/tty/serial/8250/8250_dwlib.c b/drivers/tty/serial/8250/8250_dwlib.c > index 22154b5848d5..02b6422c26c7 100644 > --- a/drivers/tty/serial/8250/8250_dwlib.c > +++ b/drivers/tty/serial/8250/8250_dwlib.c > @@ -3,7 +3,6 @@ > > #include <linux/bitops.h> > #include <linux/device.h> > -#include <linux/io.h> > #include <linux/kernel.h> > #include <linux/serial_8250.h> > #include <linux/serial_core.h> > @@ -32,21 +31,6 @@ > /* Helper for FIFO size calculation */ > #define DW_UART_CPR_FIFO_SIZE(a) (((a >> 16) & 0xff) * 16) > > -static inline u32 dw8250_readl_ext(struct uart_port *p, int offset) > -{ > - if (p->iotype == UPIO_MEM32BE) > - return ioread32be(p->membase + offset); > - return readl(p->membase + offset); > -} > - > -static inline void dw8250_writel_ext(struct uart_port *p, int offset, u32 reg) > -{ > - if (p->iotype == UPIO_MEM32BE) > - iowrite32be(reg, p->membase + offset); > - else > - writel(reg, p->membase + offset); > -} > - > /* > * divisor = div(I) + div(F) > * "I" means integer, "F" means fractional > diff --git a/drivers/tty/serial/8250/8250_dwlib.h b/drivers/tty/serial/8250/8250_dwlib.h > index 412f4e83e0b3..b2a7cff671bf 100644 > --- a/drivers/tty/serial/8250/8250_dwlib.h > +++ b/drivers/tty/serial/8250/8250_dwlib.h > @@ -1,6 +1,7 @@ > /* SPDX-License-Identifier: GPL-2.0+ */ > /* Synopsys DesignWare 8250 library header file. */ > > +#include <linux/io.h> > #include <linux/notifier.h> > #include <linux/types.h> > #include <linux/workqueue.h> > @@ -50,3 +51,18 @@ static inline struct dw8250_data *to_dw8250_data(struct dw8250_port_data *data) > { > return container_of(data, struct dw8250_data, data); > } > + > +static inline u32 dw8250_readl_ext(struct uart_port *p, int offset) > +{ > + if (p->iotype == UPIO_MEM32BE) > + return ioread32be(p->membase + offset); > + return readl(p->membase + offset); > +} > + > +static inline void dw8250_writel_ext(struct uart_port *p, int offset, u32 reg) > +{ > + if (p->iotype == UPIO_MEM32BE) > + iowrite32be(reg, p->membase + offset); > + else > + writel(reg, p->membase + offset); > +} > -- > 2.27.0 > -- With Best Regards, Andy Shevchenko