Messages in this thread | | | From | Andy Shevchenko <> | Date | Sun, 3 Jul 2022 20:27:39 +0200 | Subject | Re: [PATCH v2 1/9] serial: core: only get RS485 termination GPIO if supported |
| |
On Sun, Jul 3, 2022 at 7:02 PM Lino Sanfilippo <LinoSanfilippo@gmx.de> wrote: > > From: Lino Sanfilippo <l.sanfilippo@kunbus.com> > > In uart_get_rs485_mode() only try to get a termination GPIO if RS485 bus > termination is supported by the driver. This prevents from allocating > and holding a GPIO descriptor for the drivers lifetimg that will never be
lifetiming
> used.
...
> port->rs485_term_gpio = devm_gpiod_get_optional(dev, "rs485-term", > GPIOD_OUT_LOW); > + > + if (port->rs485_term_gpio &&
This check is incorrect. Either you need to move that after error checking (that's what I personally prefer), or use !IS_ERR_OR_NULL().
> + !(port->rs485_supported->flags & SER_RS485_TERMINATE_BUS)) { > + dev_warn(port->dev, > + "%s (%d): RS485 termination gpio not supported by driver\n", > + port->name, port->line); > + devm_gpiod_put(dev, port->rs485_term_gpio); > + port->rs485_term_gpio = NULL; > + } > + > if (IS_ERR(port->rs485_term_gpio)) { > ret = PTR_ERR(port->rs485_term_gpio); > port->rs485_term_gpio = NULL;
-- With Best Regards, Andy Shevchenko
| |