mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-19 13:50:48 +00:00

This reverts commit d9666dfb31
.
The container of the struct dw8250_port_data is private to the actual
driver. In particular, 8250_lpss and 8250_dw use different data types
that are assigned to the UART port private_data. Hence, it must not
be used outside the specific driver.
Fix the mistake made in the past by moving the respective definitions
to the specific driver.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20240514190730.2787071-3-andriy.shevchenko@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
40 lines
921 B
C
40 lines
921 B
C
/* SPDX-License-Identifier: GPL-2.0+ */
|
|
/* Synopsys DesignWare 8250 library header file. */
|
|
|
|
#include <linux/io.h>
|
|
#include <linux/types.h>
|
|
|
|
#include "8250.h"
|
|
|
|
struct dw8250_port_data {
|
|
/* Port properties */
|
|
int line;
|
|
|
|
/* DMA operations */
|
|
struct uart_8250_dma dma;
|
|
|
|
/* Hardware configuration */
|
|
u32 cpr_value;
|
|
u8 dlf_size;
|
|
|
|
/* RS485 variables */
|
|
bool hw_rs485_support;
|
|
};
|
|
|
|
void dw8250_do_set_termios(struct uart_port *p, struct ktermios *termios, const struct ktermios *old);
|
|
void dw8250_setup_port(struct uart_port *p);
|
|
|
|
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);
|
|
}
|