[PATCH v3 4/5] dt/s3c64xx/spi: Use of_get_child_by_name to get a named child.

Kukjin Kim kgene.kim at samsung.com
Mon Sep 17 21:15:26 EST 2012


Srinivas KANDAGATLA wrote:
> 
> From: Srinivas Kandagatla <srinivas.kandagatla at st.com>
> 
> As follow-up to "dt: introduce of_get_child_by_name to get child node by
> name." patch, This patch removes some of the code duplication in the
> driver by replacing it with of_get_child_by_name instead.
> 
Cc'ed Mark Brown who is handling spi now.

Would be helpful if you could Cc the first patch "dt: introduce
of_get_child_by_name..." in this series to us.

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim at samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.

> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla at st.com>
> ---
>  drivers/spi/spi-s3c64xx.c |    7 ++++---
>  1 files changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/spi/spi-s3c64xx.c b/drivers/spi/spi-s3c64xx.c
> index d1c8441..f226f33 100644
> --- a/drivers/spi/spi-s3c64xx.c
> +++ b/drivers/spi/spi-s3c64xx.c
> @@ -835,9 +835,7 @@ static struct s3c64xx_spi_csinfo
> *s3c64xx_get_slave_ctrldata(
>  		return ERR_PTR(-EINVAL);
>  	}
> 
> -	for_each_child_of_node(slave_np, data_np)
> -		if (!strcmp(data_np->name, "controller-data"))
> -			break;
> +	data_np = of_get_child_by_name(slave_np, "controller-data");
>  	if (!data_np) {
>  		dev_err(&spi->dev, "child node 'controller-data' not
> found\n");
>  		return ERR_PTR(-EINVAL);
> @@ -847,6 +845,7 @@ static struct s3c64xx_spi_csinfo
> *s3c64xx_get_slave_ctrldata(
>  	if (!cs) {
>  		dev_err(&spi->dev, "could not allocate memory for
> controller"
>  					" data\n");
> +		of_node_put(data_np);
>  		return ERR_PTR(-ENOMEM);
>  	}
> 
> @@ -855,11 +854,13 @@ static struct s3c64xx_spi_csinfo
> *s3c64xx_get_slave_ctrldata(
>  		dev_err(&spi->dev, "chip select gpio is not specified or "
>  					"invalid\n");
>  		kfree(cs);
> +		of_node_put(data_np);
>  		return ERR_PTR(-EINVAL);
>  	}
> 
>  	of_property_read_u32(data_np, "samsung,spi-feedback-delay",
> &fb_delay);
>  	cs->fb_delay = fb_delay;
> +	of_node_put(data_np);
>  	return cs;
>  }
> 
> --
> 1.7.0.4



More information about the devicetree-discuss mailing list