serial: 8250_exar: Fill in rs485_supported
[ Upstream commit 59c221f8e1
]
Add information on supported serial_rs485 features.
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Link: https://lore.kernel.org/r/20220606100433.13793-8-ilpo.jarvinen@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Stable-dep-of: 0c2a5f471ce5 ("serial: 8250_exar: Set missing rs485_supported flag")
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Родитель
aded03eda2
Коммит
9ef7419bc2
|
@ -123,6 +123,7 @@ struct exar8250;
|
|||
|
||||
struct exar8250_platform {
|
||||
int (*rs485_config)(struct uart_port *, struct serial_rs485 *);
|
||||
const struct serial_rs485 *rs485_supported;
|
||||
int (*register_gpio)(struct pci_dev *, struct uart_8250_port *);
|
||||
void (*unregister_gpio)(struct uart_8250_port *);
|
||||
};
|
||||
|
@ -441,10 +442,15 @@ static int generic_rs485_config(struct uart_port *port,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static const struct serial_rs485 generic_rs485_supported = {
|
||||
.flags = SER_RS485_ENABLED,
|
||||
};
|
||||
|
||||
static const struct exar8250_platform exar8250_default_platform = {
|
||||
.register_gpio = xr17v35x_register_gpio,
|
||||
.unregister_gpio = xr17v35x_unregister_gpio,
|
||||
.rs485_config = generic_rs485_config,
|
||||
.rs485_supported = &generic_rs485_supported,
|
||||
};
|
||||
|
||||
static int iot2040_rs485_config(struct uart_port *port,
|
||||
|
@ -480,6 +486,10 @@ static int iot2040_rs485_config(struct uart_port *port,
|
|||
return generic_rs485_config(port, rs485);
|
||||
}
|
||||
|
||||
static const struct serial_rs485 iot2040_rs485_supported = {
|
||||
.flags = SER_RS485_ENABLED | SER_RS485_RX_DURING_TX | SER_RS485_TERMINATE_BUS,
|
||||
};
|
||||
|
||||
static const struct property_entry iot2040_gpio_properties[] = {
|
||||
PROPERTY_ENTRY_U32("exar,first-pin", 10),
|
||||
PROPERTY_ENTRY_U32("ngpios", 1),
|
||||
|
@ -508,6 +518,7 @@ static int iot2040_register_gpio(struct pci_dev *pcidev,
|
|||
|
||||
static const struct exar8250_platform iot2040_platform = {
|
||||
.rs485_config = iot2040_rs485_config,
|
||||
.rs485_supported = &iot2040_rs485_supported,
|
||||
.register_gpio = iot2040_register_gpio,
|
||||
.unregister_gpio = xr17v35x_unregister_gpio,
|
||||
};
|
||||
|
@ -550,6 +561,7 @@ pci_xr17v35x_setup(struct exar8250 *priv, struct pci_dev *pcidev,
|
|||
|
||||
port->port.uartclk = baud * 16;
|
||||
port->port.rs485_config = platform->rs485_config;
|
||||
port->port.rs485_supported = platform->rs485_supported;
|
||||
|
||||
/*
|
||||
* Setup the UART clock for the devices on expansion slot to
|
||||
|
|
Загрузка…
Ссылка в новой задаче