From nobody Sun Apr 19 09:04:49 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 77D86C43334 for ; Mon, 4 Jul 2022 09:45:47 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233925AbiGDJpp (ORCPT ); Mon, 4 Jul 2022 05:45:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40812 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233923AbiGDJpl (ORCPT ); Mon, 4 Jul 2022 05:45:41 -0400 Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7C724D139; Mon, 4 Jul 2022 02:45:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1656927939; x=1688463939; h=from:to:subject:date:message-id:in-reply-to:references: mime-version:content-transfer-encoding; bh=hxa7eel1GhtjRd5DkgQiBeRdW3IHKo8ik+8RlA9yGmk=; b=KWwQfsJIlQHA4z2D5W7ltIS8Nfk66naQNSYxchm9iOEI62PNETk7T7Iu xUrYEHbAGNB6LwIdZ/8CDELiENofRXHJmVXx3P8YXQmLtMRlPfXi2ilI6 PuBktyZIr6S8EF12PD8hG/+vB2o+LFOUSm2i12P1rPRKqhh3YUsKEk8N2 lJFRWazZmXRLd7lqo/sPJcEksdXQ5yy1vWemehSOswHyu/QVlWREfVm3O 7JIScnL4A+GWfEoHxMkVOY6JRF77k/ukr59gt1uACuQJxTegQqByJ50B8 ltSozVSa9jWfOOvP9t7AQnnjZ4/JM6ooJeVpbjjjNK+qW8WqStPvM2KeI A==; X-IronPort-AV: E=McAfee;i="6400,9594,10397"; a="271857745" X-IronPort-AV: E=Sophos;i="5.92,243,1650956400"; d="scan'208";a="271857745" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jul 2022 02:45:38 -0700 X-IronPort-AV: E=Sophos;i="5.92,243,1650956400"; d="scan'208";a="649508725" Received: from bclindho-mobl.ger.corp.intel.com (HELO ijarvine-MOBL2.ger.corp.intel.com) ([10.252.49.27]) by fmsmga008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jul 2022 02:45:28 -0700 From: =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= To: linux-serial@vger.kernel.org, Greg KH , Jiri Slaby , Andy Shevchenko , Lukas Wunner , Lino Sanfilippo , Nicolas Saenz Julienne , Broadcom internal kernel review list , Florian Fainelli , Ray Jui , Scott Branden , =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= , Vladimir Zapolskiy , Russell King , Richard Genoud , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , Maxime Coquelin , Alexandre Torgue , linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com Subject: [PATCH 1/2] serial: Embed rs485_supported to uart_port Date: Mon, 4 Jul 2022 12:45:14 +0300 Message-Id: <20220704094515.6831-2-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220704094515.6831-1-ilpo.jarvinen@linux.intel.com> References: <20220704094515.6831-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Embed rs485_supported to uart_port to allow serial core to tweak it as needed. Signed-off-by: Ilpo J=C3=A4rvinen Reviewed-by: Lino Sanfilippo --- drivers/tty/serial/8250/8250_bcm2835aux.c | 2 +- drivers/tty/serial/8250/8250_dwlib.c | 4 ++-- drivers/tty/serial/8250/8250_exar.c | 2 +- drivers/tty/serial/8250/8250_fintek.c | 4 ++-- drivers/tty/serial/8250/8250_lpc18xx.c | 2 +- drivers/tty/serial/8250/8250_of.c | 2 +- drivers/tty/serial/8250/8250_pci.c | 2 +- drivers/tty/serial/amba-pl011.c | 2 +- drivers/tty/serial/ar933x_uart.c | 4 ++-- drivers/tty/serial/atmel_serial.c | 2 +- drivers/tty/serial/fsl_lpuart.c | 2 +- drivers/tty/serial/imx.c | 4 ++-- drivers/tty/serial/max310x.c | 2 +- drivers/tty/serial/mcf.c | 4 ++-- drivers/tty/serial/omap-serial.c | 2 +- drivers/tty/serial/sc16is7xx.c | 2 +- drivers/tty/serial/serial_core.c | 8 ++++---- drivers/tty/serial/stm32-usart.c | 2 +- include/linux/serial_core.h | 2 +- 19 files changed, 27 insertions(+), 27 deletions(-) diff --git a/drivers/tty/serial/8250/8250_bcm2835aux.c b/drivers/tty/serial= /8250/8250_bcm2835aux.c index d9f1e618cfbd..047e14ccb165 100644 --- a/drivers/tty/serial/8250/8250_bcm2835aux.c +++ b/drivers/tty/serial/8250/8250_bcm2835aux.c @@ -108,7 +108,7 @@ static int bcm2835aux_serial_probe(struct platform_devi= ce *pdev) up.port.flags =3D UPF_SHARE_IRQ | UPF_FIXED_PORT | UPF_FIXED_TYPE | UPF_SKIP_TEST | UPF_IOREMAP; up.port.rs485_config =3D serial8250_em485_config; - up.port.rs485_supported =3D &serial8250_em485_supported; + up.port.rs485_supported =3D serial8250_em485_supported; up.rs485_start_tx =3D bcm2835aux_rs485_start_tx; up.rs485_stop_tx =3D bcm2835aux_rs485_stop_tx; =20 diff --git a/drivers/tty/serial/8250/8250_dwlib.c b/drivers/tty/serial/8250= /8250_dwlib.c index a8bbed74ea70..2c3b1468bd88 100644 --- a/drivers/tty/serial/8250/8250_dwlib.c +++ b/drivers/tty/serial/8250/8250_dwlib.c @@ -255,10 +255,10 @@ void dw8250_setup_port(struct uart_port *p) if (pd->hw_rs485_support) { p->rs485_config =3D dw8250_rs485_config; up->lsr_save_mask =3D LSR_SAVE_FLAGS | DW_UART_LSR_ADDR_RCVD; - p->rs485_supported =3D &dw8250_rs485_supported; + p->rs485_supported =3D dw8250_rs485_supported; } else { p->rs485_config =3D serial8250_em485_config; - p->rs485_supported =3D &serial8250_em485_supported; + p->rs485_supported =3D serial8250_em485_supported; up->rs485_start_tx =3D serial8250_em485_start_tx; up->rs485_stop_tx =3D serial8250_em485_stop_tx; } diff --git a/drivers/tty/serial/8250/8250_exar.c b/drivers/tty/serial/8250/= 8250_exar.c index f5344cfe303c..314a05e009df 100644 --- a/drivers/tty/serial/8250/8250_exar.c +++ b/drivers/tty/serial/8250/8250_exar.c @@ -550,7 +550,7 @@ pci_xr17v35x_setup(struct exar8250 *priv, struct pci_de= v *pcidev, =20 port->port.uartclk =3D baud * 16; port->port.rs485_config =3D platform->rs485_config; - port->port.rs485_supported =3D platform->rs485_supported; + port->port.rs485_supported =3D *(platform->rs485_supported); =20 /* * Setup the UART clock for the devices on expansion slot to diff --git a/drivers/tty/serial/8250/8250_fintek.c b/drivers/tty/serial/825= 0/8250_fintek.c index eea693f5b577..65b6b3cbaff6 100644 --- a/drivers/tty/serial/8250/8250_fintek.c +++ b/drivers/tty/serial/8250/8250_fintek.c @@ -433,9 +433,9 @@ static void fintek_8250_set_rs485_handler(struct uart_8= 250_port *uart) case CHIP_ID_F81865: uart->port.rs485_config =3D fintek_8250_rs485_config; if (!pdata->index) - uart->port.rs485_supported =3D &fintek_8250_rs485_supported_port0; + uart->port.rs485_supported =3D fintek_8250_rs485_supported_port0; else - uart->port.rs485_supported =3D &fintek_8250_rs485_supported; + uart->port.rs485_supported =3D fintek_8250_rs485_supported; break; =20 default: /* No RS485 Auto direction functional */ diff --git a/drivers/tty/serial/8250/8250_lpc18xx.c b/drivers/tty/serial/82= 50/8250_lpc18xx.c index d7cb3bb52069..d6ca0d47e9d5 100644 --- a/drivers/tty/serial/8250/8250_lpc18xx.c +++ b/drivers/tty/serial/8250/8250_lpc18xx.c @@ -161,7 +161,7 @@ static int lpc18xx_serial_probe(struct platform_device = *pdev) uart.port.uartclk =3D clk_get_rate(data->clk_uart); uart.port.private_data =3D data; uart.port.rs485_config =3D lpc18xx_rs485_config; - uart.port.rs485_supported =3D &lpc18xx_rs485_supported; + uart.port.rs485_supported =3D lpc18xx_rs485_supported; uart.port.serial_out =3D lpc18xx_uart_serial_out; =20 uart.dma =3D &data->dma; diff --git a/drivers/tty/serial/8250/8250_of.c b/drivers/tty/serial/8250/82= 50_of.c index 65cccd559db2..1b461fba15a3 100644 --- a/drivers/tty/serial/8250/8250_of.c +++ b/drivers/tty/serial/8250/8250_of.c @@ -165,7 +165,7 @@ static int of_platform_serial_setup(struct platform_dev= ice *ofdev, =20 port->dev =3D &ofdev->dev; port->rs485_config =3D serial8250_em485_config; - port->rs485_supported =3D &serial8250_em485_supported; + port->rs485_supported =3D serial8250_em485_supported; up->rs485_start_tx =3D serial8250_em485_start_tx; up->rs485_stop_tx =3D serial8250_em485_stop_tx; =20 diff --git a/drivers/tty/serial/8250/8250_pci.c b/drivers/tty/serial/8250/8= 250_pci.c index d31d2350a9db..8a39ae072c65 100644 --- a/drivers/tty/serial/8250/8250_pci.c +++ b/drivers/tty/serial/8250/8250_pci.c @@ -1607,7 +1607,7 @@ static int pci_fintek_setup(struct serial_private *pr= iv, port->port.iotype =3D UPIO_PORT; port->port.iobase =3D iobase; port->port.rs485_config =3D pci_fintek_rs485_config; - port->port.rs485_supported =3D &pci_fintek_rs485_supported; + port->port.rs485_supported =3D pci_fintek_rs485_supported; =20 data =3D devm_kzalloc(&pdev->dev, sizeof(u8), GFP_KERNEL); if (!data) diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl01= 1.c index c8f52945a4aa..abeceeefdece 100644 --- a/drivers/tty/serial/amba-pl011.c +++ b/drivers/tty/serial/amba-pl011.c @@ -2779,7 +2779,7 @@ static int pl011_probe(struct amba_device *dev, const= struct amba_id *id) uap->port.irq =3D dev->irq[0]; uap->port.ops =3D &amba_pl011_pops; uap->port.rs485_config =3D pl011_rs485_config; - uap->port.rs485_supported =3D &pl011_rs485_supported; + uap->port.rs485_supported =3D pl011_rs485_supported; snprintf(uap->type, sizeof(uap->type), "PL011 rev%u", amba_rev(dev)); =20 ret =3D pl011_setup_port(&dev->dev, uap, &dev->res, portnr); diff --git a/drivers/tty/serial/ar933x_uart.c b/drivers/tty/serial/ar933x_u= art.c index b73ce13683db..f931ecbc0bc0 100644 --- a/drivers/tty/serial/ar933x_uart.c +++ b/drivers/tty/serial/ar933x_uart.c @@ -778,7 +778,7 @@ static int ar933x_uart_probe(struct platform_device *pd= ev) port->fifosize =3D AR933X_UART_FIFO_SIZE; port->ops =3D &ar933x_uart_ops; port->rs485_config =3D ar933x_config_rs485; - port->rs485_supported =3D &ar933x_rs485_supported; + port->rs485_supported =3D ar933x_rs485_supported; =20 baud =3D ar933x_uart_get_baud(port->uartclk, AR933X_UART_MAX_SCALE, 1); up->min_baud =3D max_t(unsigned int, baud, AR933X_UART_MIN_BAUD); @@ -802,7 +802,7 @@ static int ar933x_uart_probe(struct platform_device *pd= ev) !up->rts_gpiod) { dev_err(&pdev->dev, "lacking rts-gpio, disabling RS485\n"); port->rs485.flags &=3D ~SER_RS485_ENABLED; - port->rs485_supported =3D &ar933x_no_rs485; + port->rs485_supported =3D ar933x_no_rs485; } =20 #ifdef CONFIG_SERIAL_AR933X_CONSOLE diff --git a/drivers/tty/serial/atmel_serial.c b/drivers/tty/serial/atmel_s= erial.c index bc6004679585..30ba9eef7b39 100644 --- a/drivers/tty/serial/atmel_serial.c +++ b/drivers/tty/serial/atmel_serial.c @@ -2498,7 +2498,7 @@ static int atmel_init_port(struct atmel_uart_port *at= mel_port, port->mapbase =3D mpdev->resource[0].start; port->irq =3D platform_get_irq(mpdev, 0); port->rs485_config =3D atmel_config_rs485; - port->rs485_supported =3D &atmel_rs485_supported; + port->rs485_supported =3D atmel_rs485_supported; port->iso7816_config =3D atmel_config_iso7816; port->membase =3D NULL; =20 diff --git a/drivers/tty/serial/fsl_lpuart.c b/drivers/tty/serial/fsl_lpuar= t.c index 8fe0494d4057..fc7d235a1e27 100644 --- a/drivers/tty/serial/fsl_lpuart.c +++ b/drivers/tty/serial/fsl_lpuart.c @@ -2655,7 +2655,7 @@ static int lpuart_probe(struct platform_device *pdev) sport->port.rs485_config =3D lpuart32_config_rs485; else sport->port.rs485_config =3D lpuart_config_rs485; - sport->port.rs485_supported =3D &lpuart_rs485_supported; + sport->port.rs485_supported =3D lpuart_rs485_supported; =20 sport->ipg_clk =3D devm_clk_get(&pdev->dev, "ipg"); if (IS_ERR(sport->ipg_clk)) { diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c index 3457006cea3f..522445a8f666 100644 --- a/drivers/tty/serial/imx.c +++ b/drivers/tty/serial/imx.c @@ -2285,9 +2285,9 @@ static int imx_uart_probe(struct platform_device *pde= v) sport->port.rs485_config =3D imx_uart_rs485_config; /* RTS is required to control the RS485 transmitter */ if (sport->have_rtscts || sport->have_rtsgpio) - sport->port.rs485_supported =3D &imx_rs485_supported; + sport->port.rs485_supported =3D imx_rs485_supported; else - sport->port.rs485_supported =3D &imx_no_rs485; + sport->port.rs485_supported =3D imx_no_rs485; sport->port.flags =3D UPF_BOOT_AUTOCONF; timer_setup(&sport->timer, imx_uart_timeout, 0); =20 diff --git a/drivers/tty/serial/max310x.c b/drivers/tty/serial/max310x.c index e162bfb44080..ab10ca4a45b5 100644 --- a/drivers/tty/serial/max310x.c +++ b/drivers/tty/serial/max310x.c @@ -1370,7 +1370,7 @@ static int max310x_probe(struct device *dev, const st= ruct max310x_devtype *devty s->p[i].port.membase =3D (void __iomem *)~0; s->p[i].port.uartclk =3D uartclk; s->p[i].port.rs485_config =3D max310x_rs485_config; - s->p[i].port.rs485_supported =3D &max310x_rs485_supported; + s->p[i].port.rs485_supported =3D max310x_rs485_supported; s->p[i].port.ops =3D &max310x_ops; s->p[i].regmap =3D regmaps[i]; =20 diff --git a/drivers/tty/serial/mcf.c b/drivers/tty/serial/mcf.c index 73c5287b8e5e..f4aaaadd0742 100644 --- a/drivers/tty/serial/mcf.c +++ b/drivers/tty/serial/mcf.c @@ -506,7 +506,7 @@ int __init early_mcf_setup(struct mcf_platform_uart *pl= atp) port->uartclk =3D MCF_BUSCLK; port->flags =3D UPF_BOOT_AUTOCONF; port->rs485_config =3D mcf_config_rs485; - port->rs485_supported =3D &mcf_rs485_supported; + port->rs485_supported =3D mcf_rs485_supported; port->ops =3D &mcf_uart_ops; } =20 @@ -634,7 +634,7 @@ static int mcf_probe(struct platform_device *pdev) port->ops =3D &mcf_uart_ops; port->flags =3D UPF_BOOT_AUTOCONF; port->rs485_config =3D mcf_config_rs485; - port->rs485_supported =3D &mcf_rs485_supported; + port->rs485_supported =3D mcf_rs485_supported; port->has_sysrq =3D IS_ENABLED(CONFIG_SERIAL_MCF_CONSOLE); =20 uart_add_one_port(&mcf_driver, port); diff --git a/drivers/tty/serial/omap-serial.c b/drivers/tty/serial/omap-ser= ial.c index 196bae704f85..0aa666e247d5 100644 --- a/drivers/tty/serial/omap-serial.c +++ b/drivers/tty/serial/omap-serial.c @@ -1643,7 +1643,7 @@ static int serial_omap_probe(struct platform_device *= pdev) up->port.flags =3D omap_up_info->flags; up->port.uartclk =3D omap_up_info->uartclk; up->port.rs485_config =3D serial_omap_config_rs485; - up->port.rs485_supported =3D &serial_omap_rs485_supported; + up->port.rs485_supported =3D serial_omap_rs485_supported; if (!up->port.uartclk) { up->port.uartclk =3D DEFAULT_CLK_SPEED; dev_warn(&pdev->dev, diff --git a/drivers/tty/serial/sc16is7xx.c b/drivers/tty/serial/sc16is7xx.c index 8cb92a3b3fb8..259e08cc347c 100644 --- a/drivers/tty/serial/sc16is7xx.c +++ b/drivers/tty/serial/sc16is7xx.c @@ -1461,7 +1461,7 @@ static int sc16is7xx_probe(struct device *dev, s->p[i].port.iotype =3D UPIO_PORT; s->p[i].port.uartclk =3D freq; s->p[i].port.rs485_config =3D sc16is7xx_config_rs485; - s->p[i].port.rs485_supported =3D &sc16is7xx_rs485_supported; + s->p[i].port.rs485_supported =3D sc16is7xx_rs485_supported; s->p[i].port.ops =3D &sc16is7xx_ops; s->p[i].old_mctrl =3D 0; s->p[i].port.line =3D sc16is7xx_alloc_line(); diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_c= ore.c index 85ef7ef00b82..a9cf1044a9fa 100644 --- a/drivers/tty/serial/serial_core.c +++ b/drivers/tty/serial/serial_core.c @@ -1285,7 +1285,7 @@ static int uart_check_rs485_flags(struct uart_port *p= ort, struct serial_rs485 *r * For any bit outside of the legacy ones that is not supported by * the driver, return -EINVAL. */ - if (flags & ~port->rs485_supported->flags) + if (flags & ~port->rs485_supported.flags) return -EINVAL; =20 /* Asking for address w/o addressing mode? */ @@ -1304,7 +1304,7 @@ static int uart_check_rs485_flags(struct uart_port *p= ort, struct serial_rs485 *r =20 static void uart_sanitize_serial_rs485(struct uart_port *port, struct seri= al_rs485 *rs485) { - u32 supported_flags =3D port->rs485_supported->flags; + u32 supported_flags =3D port->rs485_supported.flags; =20 if (!(rs485->flags & SER_RS485_ENABLED)) { memset(rs485, 0, sizeof(*rs485)); @@ -1323,7 +1323,7 @@ static void uart_sanitize_serial_rs485(struct uart_po= rt *port, struct serial_rs4 supported_flags |=3D SER_RS485_RTS_ON_SEND|SER_RS485_RTS_AFTER_SEND; } =20 - if (!port->rs485_supported->delay_rts_before_send) { + if (!port->rs485_supported.delay_rts_before_send) { if (rs485->delay_rts_before_send) { dev_warn_ratelimited(port->dev, "%s (%d): RTS delay before sending not supported\n", @@ -1337,7 +1337,7 @@ static void uart_sanitize_serial_rs485(struct uart_po= rt *port, struct serial_rs4 port->name, port->line, rs485->delay_rts_before_send); } =20 - if (!port->rs485_supported->delay_rts_after_send) { + if (!port->rs485_supported.delay_rts_after_send) { if (rs485->delay_rts_after_send) { dev_warn_ratelimited(port->dev, "%s (%d): RTS delay after sending not supported\n", diff --git a/drivers/tty/serial/stm32-usart.c b/drivers/tty/serial/stm32-us= art.c index 13992e64a7df..ff5c7e0ebc4c 100644 --- a/drivers/tty/serial/stm32-usart.c +++ b/drivers/tty/serial/stm32-usart.c @@ -1401,7 +1401,7 @@ static int stm32_usart_init_port(struct stm32_port *s= tm32port, port->has_sysrq =3D IS_ENABLED(CONFIG_SERIAL_STM32_CONSOLE); port->irq =3D irq; port->rs485_config =3D stm32_usart_config_rs485; - port->rs485_supported =3D &stm32_rs485_supported; + port->rs485_supported =3D stm32_rs485_supported; =20 ret =3D stm32_usart_init_rs485(port, pdev); if (ret) diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h index b7b86ee3cb12..a6fa7c40c330 100644 --- a/include/linux/serial_core.h +++ b/include/linux/serial_core.h @@ -255,7 +255,7 @@ struct uart_port { struct attribute_group *attr_group; /* port specific attributes */ const struct attribute_group **tty_groups; /* all attributes (serial core= use only) */ struct serial_rs485 rs485; - const struct serial_rs485 *rs485_supported; /* Supported mask for serial_= rs485 */ + struct serial_rs485 rs485_supported; /* Supported mask for serial_rs485 */ struct gpio_desc *rs485_term_gpio; /* enable RS485 bus termination */ struct serial_iso7816 iso7816; void *private_data; /* generic platform data pointer */ --=20 2.30.2 From nobody Sun Apr 19 09:04:49 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7E353C43334 for ; Mon, 4 Jul 2022 09:46:01 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233953AbiGDJp7 (ORCPT ); Mon, 4 Jul 2022 05:45:59 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41172 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233358AbiGDJpv (ORCPT ); Mon, 4 Jul 2022 05:45:51 -0400 Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D31645F7D; Mon, 4 Jul 2022 02:45:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1656927944; x=1688463944; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=nrdI1aqCOmMQHJwk0uWLeNOFyiDw3uvCvQxr40EDQMU=; b=NZzwjCV5S+RhuZEHRO5WRP0vJw1fsqjV0GZayW8VSohhkHC4A63fNITi a7jwZoUAeMsYQTQRqWiAjpgI5GswdahjR3tPWjzout3yxNvBXy5Ejrynd mA3/588n7oXvutZMOcu2XVgLR+WCaOhrSmlkZs+OUFc7Hg39LLbJo6duH SY/Q3usuwqmcp0imA2OOZsxmAeo2kcgItliWtO1/q6sKvkvSs8M8gepB6 ocPdLv1JQ7BK+FJWQ3e56i3xTYDBwqLweVPTv5UfU6BtSvSwB/Mb/6Mm6 Y/n+QMX5ODGpZZB+REHBVjgmh5lgLig/ZMfaswUCTZZTsyWquROfoX3Fk g==; X-IronPort-AV: E=McAfee;i="6400,9594,10397"; a="266111813" X-IronPort-AV: E=Sophos;i="5.92,243,1650956400"; d="scan'208";a="266111813" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jul 2022 02:45:44 -0700 X-IronPort-AV: E=Sophos;i="5.92,243,1650956400"; d="scan'208";a="649508842" Received: from bclindho-mobl.ger.corp.intel.com (HELO ijarvine-MOBL2.ger.corp.intel.com) ([10.252.49.27]) by fmsmga008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jul 2022 02:45:41 -0700 From: =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= To: linux-serial@vger.kernel.org, Greg KH , Jiri Slaby , Andy Shevchenko , Lukas Wunner , Lino Sanfilippo , linux-kernel@vger.kernel.org Cc: =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= Subject: [PATCH 2/2] serial: RS485 termination is supported if DT provides one Date: Mon, 4 Jul 2022 12:45:15 +0300 Message-Id: <20220704094515.6831-3-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220704094515.6831-1-ilpo.jarvinen@linux.intel.com> References: <20220704094515.6831-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org When DT provides rs485-term, set termination flag as supported. Signed-off-by: Ilpo J=C3=A4rvinen Reviewed-by: Lino Sanfilippo --- drivers/tty/serial/serial_core.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_c= ore.c index a9cf1044a9fa..1db44cde76f6 100644 --- a/drivers/tty/serial/serial_core.c +++ b/drivers/tty/serial/serial_core.c @@ -3409,6 +3409,8 @@ int uart_get_rs485_mode(struct uart_port *port) port->rs485_term_gpio =3D NULL; return dev_err_probe(dev, ret, "Cannot get rs485-term-gpios\n"); } + if (port->rs485_term_gpio) + port->rs485_supported.flags |=3D SER_RS485_TERMINATE_BUS; =20 return 0; } --=20 2.30.2