summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-at91/pm.c7
-rw-r--r--arch/arm/mach-exynos/exynos.c8
-rw-r--r--arch/powerpc/platforms/44x/fsp2.c5
-rw-r--r--arch/powerpc/platforms/embedded6xx/hlwd-pic.c4
4 files changed, 6 insertions, 18 deletions
diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c
index 35058b99069c..68bb4a86cd94 100644
--- a/arch/arm/mach-at91/pm.c
+++ b/arch/arm/mach-at91/pm.c
@@ -982,15 +982,12 @@ static void __init at91_pm_sram_init(void)
struct gen_pool *sram_pool;
phys_addr_t sram_pbase;
unsigned long sram_base;
- struct device_node *node;
struct platform_device *pdev = NULL;
- for_each_compatible_node(node, NULL, "mmio-sram") {
+ for_each_compatible_node_scoped(node, NULL, "mmio-sram") {
pdev = of_find_device_by_node(node);
- if (pdev) {
- of_node_put(node);
+ if (pdev)
break;
- }
}
if (!pdev) {
diff --git a/arch/arm/mach-exynos/exynos.c b/arch/arm/mach-exynos/exynos.c
index 2e8099479ffa..18695076c34e 100644
--- a/arch/arm/mach-exynos/exynos.c
+++ b/arch/arm/mach-exynos/exynos.c
@@ -47,9 +47,7 @@ unsigned int exynos_rev(void)
void __init exynos_sysram_init(void)
{
- struct device_node *node;
-
- for_each_compatible_node(node, NULL, "samsung,exynos4210-sysram") {
+ for_each_compatible_node_scoped(node, NULL, "samsung,exynos4210-sysram") {
struct resource res;
if (!of_device_is_available(node))
continue;
@@ -57,15 +55,13 @@ void __init exynos_sysram_init(void)
of_address_to_resource(node, 0, &res);
sysram_base_addr = ioremap(res.start, resource_size(&res));
sysram_base_phys = res.start;
- of_node_put(node);
break;
}
- for_each_compatible_node(node, NULL, "samsung,exynos4210-sysram-ns") {
+ for_each_compatible_node_scoped(node, NULL, "samsung,exynos4210-sysram-ns") {
if (!of_device_is_available(node))
continue;
sysram_ns_base_addr = of_iomap(node, 0);
- of_node_put(node);
break;
}
}
diff --git a/arch/powerpc/platforms/44x/fsp2.c b/arch/powerpc/platforms/44x/fsp2.c
index f6b8d02e08b0..b06d9220844c 100644
--- a/arch/powerpc/platforms/44x/fsp2.c
+++ b/arch/powerpc/platforms/44x/fsp2.c
@@ -199,16 +199,14 @@ static irqreturn_t rst_wrn_handler(int irq, void *data) {
static void __init node_irq_request(const char *compat, irq_handler_t errirq_handler)
{
- struct device_node *np;
unsigned int irq;
int32_t rc;
- for_each_compatible_node(np, NULL, compat) {
+ for_each_compatible_node_scoped(np, NULL, compat) {
irq = irq_of_parse_and_map(np, 0);
if (!irq) {
pr_err("device tree node %pOFn is missing a interrupt",
np);
- of_node_put(np);
return;
}
@@ -216,7 +214,6 @@ static void __init node_irq_request(const char *compat, irq_handler_t errirq_han
if (rc) {
pr_err("fsp_of_probe: request_irq failed: np=%pOF rc=%d",
np, rc);
- of_node_put(np);
return;
}
}
diff --git a/arch/powerpc/platforms/embedded6xx/hlwd-pic.c b/arch/powerpc/platforms/embedded6xx/hlwd-pic.c
index b57e87b0b3ce..1522a8bece29 100644
--- a/arch/powerpc/platforms/embedded6xx/hlwd-pic.c
+++ b/arch/powerpc/platforms/embedded6xx/hlwd-pic.c
@@ -201,11 +201,10 @@ unsigned int hlwd_pic_get_irq(void)
void __init hlwd_pic_probe(void)
{
struct irq_domain *host;
- struct device_node *np;
const u32 *interrupts;
int cascade_virq;
- for_each_compatible_node(np, NULL, "nintendo,hollywood-pic") {
+ for_each_compatible_node_scoped(np, NULL, "nintendo,hollywood-pic") {
interrupts = of_get_property(np, "interrupts", NULL);
if (interrupts) {
host = hlwd_pic_init(np);
@@ -215,7 +214,6 @@ void __init hlwd_pic_probe(void)
irq_set_chained_handler(cascade_virq,
hlwd_pic_irq_cascade);
hlwd_irq_host = host;
- of_node_put(np);
break;
}
}