serial: 8250: dw: Move definitions to the shared header
authorPhil Edworthy <phil.edworthy@renesas.com>
Fri, 22 Apr 2022 18:06:07 +0000 (20:06 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 26 Apr 2022 11:25:46 +0000 (13:25 +0200)
Move the per-device structure and a helper out of the main .c file, into
a shared header as they will both be reused from another .c file.

There is no functional change.

Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
[miquel.raynal@bootlin.com: Extracted from a bigger change]
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/r/20220422180615.9098-2-miquel.raynal@bootlin.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/8250/8250_dw.c
drivers/tty/serial/8250/8250_dwlib.h

index 1769808..dcbe54c 100644 (file)
 /* DesignWare specific register fields */
 #define DW_UART_MCR_SIRE               BIT(6)
 
-struct dw8250_data {
-       struct dw8250_port_data data;
-
-       u8                      usr_reg;
-       int                     msr_mask_on;
-       int                     msr_mask_off;
-       struct clk              *clk;
-       struct clk              *pclk;
-       struct notifier_block   clk_notifier;
-       struct work_struct      clk_work;
-       struct reset_control    *rst;
-
-       unsigned int            skip_autocfg:1;
-       unsigned int            uart_16550_compatible:1;
-};
-
-static inline struct dw8250_data *to_dw8250_data(struct dw8250_port_data *data)
-{
-       return container_of(data, struct dw8250_data, data);
-}
-
 static inline struct dw8250_data *clk_to_dw8250_data(struct notifier_block *nb)
 {
        return container_of(nb, struct dw8250_data, clk_notifier);
index 83d528e..72e7dbc 100644 (file)
@@ -1,10 +1,15 @@
 /* SPDX-License-Identifier: GPL-2.0+ */
 /* Synopsys DesignWare 8250 library header file. */
 
+#include <linux/notifier.h>
 #include <linux/types.h>
+#include <linux/workqueue.h>
 
 #include "8250.h"
 
+struct clk;
+struct reset_control;
+
 struct dw8250_port_data {
        /* Port properties */
        int                     line;
@@ -16,5 +21,26 @@ struct dw8250_port_data {
        u8                      dlf_size;
 };
 
+struct dw8250_data {
+       struct dw8250_port_data data;
+
+       u8                      usr_reg;
+       int                     msr_mask_on;
+       int                     msr_mask_off;
+       struct clk              *clk;
+       struct clk              *pclk;
+       struct notifier_block   clk_notifier;
+       struct work_struct      clk_work;
+       struct reset_control    *rst;
+
+       unsigned int            skip_autocfg:1;
+       unsigned int            uart_16550_compatible:1;
+};
+
 void dw8250_do_set_termios(struct uart_port *p, struct ktermios *termios, struct ktermios *old);
 void dw8250_setup_port(struct uart_port *p);
+
+static inline struct dw8250_data *to_dw8250_data(struct dw8250_port_data *data)
+{
+       return container_of(data, struct dw8250_data, data);
+}