Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

serial: core: Simplify uart_get_rs485_mode()

Simplify uart_get_rs485_mode() by using temporary variable for
the GPIO descriptor. With that, use proper type for the flags
of the GPIO descriptor.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20231003142346.3072929-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Andy Shevchenko and committed by
Greg Kroah-Hartman
7cda0b9e 8700a7ea

+12 -18
+12 -18
drivers/tty/serial/serial_core.c
··· 3559 3559 { 3560 3560 struct serial_rs485 *rs485conf = &port->rs485; 3561 3561 struct device *dev = port->dev; 3562 + enum gpiod_flags dflags; 3563 + struct gpio_desc *desc; 3562 3564 u32 rs485_delay[2]; 3563 3565 int ret; 3564 - int rx_during_tx_gpio_flag; 3565 3566 3566 3567 ret = device_property_read_u32_array(dev, "rs485-rts-delay", 3567 3568 rs485_delay, 2); ··· 3601 3600 * bus participants enable it, no communication is possible at all. 3602 3601 * Works fine for short cables and users may enable for longer cables. 3603 3602 */ 3604 - port->rs485_term_gpio = devm_gpiod_get_optional(dev, "rs485-term", 3605 - GPIOD_OUT_LOW); 3606 - if (IS_ERR(port->rs485_term_gpio)) { 3607 - ret = PTR_ERR(port->rs485_term_gpio); 3608 - port->rs485_term_gpio = NULL; 3609 - return dev_err_probe(dev, ret, "Cannot get rs485-term-gpios\n"); 3610 - } 3603 + desc = devm_gpiod_get_optional(dev, "rs485-term", GPIOD_OUT_LOW); 3604 + if (IS_ERR(desc)) 3605 + return dev_err_probe(dev, PTR_ERR(desc), "Cannot get rs485-term-gpios\n"); 3606 + port->rs485_term_gpio = desc; 3611 3607 if (port->rs485_term_gpio) 3612 3608 port->rs485_supported.flags |= SER_RS485_TERMINATE_BUS; 3613 3609 3614 - rx_during_tx_gpio_flag = (rs485conf->flags & SER_RS485_RX_DURING_TX) ? 3615 - GPIOD_OUT_HIGH : GPIOD_OUT_LOW; 3616 - port->rs485_rx_during_tx_gpio = devm_gpiod_get_optional(dev, 3617 - "rs485-rx-during-tx", 3618 - rx_during_tx_gpio_flag); 3619 - if (IS_ERR(port->rs485_rx_during_tx_gpio)) { 3620 - ret = PTR_ERR(port->rs485_rx_during_tx_gpio); 3621 - port->rs485_rx_during_tx_gpio = NULL; 3622 - return dev_err_probe(dev, ret, "Cannot get rs485-rx-during-tx-gpios\n"); 3623 - } 3610 + dflags = (rs485conf->flags & SER_RS485_RX_DURING_TX) ? 3611 + GPIOD_OUT_HIGH : GPIOD_OUT_LOW; 3612 + desc = devm_gpiod_get_optional(dev, "rs485-rx-during-tx", dflags); 3613 + if (IS_ERR(desc)) 3614 + return dev_err_probe(dev, PTR_ERR(desc), "Cannot get rs485-rx-during-tx-gpios\n"); 3615 + port->rs485_rx_during_tx_gpio = desc; 3624 3616 3625 3617 return 0; 3626 3618 }