diff options
author | Srinivas Kandagatla <srinivas.kandagatla@st.com> | 2012-09-18 08:10:49 +0100 |
---|---|---|
committer | Rob Herring <rob.herring@calxeda.com> | 2012-10-01 10:50:26 -0500 |
commit | 06455bbcab76e5f5225de5f38ab948d37a1c3587 (patch) | |
tree | 65102813735352fc40a31fca68edca5e5fec2b29 | |
parent | 9c19761a7ecdc86abb2fba0feb81e8952eccc1f1 (diff) | |
download | op-kernel-dev-06455bbcab76e5f5225de5f38ab948d37a1c3587.zip op-kernel-dev-06455bbcab76e5f5225de5f38ab948d37a1c3587.tar.gz |
dt/s3c64xx/spi: Use of_get_child_by_name to get a named child
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.
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@st.com>
Signed-off-by: Rob Herring <rob.herring@calxeda.com>
-rw-r--r-- | 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 646a7657..12b8c9c 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; } |