[PATCH] of: spi: Return error from of_spi_register_master on bad "cs-gpios" property
Grant Likely
grant.likely at secretlab.ca
Sun Mar 3 09:49:06 EST 2013
On Wed, 13 Feb 2013 14:23:24 +0100, Andreas Larsson <andreas at gaisler.com> wrote:
> This makes sure that an error is returned on an incorrectly formed
> "cs-gpios" property, but reports success when the "cs-gpios" property is
> well formed or missing.
>
> When holes in the cs-gpios property phandle list is used to indicate
> that some other form of chipselect is to be used it is important that
> failure to read a broken "cs-gpios" property does not silently fail
> leading to the spi controller to use an unintended chipselect.
>
> Signed-off-by: Andreas Larsson <andreas at gaisler.com>
Applied, thanks.
g.
> ---
>
> Can only be applied to devicetree/next as it builds upon the
> "of: Add helper for counting phandle refernces" patch series.
>
> drivers/spi/spi.c | 5 ++++-
> 1 files changed, 4 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c
> index 21c4748..9b5f024 100644
> --- a/drivers/spi/spi.c
> +++ b/drivers/spi/spi.c
> @@ -1068,8 +1068,11 @@ static int of_spi_register_master(struct spi_master *master)
> nb = of_gpio_named_count(np, "cs-gpios");
> master->num_chipselect = max(nb, (int)master->num_chipselect);
>
> - if (nb < 1)
> + /* Return error only for an incorrectly formed cs-gpios property */
> + if (nb == 0 || nb == -ENOENT)
> return 0;
> + else if (nb < 0)
> + return nb;
>
> cs = devm_kzalloc(&master->dev,
> sizeof(int) * master->num_chipselect,
> --
> 1.7.0.4
>
--
Grant Likely, B.Sc, P.Eng.
Secret Lab Technologies, Ltd.
More information about the devicetree-discuss
mailing list