mirror of
https://github.com/torvalds/linux.git
synced 2026-06-04 04:23:35 +02:00
serial: exar: moved generic_rs485 further up in 8250_exar.c
Preparatory patch moving generic_rs485_config and generic_rs485_supported higher in the file to allow for CTI setup functions to use them. Signed-off-by: Parker Newman <pnewman@connecttech.com> Link: https://lore.kernel.org/r/a7bf2a42de759908c058246ec15f60bde9a5dc65.1713382717.git.pnewman@connecttech.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
393b520a99
commit
209a20d4bd
|
|
@ -197,6 +197,31 @@ struct exar8250 {
|
|||
int line[];
|
||||
};
|
||||
|
||||
static int generic_rs485_config(struct uart_port *port, struct ktermios *termios,
|
||||
struct serial_rs485 *rs485)
|
||||
{
|
||||
bool is_rs485 = !!(rs485->flags & SER_RS485_ENABLED);
|
||||
u8 __iomem *p = port->membase;
|
||||
u8 value;
|
||||
|
||||
value = readb(p + UART_EXAR_FCTR);
|
||||
if (is_rs485)
|
||||
value |= UART_FCTR_EXAR_485;
|
||||
else
|
||||
value &= ~UART_FCTR_EXAR_485;
|
||||
|
||||
writeb(value, p + UART_EXAR_FCTR);
|
||||
|
||||
if (is_rs485)
|
||||
writeb(UART_EXAR_RS485_DLY(4), p + UART_MSR);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const struct serial_rs485 generic_rs485_supported = {
|
||||
.flags = SER_RS485_ENABLED | SER_RS485_RTS_ON_SEND,
|
||||
};
|
||||
|
||||
static void exar_pm(struct uart_port *port, unsigned int state, unsigned int old)
|
||||
{
|
||||
/*
|
||||
|
|
@ -459,27 +484,6 @@ static void xr17v35x_unregister_gpio(struct uart_8250_port *port)
|
|||
port->port.private_data = NULL;
|
||||
}
|
||||
|
||||
static int generic_rs485_config(struct uart_port *port, struct ktermios *termios,
|
||||
struct serial_rs485 *rs485)
|
||||
{
|
||||
bool is_rs485 = !!(rs485->flags & SER_RS485_ENABLED);
|
||||
u8 __iomem *p = port->membase;
|
||||
u8 value;
|
||||
|
||||
value = readb(p + UART_EXAR_FCTR);
|
||||
if (is_rs485)
|
||||
value |= UART_FCTR_EXAR_485;
|
||||
else
|
||||
value &= ~UART_FCTR_EXAR_485;
|
||||
|
||||
writeb(value, p + UART_EXAR_FCTR);
|
||||
|
||||
if (is_rs485)
|
||||
writeb(UART_EXAR_RS485_DLY(4), p + UART_MSR);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int sealevel_rs485_config(struct uart_port *port, struct ktermios *termios,
|
||||
struct serial_rs485 *rs485)
|
||||
{
|
||||
|
|
@ -518,10 +522,6 @@ static int sealevel_rs485_config(struct uart_port *port, struct ktermios *termio
|
|||
return 0;
|
||||
}
|
||||
|
||||
static const struct serial_rs485 generic_rs485_supported = {
|
||||
.flags = SER_RS485_ENABLED | SER_RS485_RTS_ON_SEND,
|
||||
};
|
||||
|
||||
static const struct exar8250_platform exar8250_default_platform = {
|
||||
.register_gpio = xr17v35x_register_gpio,
|
||||
.unregister_gpio = xr17v35x_unregister_gpio,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user