On Wed, Aug 14, 2019 at 11:29:24AM +0200, Geert Uytterhoeven wrote:
> Since commit 1d267ea6539f2663 ("serial: mctrl-gpio: simplify init
> routine"), mctrl_gpio_init() returns failure if the assignment to any
> member of the gpio array results in an error pointer.
> Since commit c359522194593815 ("serial: mctrl_gpio: Avoid probe failures
> in case of missing gpiolib"), mctrl_gpio_to_gpiod() returns NULL in the
> !CONFIG_GPIOLIB case.
> Hence there is no longer a need to check for mctrl_gpio_to_gpiod()
> returning an error value. A simple NULL check is sufficient.
>
> This follows the spirit of commit 445df7ff3fd1a0a9 ("serial: mctrl-gpio:
> drop usages of IS_ERR_OR_NULL") in the mctrl-gpio core.
>
> Signed-off-by: Geert Uytterhoeven <[email protected]>
Reviewed-by: Simon Horman <[email protected]>
> ---
> drivers/tty/serial/sh-sci.c | 12 +++++-------
> 1 file changed, 5 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/tty/serial/sh-sci.c b/drivers/tty/serial/sh-sci.c
> index 7f565fcbf1ca4c5e..4e754a4850e6db63 100644
> --- a/drivers/tty/serial/sh-sci.c
> +++ b/drivers/tty/serial/sh-sci.c
> @@ -2099,12 +2099,12 @@ static unsigned int sci_get_mctrl(struct uart_port
> *port)
> if (s->autorts) {
> if (sci_get_cts(port))
> mctrl |= TIOCM_CTS;
> - } else if (IS_ERR_OR_NULL(mctrl_gpio_to_gpiod(gpios, UART_GPIO_CTS))) {
> + } else if (!mctrl_gpio_to_gpiod(gpios, UART_GPIO_CTS)) {
> mctrl |= TIOCM_CTS;
> }
> - if (IS_ERR_OR_NULL(mctrl_gpio_to_gpiod(gpios, UART_GPIO_DSR)))
> + if (!mctrl_gpio_to_gpiod(gpios, UART_GPIO_DSR))
> mctrl |= TIOCM_DSR;
> - if (IS_ERR_OR_NULL(mctrl_gpio_to_gpiod(gpios, UART_GPIO_DCD)))
> + if (!mctrl_gpio_to_gpiod(gpios, UART_GPIO_DCD))
> mctrl |= TIOCM_CAR;
>
> return mctrl;
> @@ -3285,10 +3285,8 @@ static int sci_probe_single(struct platform_device
> *dev,
> return PTR_ERR(sciport->gpios);
>
> if (sciport->has_rtscts) {
> - if (!IS_ERR_OR_NULL(mctrl_gpio_to_gpiod(sciport->gpios,
> - UART_GPIO_CTS)) ||
> - !IS_ERR_OR_NULL(mctrl_gpio_to_gpiod(sciport->gpios,
> - UART_GPIO_RTS))) {
> + if (mctrl_gpio_to_gpiod(sciport->gpios, UART_GPIO_CTS) ||
> + mctrl_gpio_to_gpiod(sciport->gpios, UART_GPIO_RTS)) {
> dev_err(&dev->dev, "Conflicting RTS/CTS config\n");
> return -EINVAL;
> }
> --
> 2.17.1
>