serial: 8250: dw: Move the IO accessors to 8250_dwlib.h
authorMiquel Raynal <miquel.raynal@bootlin.com>
Fri, 22 Apr 2022 18:06:13 +0000 (20:06 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 26 Apr 2022 11:25:47 +0000 (13:25 +0200)
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.

Suggested-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/r/20220422180615.9098-8-miquel.raynal@bootlin.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/8250/8250_dwlib.c
drivers/tty/serial/8250/8250_dwlib.h

index f1fb2035361287f6f9d0a6e48d57809b5bad1bc2..b3df6dee9ceb2959af17507a316fb549d74f43b3 100644 (file)
@@ -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>
 /* 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
index 36a839ef5d9a8ee98d362618be9bfb946717204c..b10e60a5d16a5507aba0424bcdb195f78e135c9e 100644 (file)
@@ -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);
+}