]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
of: Migrate of_find_node_by_name() users to for_each_node_by_name()
authorGrant Likely <grant.likely@linaro.org>
Wed, 4 Jun 2014 15:42:26 +0000 (16:42 +0100)
committerGrant Likely <grant.likely@linaro.org>
Thu, 26 Jun 2014 16:12:24 +0000 (17:12 +0100)
There are a bunch of users open coding the for_each_node_by_name() by
calling of_find_node_by_name() directly instead of using the macro. This
is getting in the way of some cleanups, and the possibility of removing
of_find_node_by_name() entirely. Clean it up so that all the users are
consistent.

Signed-off-by: Grant Likely <grant.likely@linaro.org>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Takashi Iwai <tiwai@suse.de>
arch/powerpc/platforms/powermac/feature.c
arch/powerpc/platforms/powermac/pci.c
arch/powerpc/platforms/powermac/smp.c
arch/powerpc/platforms/powermac/udbg_adb.c
arch/powerpc/platforms/pseries/setup.c
drivers/cpufreq/pmac64-cpufreq.c
drivers/edac/cell_edac.c
drivers/pci/hotplug/rpaphp_core.c
drivers/tty/serial/pmac_zilog.c
sound/ppc/pmac.c

index 63d82bbc05e9c4f0307be5f88ccb826844dcc7fd..39e1d163c4271dfb1dd12414350a3c6012c33aba 100644 (file)
@@ -2805,25 +2805,20 @@ set_initial_features(void)
                /* Enable GMAC for now for PCI probing. It will be disabled
                 * later on after PCI probe
                 */
-               np = of_find_node_by_name(NULL, "ethernet");
-               while(np) {
+               for_each_node_by_name(np, "ethernet")
                        if (of_device_is_compatible(np, "K2-GMAC"))
                                g5_gmac_enable(np, 0, 1);
-                       np = of_find_node_by_name(np, "ethernet");
-               }
 
                /* Enable FW before PCI probe. Will be disabled later on
                 * Note: We should have a batter way to check that we are
                 * dealing with uninorth internal cell and not a PCI cell
                 * on the external PCI. The code below works though.
                 */
-               np = of_find_node_by_name(NULL, "firewire");
-               while(np) {
+               for_each_node_by_name(np, "firewire") {
                        if (of_device_is_compatible(np, "pci106b,5811")) {
                                macio_chips[0].flags |= MACIO_FLAG_FW_SUPPORTED;
                                g5_fw_enable(np, 0, 1);
                        }
-                       np = of_find_node_by_name(np, "firewire");
                }
        }
 #else /* CONFIG_POWER4 */
@@ -2834,13 +2829,11 @@ set_initial_features(void)
                /* Enable GMAC for now for PCI probing. It will be disabled
                 * later on after PCI probe
                 */
-               np = of_find_node_by_name(NULL, "ethernet");
-               while(np) {
+               for_each_node_by_name(np, "ethernet") {
                        if (np->parent
                            && of_device_is_compatible(np->parent, "uni-north")
                            && of_device_is_compatible(np, "gmac"))
                                core99_gmac_enable(np, 0, 1);
-                       np = of_find_node_by_name(np, "ethernet");
                }
 
                /* Enable FW before PCI probe. Will be disabled later on
@@ -2848,8 +2841,7 @@ set_initial_features(void)
                 * dealing with uninorth internal cell and not a PCI cell
                 * on the external PCI. The code below works though.
                 */
-               np = of_find_node_by_name(NULL, "firewire");
-               while(np) {
+               for_each_node_by_name(np, "firewire") {
                        if (np->parent
                            && of_device_is_compatible(np->parent, "uni-north")
                            && (of_device_is_compatible(np, "pci106b,18") ||
@@ -2858,18 +2850,16 @@ set_initial_features(void)
                                macio_chips[0].flags |= MACIO_FLAG_FW_SUPPORTED;
                                core99_firewire_enable(np, 0, 1);
                        }
-                       np = of_find_node_by_name(np, "firewire");
                }
 
                /* Enable ATA-100 before PCI probe. */
                np = of_find_node_by_name(NULL, "ata-6");
-               while(np) {
+               for_each_node_by_name(np, "ata-6") {
                        if (np->parent
                            && of_device_is_compatible(np->parent, "uni-north")
                            && of_device_is_compatible(np, "kauai-ata")) {
                                core99_ata100_enable(np, 1);
                        }
-                       np = of_find_node_by_name(np, "ata-6");
                }
 
                /* Switch airport off */
index cf7009b8c7b6481b6c36339e3c0915809f2e0325..7e868ccf3b0d9451ad7efdf0cf0a6f01bb7b4f7a 100644 (file)
@@ -698,7 +698,7 @@ static void __init fixup_nec_usb2(void)
 {
        struct device_node *nec;
 
-       for (nec = NULL; (nec = of_find_node_by_name(nec, "usb")) != NULL;) {
+       for_each_node_by_name(nec, "usb") {
                struct pci_controller *hose;
                u32 data;
                const u32 *prop;
index 5cbd4d67d5c445af65be43099477df712193755b..af094ae03dbbc9dfddec65e69da279d3ab8a0b7f 100644 (file)
@@ -577,7 +577,7 @@ static void __init smp_core99_setup_i2c_hwsync(int ncpus)
        int ok;
 
        /* Look for the clock chip */
-       while ((cc = of_find_node_by_name(cc, "i2c-hwclock")) != NULL) {
+       for_each_node_by_name(cc, "i2c-hwclock") {
                p = of_get_parent(cc);
                ok = p && of_device_is_compatible(p, "uni-n-i2c");
                of_node_put(p);
index 44e0b55a2a028f4227ae0b22f31791f1ac913218..366bd221edecb089c9b887ba62b271c90694719f 100644 (file)
@@ -191,7 +191,7 @@ int __init udbg_adb_init(int force_btext)
         * of type "adb". If not, we return a failure, but we keep the
         * bext output set for now
         */
-       for (np = NULL; (np = of_find_node_by_name(np, "keyboard")) != NULL;) {
+       for_each_node_by_name(np, "keyboard") {
                struct device_node *parent = of_get_parent(np);
                int found = (parent && strcmp(parent->type, "adb") == 0);
                of_node_put(parent);
index f2f40e64658f054aa650d1fd329a74b5dc478bde..cd6b4cde0de32c5b15b3aedd7737146ffce41d77 100644 (file)
@@ -232,8 +232,7 @@ static void __init pseries_discover_pic(void)
        struct device_node *np;
        const char *typep;
 
-       for (np = NULL; (np = of_find_node_by_name(np,
-                                                  "interrupt-controller"));) {
+       for_each_node_by_name(np, "interrupt-controller") {
                typep = of_get_property(np, "compatible", NULL);
                if (strstr(typep, "open-pic")) {
                        pSeries_mpic_node = of_node_get(np);
index 8bc422977b5b88120ad93c08ac27cbea22cc80ec..4ff86878727fc0130ebf9be394f3f832c50c315d 100644 (file)
@@ -499,8 +499,7 @@ static int __init g5_pm72_cpufreq_init(struct device_node *cpunode)
        }
 
        /* Lookup the i2c hwclock */
-       for (hwclock = NULL;
-            (hwclock = of_find_node_by_name(hwclock, "i2c-hwclock")) != NULL;){
+       for_each_node_by_name(hwclock, "i2c-hwclock") {
                const char *loc = of_get_property(hwclock,
                                "hwctrl-location", NULL);
                if (loc == NULL)
index 374b57fc596d87db7e9e252c2ca4fbe57cb423f6..a12c8552f6a6bbe74791865e84299bb74e5e52bc 100644 (file)
@@ -134,8 +134,7 @@ static void cell_edac_init_csrows(struct mem_ctl_info *mci)
        int                             j;
        u32                             nr_pages;
 
-       for (np = NULL;
-            (np = of_find_node_by_name(np, "memory")) != NULL;) {
+       for_each_node_by_name(np, "memory") {
                struct resource r;
 
                /* We "know" that the Cell firmware only creates one entry
index 93aa29f6d39c5b3a06e699f13f72a8c960b7da34..f2945fa73d4ffeeb5010358b5cc63fce32b73a5a 100644 (file)
@@ -375,11 +375,11 @@ static void __exit cleanup_slots(void)
 
 static int __init rpaphp_init(void)
 {
-       struct device_node *dn = NULL;
+       struct device_node *dn;
 
        info(DRIVER_DESC " version: " DRIVER_VERSION "\n");
 
-       while ((dn = of_find_node_by_name(dn, "pci")))
+       for_each_node_by_name(dn, "pci")
                rpaphp_add_slot(dn);
 
        return 0;
index 8193635103eeefaf4f62cfd14eb3a4ab1be48fad..01e180bc6b5d1c27b7120fa5296683c4b865138e 100644 (file)
@@ -1650,8 +1650,7 @@ static int __init pmz_probe(void)
        /*
         * Find all escc chips in the system
         */
-       node_p = of_find_node_by_name(NULL, "escc");
-       while (node_p) {
+       for_each_node_by_name(node_p, "escc") {
                /*
                 * First get channel A/B node pointers
                 * 
@@ -1669,7 +1668,7 @@ static int __init pmz_probe(void)
                        of_node_put(node_b);
                        printk(KERN_ERR "pmac_zilog: missing node %c for escc %s\n",
                                (!node_a) ? 'a' : 'b', node_p->full_name);
-                       goto next;
+                       continue;
                }
 
                /*
@@ -1696,11 +1695,9 @@ static int __init pmz_probe(void)
                        of_node_put(node_b);
                        memset(&pmz_ports[count], 0, sizeof(struct uart_pmac_port));
                        memset(&pmz_ports[count+1], 0, sizeof(struct uart_pmac_port));
-                       goto next;
+                       continue;
                }
                count += 2;
-next:
-               node_p = of_find_node_by_name(node_p, "escc");
        }
        pmz_ports_count = count;
 
index 7a43c0c38316c7879815cf42190cd64f51376373..8a431bcb056cecc5414ba30e93c238fce7288df9 100644 (file)
@@ -992,9 +992,9 @@ static int snd_pmac_detect(struct snd_pmac *chip)
                return -ENODEV;
 
        if (!sound) {
-               sound = of_find_node_by_name(NULL, "sound");
-               while (sound && sound->parent != chip->node)
-                       sound = of_find_node_by_name(sound, "sound");
+               for_each_node_by_name(sound, "sound")
+                       if (sound->parent == chip->node)
+                               break;
        }
        if (! sound) {
                of_node_put(chip->node);