All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] of: spi: Return error from of_spi_register_master on bad "cs-gpios" property
@ 2013-02-13 13:23 Andreas Larsson
  2013-03-02 22:49   ` Grant Likely
  0 siblings, 1 reply; 3+ messages in thread
From: Andreas Larsson @ 2013-02-13 13:23 UTC (permalink / raw)
  To: Grant Likely
  Cc: spi-devel-general, devicetree-discuss, linux-kernel, software

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@gaisler.com>
---

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


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] of: spi: Return error from of_spi_register_master on bad "cs-gpios" property
@ 2013-03-02 22:49   ` Grant Likely
  0 siblings, 0 replies; 3+ messages in thread
From: Grant Likely @ 2013-03-02 22:49 UTC (permalink / raw)
  To: Andreas Larsson
  Cc: spi-devel-general, devicetree-discuss, linux-kernel, software

On Wed, 13 Feb 2013 14:23:24 +0100, Andreas Larsson <andreas@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@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.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] of: spi: Return error from of_spi_register_master on bad "cs-gpios" property
@ 2013-03-02 22:49   ` Grant Likely
  0 siblings, 0 replies; 3+ messages in thread
From: Grant Likely @ 2013-03-02 22:49 UTC (permalink / raw)
  To: Andreas Larsson
  Cc: spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f,
	devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	software-FkzTOoA/JUlBDgjK7y7TUQ

On Wed, 13 Feb 2013 14:23:24 +0100, Andreas Larsson <andreas-FkzTOoA/JUlBDgjK7y7TUQ@public.gmane.org> 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-FkzTOoA/JUlBDgjK7y7TUQ@public.gmane.org>

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.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-03-03  9:25 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-02-13 13:23 [PATCH] of: spi: Return error from of_spi_register_master on bad "cs-gpios" property Andreas Larsson
2013-03-02 22:49 ` Grant Likely
2013-03-02 22:49   ` Grant Likely

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.