[PATCH 4/4] spi: omap2-mcspi: Handle error on gpio_request

Nicholas Mc Guire der.herr at hofr.at
Sun May 24 01:13:07 PDT 2015


On Sat, 23 May 2015, Michael Welling wrote:

> If a valid GPIO is specified but cannot be requested by the driver, print a
> message and error out of omap2_mcspi_setup.
> 
> Signed-off-by: Michael Welling <mwelling at ieee.org>
> ---
>  drivers/spi/spi-omap2-mcspi.c |    9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/spi/spi-omap2-mcspi.c b/drivers/spi/spi-omap2-mcspi.c
> index c4e21ad..5867384 100644
> --- a/drivers/spi/spi-omap2-mcspi.c
> +++ b/drivers/spi/spi-omap2-mcspi.c
> @@ -1023,9 +1023,12 @@ static int omap2_mcspi_setup(struct spi_device *spi)
>  	}
>  
>  	if (gpio_is_valid(spi->cs_gpio)) {
> -		if (gpio_request(spi->cs_gpio, dev_name(&spi->dev)) == 0)
> -			gpio_direction_output(spi->cs_gpio,
> -			!(spi->mode & SPI_CS_HIGH));
> +		ret = gpio_request(spi->cs_gpio, dev_name(&spi->dev));
> +		if (ret) {
> +			dev_err(&spi->dev, "failed to request gpio\n");
> +			return ret;
> +		}
> +		gpio_direction_output(spi->cs_gpio, !(spi->mode & SPI_CS_HIGH));
>  	}

just wondering if the outer gpio_is_valid is actually needed as it seems
gpio_request() is actually calling gpio_is_valid() anyway and would return
non 0 if it were not,

thx!
hofrat



More information about the linux-arm-kernel mailing list