Re: [PATCH v3 4/5] dt/s3c64xx/spi: Use of_get_child_by_name to get a named child.
From: Srinivas KANDAGATLA <hidden>
Date: 2012-09-17 11:35:42
On 17/09/12 12:15, Kukjin Kim wrote:
Srinivas KANDAGATLA wrote:quoted
From: Srinivas Kandagatla <redacted> 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.
I think added you guys in the cover-letter but I missed on the first patch. Here is the link to first-patch: http://www.mail-archive.com/devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org/msg18657.html
Thanks. Best regards, Kgene. -- Kukjin Kim [off-list ref], Senior Engineer, SW Solution Development Team, Samsung Electronics Co., Ltd.quoted
Signed-off-by: Srinivas Kandagatla <redacted> --- 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