for_each_node_by_type(np, "display") {
                if (of_get_property(np, "linux,opened", NULL)) {
-                       printk("trying %s ...\n", np->full_name);
+                       printk("trying %pOF ...\n", np);
                        rc = btext_initialize(np);
                        printk("result: %d\n", rc);
                }
 
 
        list_for_each_entry(iter, &cache_list, list)
                WARN_ONCE(iter->next_local == cache,
-                         "cache for %s(%s) refers to cache for %s(%s)\n",
-                         iter->ofnode->full_name,
+                         "cache for %pOF(%s) refers to cache for %pOF(%s)\n",
+                         iter->ofnode,
                          cache_type_string(iter),
-                         cache->ofnode->full_name,
+                         cache->ofnode,
                          cache_type_string(cache));
 }
 
        if (!cache)
                return;
 
-       pr_debug("freeing L%d %s cache for %s\n", cache->level,
-                cache_type_string(cache), cache->ofnode->full_name);
+       pr_debug("freeing L%d %s cache for %pOF\n", cache->level,
+                cache_type_string(cache), cache->ofnode);
 
        release_cache_debugcheck(cache);
        list_del(&cache->list);
 
        while (next) {
                WARN_ONCE(cpumask_test_cpu(cpu, &next->shared_cpu_map),
-                         "CPU %i already accounted in %s(%s)\n",
-                         cpu, next->ofnode->full_name,
+                         "CPU %i already accounted in %pOF(%s)\n",
+                         cpu, next->ofnode,
                          cache_type_string(next));
                cpumask_set_cpu(cpu, &next->shared_cpu_map);
                next = next->next_local;
  */
 static struct cache *cache_do_one_devnode_unified(struct device_node *node, int level)
 {
-       pr_debug("creating L%d ucache for %s\n", level, node->full_name);
+       pr_debug("creating L%d ucache for %pOF\n", level, node);
 
        return new_cache(cache_is_unified_d(node), level, node);
 }
 {
        struct cache *dcache, *icache;
 
-       pr_debug("creating L%d dcache and icache for %s\n", level,
-                node->full_name);
+       pr_debug("creating L%d dcache and icache for %pOF\n", level,
+                node);
 
        dcache = new_cache(CACHE_TYPE_DATA, level, node);
        icache = new_cache(CACHE_TYPE_INSTRUCTION, level, node);
 
 static void cacheinfo_create_index_opt_attrs(struct cache_index_dir *dir)
 {
-       const char *cache_name;
        const char *cache_type;
        struct cache *cache;
        char *buf;
                return;
 
        cache = dir->cache;
-       cache_name = cache->ofnode->full_name;
        cache_type = cache_type_string(cache);
 
        /* We don't want to create an attribute that can't provide a
                rc = attr->show(&dir->kobj, attr, buf);
                if (rc <= 0) {
                        pr_debug("not creating %s attribute for "
-                                "%s(%s) (rc = %zd)\n",
-                                attr->attr.name, cache_name,
+                                "%pOF(%s) (rc = %zd)\n",
+                                attr->attr.name, cache->ofnode,
                                 cache_type, rc);
                        continue;
                }
                if (sysfs_create_file(&dir->kobj, &attr->attr))
-                       pr_debug("could not create %s attribute for %s(%s)\n",
-                                attr->attr.name, cache_name, cache_type);
+                       pr_debug("could not create %s attribute for %pOF(%s)\n",
+                                attr->attr.name, cache->ofnode, cache_type);
        }
 
        kfree(buf);
                struct cache *next = cache->next_local;
 
                WARN_ONCE(!cpumask_test_cpu(cpu, &cache->shared_cpu_map),
-                         "CPU %i not accounted in %s(%s)\n",
-                         cpu, cache->ofnode->full_name,
+                         "CPU %i not accounted in %pOF(%s)\n",
+                         cpu, cache->ofnode,
                          cache_type_string(cache));
 
                cpumask_clear_cpu(cpu, &cache->shared_cpu_map);
 
 
        if (iowa_bus_count >= IOWA_MAX_BUS) {
                pr_err("IOWA:Too many pci bridges, "
-                      "workarounds disabled for %s\n", np->full_name);
+                      "workarounds disabled for %pOF\n", np);
                return;
        }
 
 
        iowa_bus_count++;
 
-       pr_debug("IOWA:[%d]Add bus, %s.\n", iowa_bus_count-1, np->full_name);
+       pr_debug("IOWA:[%d]Add bus, %pOF.\n", iowa_bus_count-1, np);
 }
 
 
        /* Set the global ISA io base to indicate we have an ISA bridge */
        isa_io_base = ISA_IO_BASE;
 
-       pr_debug("ISA bridge (early) is %s\n", np->full_name);
+       pr_debug("ISA bridge (early) is %pOF\n", np);
 }
 
 /**
        pna = of_n_addr_cells(np);
        if (of_property_read_u32(np, "#address-cells", &na) ||
            of_property_read_u32(np, "#size-cells", &ns)) {
-               pr_warn("ISA: Non-PCI bridge %s is missing address format\n",
-                       np->full_name);
+               pr_warn("ISA: Non-PCI bridge %pOF is missing address format\n",
+                       np);
                return;
        }
 
        /* Check it's a supported address format */
        if (na != 2 || ns != 1) {
-               pr_warn("ISA: Non-PCI bridge %s has unsupported address format\n",
-                       np->full_name);
+               pr_warn("ISA: Non-PCI bridge %pOF has unsupported address format\n",
+                       np);
                return;
        }
        rs = na + ns + pna;
        /* Grab the ranges property */
        ranges = of_get_property(np, "ranges", &rlen);
        if (ranges == NULL || rlen < rs) {
-               pr_warn("ISA: Non-PCI bridge %s has absent or invalid ranges\n",
-                       np->full_name);
+               pr_warn("ISA: Non-PCI bridge %pOF has absent or invalid ranges\n",
+                       np);
                return;
        }
 
 
        /* Got something ? */
        if (!size || !pbasep) {
-               pr_warn("ISA: Non-PCI bridge %s has no usable IO range\n",
-                       np->full_name);
+               pr_warn("ISA: Non-PCI bridge %pOF has no usable IO range\n",
+                       np);
                return;
        }
 
        /* Map pbase */
        pbase = of_translate_address(np, pbasep);
        if (pbase == OF_BAD_ADDR) {
-               pr_warn("ISA: Non-PCI bridge %s failed to translate IO base\n",
-                       np->full_name);
+               pr_warn("ISA: Non-PCI bridge %pOF failed to translate IO base\n",
+                       np);
                return;
        }
 
        /* We need page alignment */
        if ((cbase & ~PAGE_MASK) || (pbase & ~PAGE_MASK)) {
-               pr_warn("ISA: Non-PCI bridge %s has non aligned IO range\n",
-                       np->full_name);
+               pr_warn("ISA: Non-PCI bridge %pOF has non aligned IO range\n",
+                       np);
                return;
        }
 
        __ioremap_at(pbase, (void *)ISA_IO_BASE,
                     size, pgprot_val(pgprot_noncached(__pgprot(0))));
 
-       pr_debug("ISA: Non-PCI bridge is %s\n", np->full_name);
+       pr_debug("ISA: Non-PCI bridge is %pOF\n", np);
 }
 
 /**
        /* Set the global ISA io base to indicate we have an ISA bridge */
        isa_io_base = ISA_IO_BASE;
 
-       pr_debug("ISA bridge (late) is %s on %s\n",
-                devnode->full_name, pci_name(pdev));
+       pr_debug("ISA bridge (late) is %pOF on %s\n",
+                devnode, pci_name(pdev));
 }
 
 /**
 
                legacy_serial_ports[index].serial_out = tsi_serial_out;
        }
 
-       printk(KERN_DEBUG "Found legacy serial port %d for %s\n",
-              index, np->full_name);
+       printk(KERN_DEBUG "Found legacy serial port %d for %pOF\n",
+              index, np);
        printk(KERN_DEBUG "  %s=%llx, taddr=%llx, irq=%lx, clk=%d, speed=%d\n",
               (iotype == UPIO_PORT) ? "port" : "mem",
               (unsigned long long)base, (unsigned long long)taddr, irq,
        int index = -1;
        u64 taddr;
 
-       DBG(" -> add_legacy_isa_port(%s)\n", np->full_name);
+       DBG(" -> add_legacy_isa_port(%pOF)\n", np);
 
        /* Get the ISA port number */
        reg = of_get_property(np, "reg", NULL);
        unsigned int flags;
        int iotype, index = -1, lindex = 0;
 
-       DBG(" -> add_legacy_pci_port(%s)\n", np->full_name);
+       DBG(" -> add_legacy_pci_port(%pOF)\n", np);
 
        /* We only support ports that have a clock frequency properly
         * encoded in the device-tree (that is have an fcode). Anything
        if (path != NULL) {
                stdout = of_find_node_by_path(path);
                if (stdout)
-                       DBG("stdout is %s\n", stdout->full_name);
+                       DBG("stdout is %pOF\n", stdout);
        } else {
                DBG(" no linux,stdout-path !\n");
        }
                DBG(" can't find stdout package %s !\n", name);
                return -ENODEV;
        }
-       DBG("stdout is %s\n", prom_stdout->full_name);
+       DBG("stdout is %pOF\n", prom_stdout);
 
        name = of_get_property(prom_stdout, "name", NULL);
        if (!name) {
 
        if (ppc_md.pci_setup_phb == NULL)
                return -ENODEV;
 
-       pr_info("Setting up PCI bus %s\n", dev->dev.of_node->full_name);
+       pr_info("Setting up PCI bus %pOF\n", dev->dev.of_node);
 
        /* Alloc and setup PHB data structure */
        phb = pcibios_alloc_controller(dev->dev.of_node);
 
                if (virq)
                        irq_set_irq_type(virq, IRQ_TYPE_LEVEL_LOW);
        } else {
-               pr_debug(" Got one, spec %d cells (0x%08x 0x%08x...) on %s\n",
-                        oirq.args_count, oirq.args[0], oirq.args[1],
-                        of_node_full_name(oirq.np));
+               pr_debug(" Got one, spec %d cells (0x%08x 0x%08x...) on %pOF\n",
+                        oirq.args_count, oirq.args[0], oirq.args[1], oirq.np);
 
                virq = irq_create_of_mapping(&oirq);
        }
        struct of_pci_range range;
        struct of_pci_range_parser parser;
 
-       printk(KERN_INFO "PCI host bridge %s %s ranges:\n",
-              dev->full_name, primary ? "(primary)" : "");
+       printk(KERN_INFO "PCI host bridge %pOF %s ranges:\n",
+              dev, primary ? "(primary)" : "");
 
        /* Check for ranges property */
        if (of_pci_range_parser_init(&parser, dev))
 
        if (!res->flags) {
                pr_debug("PCI: I/O resource not set for host"
-                        " bridge %s (domain %d)\n",
-                        hose->dn->full_name, hose->global_number);
+                        " bridge %pOF (domain %d)\n",
+                        hose->dn, hose->global_number);
        } else {
                offset = pcibios_io_space_offset(hose);
 
        struct device_node *node = hose->dn;
        int mode;
 
-       pr_debug("PCI: Scanning PHB %s\n", of_node_full_name(node));
+       pr_debug("PCI: Scanning PHB %pOF\n", node);
 
        /* Get some IO space for the new PHB */
        pcibios_setup_phb_io_space(hose);
 
                return;
        bus_range = of_get_property(node, "bus-range", &len);
        if (bus_range == NULL || len < 2 * sizeof(int)) {
-               printk(KERN_WARNING "Can't get bus-range for %s, "
-                      "assuming it starts at 0\n", node->full_name);
+               printk(KERN_WARNING "Can't get bus-range for %pOF, "
+                      "assuming it starts at 0\n", node);
                pci_to_OF_bus_map[pci_bus] = 0;
        } else
                pci_to_OF_bus_map[pci_bus] = bus_range[0];
 
        if (hose->io_base_alloc == NULL)
                return 0;
 
-       pr_debug("IO unmapping for PHB %s\n", hose->dn->full_name);
+       pr_debug("IO unmapping for PHB %pOF\n", hose->dn);
        pr_debug("  alloc=0x%p\n", hose->io_base_alloc);
 
        /* This is a PHB, we fully unmap the IO area */
        hose->io_base_virt = (void __iomem *)(area->addr +
                                              hose->io_base_phys - phys_page);
 
-       pr_debug("IO mapping for PHB %s\n", hose->dn->full_name);
+       pr_debug("IO mapping for PHB %pOF\n", hose->dn);
        pr_debug("  phys=0x%016llx, virt=0x%p (alloc=0x%p)\n",
                 hose->io_base_phys, hose->io_base_virt, hose->io_base_alloc);
        pr_debug("  size=0x%016llx (alloc=0x%016lx)\n",
 
        unsigned int flags;
        u64 size;
 
-       pr_debug("of_scan_pci_bridge(%s)\n", node->full_name);
+       pr_debug("of_scan_pci_bridge(%pOF)\n", node);
 
        /* parse bus-range property */
        busrange = of_get_property(node, "bus-range", &len);
        if (busrange == NULL || len != 8) {
-               printk(KERN_DEBUG "Can't get bus-range for PCI-PCI bridge %s\n",
-                      node->full_name);
+               printk(KERN_DEBUG "Can't get bus-range for PCI-PCI bridge %pOF\n",
+                      node);
                return;
        }
        ranges = of_get_property(node, "ranges", &len);
        if (ranges == NULL) {
-               printk(KERN_DEBUG "Can't get ranges for PCI-PCI bridge %s\n",
-                      node->full_name);
+               printk(KERN_DEBUG "Can't get ranges for PCI-PCI bridge %pOF\n",
+                      node);
                return;
        }
 
                bus = pci_add_new_bus(dev->bus, dev,
                                      of_read_number(busrange, 1));
                if (!bus) {
-                       printk(KERN_ERR "Failed to create pci bus for %s\n",
-                              node->full_name);
+                       printk(KERN_ERR "Failed to create pci bus for %pOF\n",
+                              node);
                        return;
                }
        }
                        res = bus->resource[0];
                        if (res->flags) {
                                printk(KERN_ERR "PCI: ignoring extra I/O range"
-                                      " for bridge %s\n", node->full_name);
+                                      " for bridge %pOF\n", node);
                                continue;
                        }
                } else {
                        if (i >= PCI_NUM_RESOURCES - PCI_BRIDGE_RESOURCES) {
                                printk(KERN_ERR "PCI: too many memory ranges"
-                                      " for bridge %s\n", node->full_name);
+                                      " for bridge %pOF\n", node);
                                continue;
                        }
                        res = bus->resource[i];
        struct eeh_dev *edev = pdn_to_eeh_dev(PCI_DN(dn));
 #endif
 
-       pr_debug("  * %s\n", dn->full_name);
+       pr_debug("  * %pOF\n", dn);
        if (!of_device_is_available(dn))
                return NULL;
 
        struct device_node *child;
        struct pci_dev *dev;
 
-       pr_debug("of_scan_bus(%s) bus no %d...\n",
-                node->full_name, bus->number);
+       pr_debug("of_scan_bus(%pOF) bus no %d...\n",
+                node, bus->number);
 
        /* Scan direct children */
        for_each_child_of_node(node, child) {
 
                __be32 cpu_be;
                int j, len;
 
-               DBG("  * %s...\n", dn->full_name);
+               DBG("  * %pOF...\n", dn);
 
                intserv = of_get_property(dn, "ibm,ppc-interrupt-server#s",
                                &len);
 
        dcr_len = dcr_resource_len(np, 0);
 
        if (dcr_base == 0 || dcr_len == 0) {
-               printk(KERN_ERR "cpm: could not parse dcr property for %s\n",
-                      np->full_name);
+               printk(KERN_ERR "cpm: could not parse dcr property for %pOF\n",
+                      np);
                ret = -EINVAL;
                goto node_put;
        }
        cpm.dcr_host = dcr_map(np, dcr_base, dcr_len);
 
        if (!DCR_MAP_OK(cpm.dcr_host)) {
-               printk(KERN_ERR "cpm: failed to map dcr property for %s\n",
-                      np->full_name);
+               printk(KERN_ERR "cpm: failed to map dcr property for %pOF\n",
+                      np);
                ret = -EINVAL;
                goto node_put;
        }
 
                        goto err;
                continue;
 err:
-               pr_err("%s: registration failed with status %d\n",
-                      np->full_name, ret);
+               pr_err("%pOF: registration failed with status %d\n", np, ret);
                kfree(ppc4xx_gc);
                /* try others anyway */
        }
 
        /* Get MSI ranges */
        err = of_address_to_resource(dev->dev.of_node, 0, &res);
        if (err) {
-               dev_err(&dev->dev, "%s resource error!\n",
-                       dev->dev.of_node->full_name);
+               dev_err(&dev->dev, "%pOF resource error!\n", dev->dev.of_node);
                goto error_out;
        }
 
 
                 * within 32 bits space
                 */
                if (cpu_addr != 0 || pci_addr > 0xffffffff) {
-                       printk(KERN_WARNING "%s: Ignored unsupported dma range"
+                       printk(KERN_WARNING "%pOF: Ignored unsupported dma range"
                               " 0x%016llx...0x%016llx -> 0x%016llx\n",
-                              hose->dn->full_name,
+                              hose->dn,
                               pci_addr, pci_addr + size - 1, cpu_addr);
                        continue;
                }
 
        /* We only support one global DMA offset */
        if (dma_offset_set && pci_dram_offset != res->start) {
-               printk(KERN_ERR "%s: dma-ranges(s) mismatch\n",
-                      hose->dn->full_name);
+               printk(KERN_ERR "%pOF: dma-ranges(s) mismatch\n", hose->dn);
                return -ENXIO;
        }
 
         * DMA bounce buffers
         */
        if (size < total_memory) {
-               printk(KERN_ERR "%s: dma-ranges too small "
+               printk(KERN_ERR "%pOF: dma-ranges too small "
                       "(size=%llx total_memory=%llx)\n",
-                      hose->dn->full_name, size, (u64)total_memory);
+                      hose->dn, size, (u64)total_memory);
                return -ENXIO;
        }
 
        /* Check we are a power of 2 size and that base is a multiple of size*/
        if ((size & (size - 1)) != 0  ||
            (res->start & (size - 1)) != 0) {
-               printk(KERN_ERR "%s: dma-ranges unaligned\n",
-                      hose->dn->full_name);
+               printk(KERN_ERR "%pOF: dma-ranges unaligned\n", hose->dn);
                return -ENXIO;
        }
 
        if (res->end > 0xffffffff &&
            !(of_device_is_compatible(hose->dn, "ibm,plb-pciex-460sx")
              || of_device_is_compatible(hose->dn, "ibm,plb-pciex-476fpe"))) {
-               printk(KERN_ERR "%s: dma-ranges outside of 32 bits space\n",
-                      hose->dn->full_name);
+               printk(KERN_ERR "%pOF: dma-ranges outside of 32 bits space\n",
+                      hose->dn);
                return -ENXIO;
        }
  out:
         */
        if ((plb_addr + size) > 0xffffffffull || !is_power_of_2(size) ||
            size < 0x1000 || (plb_addr & (size - 1)) != 0) {
-               printk(KERN_WARNING "%s: Resource out of range\n",
-                      hose->dn->full_name);
+               printk(KERN_WARNING "%pOF: Resource out of range\n", hose->dn);
                return -1;
        }
        ma = (0xffffffffu << ilog2(size)) | 1;
                if (!(res->flags & IORESOURCE_MEM))
                        continue;
                if (j > 2) {
-                       printk(KERN_WARNING "%s: Too many ranges\n",
-                              hose->dn->full_name);
+                       printk(KERN_WARNING "%pOF: Too many ranges\n", hose->dn);
                        break;
                }
 
        if (j <= 2 && !found_isa_hole && hose->isa_mem_size)
                if (ppc4xx_setup_one_pci_PMM(hose, reg, hose->isa_mem_phys, 0,
                                             hose->isa_mem_size, 0, j) == 0)
-                       printk(KERN_INFO "%s: Legacy ISA memory support enabled\n",
-                              hose->dn->full_name);
+                       printk(KERN_INFO "%pOF: Legacy ISA memory support enabled\n",
+                              hose->dn);
 }
 
 static void __init ppc4xx_configure_pci_PTMs(struct pci_controller *hose,
 
        /* Check if device is enabled */
        if (!of_device_is_available(np)) {
-               printk(KERN_INFO "%s: Port disabled via device-tree\n",
-                      np->full_name);
+               printk(KERN_INFO "%pOF: Port disabled via device-tree\n", np);
                return;
        }
 
        /* Fetch config space registers address */
        if (of_address_to_resource(np, 0, &rsrc_cfg)) {
-               printk(KERN_ERR "%s: Can't get PCI config register base !",
-                      np->full_name);
+               printk(KERN_ERR "%pOF: Can't get PCI config register base !",
+                      np);
                return;
        }
        /* Fetch host bridge internal registers address */
        if (of_address_to_resource(np, 3, &rsrc_reg)) {
-               printk(KERN_ERR "%s: Can't get PCI internal register base !",
-                      np->full_name);
+               printk(KERN_ERR "%pOF: Can't get PCI internal register base !",
+                      np);
                return;
        }
 
        /* Map registers */
        reg = ioremap(rsrc_reg.start, resource_size(&rsrc_reg));
        if (reg == NULL) {
-               printk(KERN_ERR "%s: Can't map registers !", np->full_name);
+               printk(KERN_ERR "%pOF: Can't map registers !", np);
                goto fail;
        }
 
 
        if (!is_power_of_2(size) || size < 0x1000 ||
            (plb_addr & (size - 1)) != 0) {
-               printk(KERN_WARNING "%s: Resource out of range\n",
-                      hose->dn->full_name);
+               printk(KERN_WARNING "%pOF: Resource out of range\n",
+                      hose->dn);
                return -1;
        }
 
                if (!(res->flags & IORESOURCE_MEM))
                        continue;
                if (j > 1) {
-                       printk(KERN_WARNING "%s: Too many ranges\n",
-                              hose->dn->full_name);
+                       printk(KERN_WARNING "%pOF: Too many ranges\n", hose->dn);
                        break;
                }
 
        if (j <= 1 && !found_isa_hole && hose->isa_mem_size)
                if (ppc4xx_setup_one_pcix_POM(hose, reg, hose->isa_mem_phys, 0,
                                              hose->isa_mem_size, 0, j) == 0)
-                       printk(KERN_INFO "%s: Legacy ISA memory support enabled\n",
-                              hose->dn->full_name);
+                       printk(KERN_INFO "%pOF: Legacy ISA memory support enabled\n",
+                              hose->dn);
 }
 
 static void __init ppc4xx_configure_pcix_PIMs(struct pci_controller *hose,
 
        /* Fetch config space registers address */
        if (of_address_to_resource(np, 0, &rsrc_cfg)) {
-               printk(KERN_ERR "%s:Can't get PCI-X config register base !",
-                      np->full_name);
+               printk(KERN_ERR "%pOF: Can't get PCI-X config register base !",
+                      np);
                return;
        }
        /* Fetch host bridge internal registers address */
        if (of_address_to_resource(np, 3, &rsrc_reg)) {
-               printk(KERN_ERR "%s: Can't get PCI-X internal register base !",
-                      np->full_name);
+               printk(KERN_ERR "%pOF: Can't get PCI-X internal register base !",
+                      np);
                return;
        }
 
        /* Map registers */
        reg = ioremap(rsrc_reg.start, resource_size(&rsrc_reg));
        if (reg == NULL) {
-               printk(KERN_ERR "%s: Can't map registers !", np->full_name);
+               printk(KERN_ERR "%pOF: Can't map registers !", np);
                goto fail;
        }
 
 
        mbase = ioremap(port->cfg_space.start + 0x10000000, 0x1000);
        if (mbase == NULL) {
-               printk(KERN_ERR "%s: Can't map internal config space !",
-                       port->node->full_name);
+               printk(KERN_ERR "%pOF: Can't map internal config space !",
+                       port->node);
                goto done;
        }
 
                                    port->index);
                return;
        }
-               
+
        while (timeout_ms--) {
                val = in_le32(mbase + PECFG_TLDLP);
 
                ppc4xx_pciex_hwops = &ppc_476fpe_pcie_hwops;
 #endif
        if (ppc4xx_pciex_hwops == NULL) {
-               printk(KERN_WARNING "PCIE: unknown host type %s\n",
-                      np->full_name);
+               printk(KERN_WARNING "PCIE: unknown host type %pOF\n", np);
                return -ENODEV;
        }
 
            (index < 2 && size < 0x100000) ||
            (index == 2 && size < 0x100) ||
            (plb_addr & (size - 1)) != 0) {
-               printk(KERN_WARNING "%s: Resource out of range\n",
-                      hose->dn->full_name);
+               printk(KERN_WARNING "%pOF: Resource out of range\n", hose->dn);
                return -1;
        }
 
                if (!(res->flags & IORESOURCE_MEM))
                        continue;
                if (j > 1) {
-                       printk(KERN_WARNING "%s: Too many ranges\n",
-                              port->node->full_name);
+                       printk(KERN_WARNING "%pOF: Too many ranges\n",
+                              port->node);
                        break;
                }
 
                if (ppc4xx_setup_one_pciex_POM(port, hose, mbase,
                                               hose->isa_mem_phys, 0,
                                               hose->isa_mem_size, 0, j) == 0)
-                       printk(KERN_INFO "%s: Legacy ISA memory support enabled\n",
-                              hose->dn->full_name);
+                       printk(KERN_INFO "%pOF: Legacy ISA memory support enabled\n",
+                              hose->dn);
 
        /* Configure IO, always 64K starting at 0. We hard wire it to 64K !
         * Note also that it -has- to be region index 2 on this HW
                                   (hose->first_busno + 1) * 0x100000,
                                   busses * 0x100000);
                if (cfg_data == NULL) {
-                       printk(KERN_ERR "%s: Can't map external config space !",
-                              port->node->full_name);
+                       printk(KERN_ERR "%pOF: Can't map external config space !",
+                              port->node);
                        goto fail;
                }
                hose->cfg_data = cfg_data;
         */
        mbase = ioremap(port->cfg_space.start + 0x10000000, 0x1000);
        if (mbase == NULL) {
-               printk(KERN_ERR "%s: Can't map internal config space !",
-                      port->node->full_name);
+               printk(KERN_ERR "%pOF: Can't map internal config space !",
+                      port->node);
                goto fail;
        }
        hose->cfg_addr = mbase;
 
-       pr_debug("PCIE %s, bus %d..%d\n", port->node->full_name,
+       pr_debug("PCIE %pOF, bus %d..%d\n", port->node,
                 hose->first_busno, hose->last_busno);
        pr_debug("     config space mapped at: root @0x%p, other @0x%p\n",
                 hose->cfg_addr, hose->cfg_data);
        /* Get the port number from the device-tree */
        pval = of_get_property(np, "port", NULL);
        if (pval == NULL) {
-               printk(KERN_ERR "PCIE: Can't find port number for %s\n",
-                      np->full_name);
+               printk(KERN_ERR "PCIE: Can't find port number for %pOF\n", np);
                return;
        }
        portno = *pval;
        if (portno >= ppc4xx_pciex_port_count) {
-               printk(KERN_ERR "PCIE: port number out of range for %s\n",
-                      np->full_name);
+               printk(KERN_ERR "PCIE: port number out of range for %pOF\n",
+                      np);
                return;
        }
        port = &ppc4xx_pciex_ports[portno];
        if (ppc4xx_pciex_hwops->want_sdr) {
                pval = of_get_property(np, "sdr-base", NULL);
                if (pval == NULL) {
-                       printk(KERN_ERR "PCIE: missing sdr-base for %s\n",
-                              np->full_name);
+                       printk(KERN_ERR "PCIE: missing sdr-base for %pOF\n",
+                              np);
                        return;
                }
                port->sdr_base = *pval;
        } else if (!strcmp(val, "pci")) {
                port->endpoint = 0;
        } else {
-               printk(KERN_ERR "PCIE: missing or incorrect device_type for %s\n",
-                      np->full_name);
+               printk(KERN_ERR "PCIE: missing or incorrect device_type for %pOF\n",
+                      np);
                return;
        }
 
        /* Fetch config space registers address */
        if (of_address_to_resource(np, 0, &port->cfg_space)) {
-               printk(KERN_ERR "%s: Can't get PCI-E config space !",
-                      np->full_name);
+               printk(KERN_ERR "%pOF: Can't get PCI-E config space !", np);
                return;
        }
        /* Fetch host bridge internal registers address */
        if (of_address_to_resource(np, 1, &port->utl_regs)) {
-               printk(KERN_ERR "%s: Can't get UTL register base !",
-                      np->full_name);
+               printk(KERN_ERR "%pOF: Can't get UTL register base !", np);
                return;
        }
 
        /* Map DCRs */
        dcrs = dcr_resource_start(np, 0);
        if (dcrs == 0) {
-               printk(KERN_ERR "%s: Can't get DCR register base !",
-                      np->full_name);
+               printk(KERN_ERR "%pOF: Can't get DCR register base !", np);
                return;
        }
        port->dcrs = dcr_map(np, dcrs, dcr_resource_len(np, 0));
 
        /* Get l2 cache size */
        prop = of_get_property(np, "cache-size", NULL);
        if (prop == NULL) {
-               printk(KERN_ERR "%s: Can't get cache-size!\n", np->full_name);
+               printk(KERN_ERR "%pOF: Can't get cache-size!\n", np);
                of_node_put(np);
                return -ENODEV;
        }
        /* Map DCRs */
        dcrreg = of_get_property(np, "dcr-reg", &len);
        if (!dcrreg || (len != 4 * sizeof(u32))) {
-               printk(KERN_ERR "%s: Can't get DCR register base !",
-                      np->full_name);
+               printk(KERN_ERR "%pOF: Can't get DCR register base !", np);
                of_node_put(np);
                return -ENODEV;
        }
 
        raw_spin_lock_init(&uic->lock);
        indexp = of_get_property(node, "cell-index", &len);
        if (!indexp || (len != sizeof(u32))) {
-               printk(KERN_ERR "uic: Device node %s has missing or invalid "
-                      "cell-index property\n", node->full_name);
+               printk(KERN_ERR "uic: Device node %pOF has missing or invalid "
+                      "cell-index property\n", node);
                return NULL;
        }
        uic->index = *indexp;
 
        dcrreg = of_get_property(node, "dcr-reg", &len);
        if (!dcrreg || (len != 2*sizeof(u32))) {
-               printk(KERN_ERR "uic: Device node %s has missing or invalid "
-                      "dcr-reg property\n", node->full_name);
+               printk(KERN_ERR "uic: Device node %pOF has missing or invalid "
+                      "dcr-reg property\n", node);
                return NULL;
        }
        uic->dcrbase = *dcrreg;
                      * top-level interrupt controller */
        primary_uic = uic_init_one(np);
        if (!primary_uic)
-               panic("Unable to initialize primary UIC %s\n", np->full_name);
+               panic("Unable to initialize primary UIC %pOF\n", np);
 
        irq_set_default_host(primary_uic->irqhost);
        of_node_put(np);
 
                        uic = uic_init_one(np);
                        if (! uic)
-                               panic("Unable to initialize a secondary UIC %s\n",
-                                     np->full_name);
+                               panic("Unable to initialize a secondary UIC %pOF\n",
+                                     np);
 
                        cascade_virq = irq_of_parse_and_map(np, 0);
 
 
        if (fp)
                return *fp;
 
-       pr_warning("no %s property in %s node, defaulting to %d\n",
-                  prop_name, np->full_name, DEFAULT_FIFO_SIZE);
+       pr_warning("no %s property in %pOF node, defaulting to %d\n",
+                  prop_name, np, DEFAULT_FIFO_SIZE);
 
        return DEFAULT_FIFO_SIZE;
 }
 
                psc = of_iomap(np, 0);
                if (!psc) {
-                       pr_err("%s: Can't map %s device\n",
-                               __func__, np->full_name);
+                       pr_err("%s: Can't map %pOF device\n",
+                               __func__, np);
                        continue;
                }
 
                /* FIFO space is 4KiB, check if requested size is available */
                if ((fifobase + tx_fifo_size + rx_fifo_size) > 0x1000) {
-                       pr_err("%s: no fifo space available for %s\n",
-                               __func__, np->full_name);
+                       pr_err("%s: no fifo space available for %pOF\n",
+                               __func__, np);
                        iounmap(psc);
                        /*
                         * chances are that another device requests less
 
        bus_range = of_get_property(pcictrl, "bus-range", &len);
        if (bus_range == NULL || len < 2 * sizeof(int)) {
                printk(KERN_WARNING EFIKA_PLATFORM_NAME
-                      ": Can't get bus-range for %s\n", pcictrl->full_name);
+                      ": Can't get bus-range for %pOF\n", pcictrl);
                goto out_put;
        }
 
        else
                printk(KERN_INFO EFIKA_PLATFORM_NAME ": PCI buses %d..%d",
                       bus_range[0], bus_range[1]);
-       printk(" controlled by %s\n", pcictrl->full_name);
+       printk(" controlled by %pOF\n", pcictrl);
        printk("\n");
 
        hose = pcibios_alloc_controller(pcictrl);
        if (!hose) {
                printk(KERN_WARNING EFIKA_PLATFORM_NAME
-                      ": Can't allocate PCI controller structure for %s\n",
-                      pcictrl->full_name);
+                      ": Can't allocate PCI controller structure for %pOF\n",
+                      pcictrl);
                goto out_put;
        }
 
 
        fpga_np = of_find_compatible_node(NULL, NULL, "fsl,media5200-fpga");
        if (!fpga_np)
                goto out;
-       pr_debug("%s: found fpga node: %s\n", __func__, fpga_np->full_name);
+       pr_debug("%s: found fpga node: %pOF\n", __func__, fpga_np);
 
        media5200_irq.regs = of_iomap(fpga_np, 0);
        if (!media5200_irq.regs)
 
        dev_dbg(gpt->dev, "%s: flags=%i\n", __func__, intspec[0]);
 
        if ((intsize < 1) || (intspec[0] > 3)) {
-               dev_err(gpt->dev, "bad irq specifier in %s\n", ct->full_name);
+               dev_err(gpt->dev, "bad irq specifier in %pOF\n", ct);
                return -EINVAL;
        }
 
        if (!of_find_property(node, "gpio-controller", NULL))
                return;
 
-       gpt->gc.label = kstrdup(node->full_name, GFP_KERNEL);
+       gpt->gc.label = kasprintf(GFP_KERNEL, "%pOF", node);
        if (!gpt->gc.label) {
                dev_err(gpt->dev, "out of memory\n");
                return;
 
        const int *bus_range;
        struct resource rsrc;
 
-       pr_debug("Adding MPC52xx PCI host bridge %s\n", node->full_name);
+       pr_debug("Adding MPC52xx PCI host bridge %pOF\n", node);
 
        pci_add_flags(PCI_REASSIGN_ALL_BUS);
 
        if (of_address_to_resource(node, 0, &rsrc) != 0) {
-               printk(KERN_ERR "Can't get %s resources\n", node->full_name);
+               printk(KERN_ERR "Can't get %pOF resources\n", node);
                return -EINVAL;
        }
 
        bus_range = of_get_property(node, "bus-range", &len);
        if (bus_range == NULL || len < 2 * sizeof(int)) {
-               printk(KERN_WARNING "Can't get %s bus-range, assume bus 0\n",
-                      node->full_name);
+               printk(KERN_WARNING "Can't get %pOF bus-range, assume bus 0\n",
+                      node);
                bus_range = NULL;
        }
 
 
                return -ENODEV;
 
        gc->owner = THIS_MODULE;
-       gc->label = np->full_name;
+       gc->label = kasprintf(GFP_KERNEL, "%pOF", np);
        gc->can_sleep = 1;
        gc->ngpio = MCU_NUM_GPIO;
        gc->base = -1;
 
 static int mcu_gpiochip_remove(struct mcu *mcu)
 {
+       kfree(mcu->gc.label);
        gpiochip_remove(&mcu->gc);
        return 0;
 }
 
 unreg:
                platform_device_del(pdev);
 err:
-               pr_err("%s: registration failed\n", np->full_name);
+               pr_err("%pOF: registration failed\n", np);
 next:
                i++;
        }
 
                                 * allocate one static local variable for each
                                 * call to this function.
                                 */
-                               pr_info("p1022ds: disabling %s node",
-                                       np2->full_name);
+                               pr_info("p1022ds: disabling %pOF node",
+                                       np2);
                                of_update_property(np2, &nor_status);
                                of_node_put(np2);
                        }
                                        .length = sizeof("disabled"),
                                };
 
-                               pr_info("p1022ds: disabling %s node",
-                                       np2->full_name);
+                               pr_info("p1022ds: disabling %pOF node",
+                                       np2);
                                of_update_property(np2, &nand_status);
                                of_node_put(np2);
                        }
 
                err = of_address_to_resource(np, 0, &r[0]);
                if (err) {
                        printk(KERN_WARNING "xes_mpc85xx: Could not get "
-                              "resource for device tree node '%s'",
-                              np->full_name);
+                              "resource for device tree node '%pOF'",
+                              np);
                        continue;
                }
 
 
        const int *bus_range;
        struct pci_controller *hose;
 
-       printk(KERN_INFO "Adding PCI host bridge %s\n", dev->full_name);
+       printk(KERN_INFO "Adding PCI host bridge %pOF\n", dev);
 
        cfg_addr = of_get_address(dev, 0, NULL, NULL);
        cfg_data = of_get_address(dev, 1, NULL, NULL);
 
        bus_range = of_get_property(dev, "bus-range", &len);
        if ((bus_range == NULL) || (len < 2 * sizeof(int)))
-               printk(KERN_WARNING "Can't get bus-range for %s, assume"
-                      " bus 0\n", dev->full_name);
+               printk(KERN_WARNING "Can't get bus-range for %pOF, assume"
+                      " bus 0\n", dev);
 
        hose = pcibios_alloc_controller(dev);
        if (hose == NULL)
 
 
        irq_domain = irq_find_host(dn);
        if (!irq_domain) {
-               dev_dbg(&dev->dev, "axon_msi: no irq_domain found for node %s\n",
-                       dn->full_name);
+               dev_dbg(&dev->dev, "axon_msi: no irq_domain found for node %pOF\n",
+                       dn);
                goto out_error;
        }
 
        struct axon_msic *msic = dev_get_drvdata(&device->dev);
        u32 tmp;
 
-       pr_devel("axon_msi: disabling %s\n",
-                irq_domain_get_of_node(msic->irq_domain)->full_name);
+       pr_devel("axon_msi: disabling %pOF\n",
+                irq_domain_get_of_node(msic->irq_domain));
        tmp  = dcr_read(msic->dcr_host, MSIC_CTRL_REG);
        tmp &= ~MSIC_CTRL_ENABLE & ~MSIC_CTRL_IRQ_ENABLE;
        msic_dcr_write(msic, MSIC_CTRL_REG, tmp);
        unsigned int virq;
        int dcr_base, dcr_len;
 
-       pr_devel("axon_msi: setting up dn %s\n", dn->full_name);
+       pr_devel("axon_msi: setting up dn %pOF\n", dn);
 
        msic = kzalloc(sizeof(struct axon_msic), GFP_KERNEL);
        if (!msic) {
-               printk(KERN_ERR "axon_msi: couldn't allocate msic for %s\n",
-                      dn->full_name);
+               printk(KERN_ERR "axon_msi: couldn't allocate msic for %pOF\n",
+                      dn);
                goto out;
        }
 
 
        if (dcr_base == 0 || dcr_len == 0) {
                printk(KERN_ERR
-                      "axon_msi: couldn't parse dcr properties on %s\n",
-                       dn->full_name);
+                      "axon_msi: couldn't parse dcr properties on %pOF\n",
+                       dn);
                goto out_free_msic;
        }
 
        msic->dcr_host = dcr_map(dn, dcr_base, dcr_len);
        if (!DCR_MAP_OK(msic->dcr_host)) {
-               printk(KERN_ERR "axon_msi: dcr_map failed for %s\n",
-                      dn->full_name);
+               printk(KERN_ERR "axon_msi: dcr_map failed for %pOF\n",
+                      dn);
                goto out_free_msic;
        }
 
        msic->fifo_virt = dma_alloc_coherent(&device->dev, MSIC_FIFO_SIZE_BYTES,
                                             &msic->fifo_phys, GFP_KERNEL);
        if (!msic->fifo_virt) {
-               printk(KERN_ERR "axon_msi: couldn't allocate fifo for %s\n",
-                      dn->full_name);
+               printk(KERN_ERR "axon_msi: couldn't allocate fifo for %pOF\n",
+                      dn);
                goto out_free_msic;
        }
 
        virq = irq_of_parse_and_map(dn, 0);
        if (!virq) {
-               printk(KERN_ERR "axon_msi: irq parse and map failed for %s\n",
-                      dn->full_name);
+               printk(KERN_ERR "axon_msi: irq parse and map failed for %pOF\n",
+                      dn);
                goto out_free_fifo;
        }
        memset(msic->fifo_virt, 0xff, MSIC_FIFO_SIZE_BYTES);
        /* We rely on being able to stash a virq in a u16, so limit irqs to < 65536 */
        msic->irq_domain = irq_domain_add_nomap(dn, 65536, &msic_host_ops, msic);
        if (!msic->irq_domain) {
-               printk(KERN_ERR "axon_msi: couldn't allocate irq_domain for %s\n",
-                      dn->full_name);
+               printk(KERN_ERR "axon_msi: couldn't allocate irq_domain for %pOF\n",
+                      dn);
                goto out_free_fifo;
        }
 
 
        axon_msi_debug_setup(dn, msic);
 
-       printk(KERN_DEBUG "axon_msi: setup MSIC on %s\n", dn->full_name);
+       printk(KERN_DEBUG "axon_msi: setup MSIC on %pOF\n", dn);
 
        return 0;
 
 
        iic->node = of_node_get(node);
        out_be64(&iic->regs->prio, 0);
 
-       printk(KERN_INFO "IIC for CPU %d target id 0x%x : %s\n",
-              hw_cpu, iic->target_id, node->full_name);
+       printk(KERN_INFO "IIC for CPU %d target id 0x%x : %pOF\n",
+              hw_cpu, iic->target_id, node);
 }
 
 static int __init setup_iic(void)
 
                if (of_node_to_nid(np) != nid)
                        continue;
                if (of_address_to_resource(np, 0, &r)) {
-                       printk(KERN_ERR "iommu: can't get address for %s\n",
-                              np->full_name);
+                       printk(KERN_ERR "iommu: can't get address for %pOF\n",
+                              np);
                        continue;
                }
                *base = r.start;
 
        ioid = of_get_property(np, "ioid", NULL);
        if (ioid == NULL) {
-               printk(KERN_WARNING "iommu: missing ioid for %s using 0\n",
-                      np->full_name);
+               printk(KERN_WARNING "iommu: missing ioid for %pOF using 0\n",
+                      np);
                return 0;
        }
 
         */
        iommu = cell_iommu_for_node(dev_to_node(dev));
        if (iommu == NULL || list_empty(&iommu->windows)) {
-               dev_err(dev, "iommu: missing iommu for %s (node %d)\n",
-                      of_node_full_name(dev->of_node), dev_to_node(dev));
+               dev_err(dev, "iommu: missing iommu for %pOF (node %d)\n",
+                      dev->of_node, dev_to_node(dev));
                return NULL;
        }
        window = list_entry(iommu->windows.next, struct iommu_window, list);
        /* Get node ID */
        nid = of_node_to_nid(np);
        if (nid < 0) {
-               printk(KERN_ERR "iommu: failed to get node for %s\n",
-                      np->full_name);
+               printk(KERN_ERR "iommu: failed to get node for %pOF\n",
+                      np);
                return NULL;
        }
-       pr_debug("iommu: setting up iommu for node %d (%s)\n",
-                nid, np->full_name);
+       pr_debug("iommu: setting up iommu for node %d (%pOF)\n",
+                nid, np);
 
        /* XXX todo: If we can have multiple windows on the same IOMMU, which
         * isn't the case today, we probably want here to check whether the
         */
 
        if (cbe_nr_iommus >= NR_IOMMUS) {
-               printk(KERN_ERR "iommu: too many IOMMUs detected ! (%s)\n",
-                      np->full_name);
+               printk(KERN_ERR "iommu: too many IOMMUs detected ! (%pOF)\n",
+                      np);
                return NULL;
        }
 
 
        for_each_node_by_type(np, "cpu") {
                const u32 *nid = of_get_property(np, "node-id", NULL);
                if (!nid) {
-                       printk(KERN_ERR "%s: node %s is missing node-id?\n",
-                                       __func__, np->full_name);
+                       printk(KERN_ERR "%s: node %pOF is missing node-id?\n",
+                                       __func__, np);
                        continue;
                }
                cbe_ptcal_enable_on_node(*nid, order);
 
        struct resource r;
        unsigned long offset = (unsigned long)data;
 
-       pr_debug("SPIDERPCI-IOWA:Bus initialize for spider(%s)\n",
-                np->full_name);
+       pr_debug("SPIDERPCI-IOWA:Bus initialize for spider(%pOF)\n",
+                np);
 
        priv = kzalloc(sizeof(struct spiderpci_iowa_private), GFP_KERNEL);
        if (!priv) {
 
        irq_set_handler_data(virq, pic);
        irq_set_chained_handler(virq, spider_irq_cascade);
 
-       printk(KERN_INFO "spider_pic: node %d, addr: 0x%lx %s\n",
-              pic->node_id, addr, of_node->full_name);
+       printk(KERN_INFO "spider_pic: node %d, addr: 0x%lx %pOF\n",
+              pic->node_id, addr, of_node);
 
        /* Enable the interrupt detection enable bit. Do this last! */
        out_be32(pic->regs + TIR_DEN, in_be32(pic->regs + TIR_DEN) | 0x1);
 
                        goto err;
                }
                ret = -EINVAL;
-               pr_debug("  irq %d no 0x%x on %s\n", i, oirq.args[0],
-                        oirq.np->full_name);
+               pr_debug("  irq %d no 0x%x on %pOF\n", i, oirq.args[0],
+                        oirq.np);
                spu->irqs[i] = irq_create_of_mapping(&oirq);
                if (!spu->irqs[i]) {
                        pr_debug("spu_new: failed to map it !\n");
        ret = spu_map_resource(spu, 0, (void __iomem**)&spu->local_store,
                               &spu->local_store_phys);
        if (ret) {
-               pr_debug("spu_new: failed to map %s resource 0\n",
-                        np->full_name);
+               pr_debug("spu_new: failed to map %pOF resource 0\n",
+                        np);
                goto out;
        }
        ret = spu_map_resource(spu, 1, (void __iomem**)&spu->problem,
                               &spu->problem_phys);
        if (ret) {
-               pr_debug("spu_new: failed to map %s resource 1\n",
-                        np->full_name);
+               pr_debug("spu_new: failed to map %pOF resource 1\n",
+                        np);
                goto out_unmap;
        }
        ret = spu_map_resource(spu, 2, (void __iomem**)&spu->priv2, NULL);
        if (ret) {
-               pr_debug("spu_new: failed to map %s resource 2\n",
-                        np->full_name);
+               pr_debug("spu_new: failed to map %pOF resource 2\n",
+                        np);
                goto out_unmap;
        }
        if (!firmware_has_feature(FW_FEATURE_LPAR))
                ret = spu_map_resource(spu, 3,
                               (void __iomem**)&spu->priv1, NULL);
        if (ret) {
-               pr_debug("spu_new: failed to map %s resource 3\n",
-                        np->full_name);
+               pr_debug("spu_new: failed to map %pOF resource 3\n",
+                        np);
                goto out_unmap;
        }
-       pr_debug("spu_new: %s maps:\n", np->full_name);
+       pr_debug("spu_new: %pOF maps:\n", np);
        pr_debug("  local store   : 0x%016lx -> 0x%p\n",
                 spu->local_store_phys, spu->local_store);
        pr_debug("  problem state : 0x%016lx -> 0x%p\n",
 
        spu->node = of_node_to_nid(spe);
        if (spu->node >= MAX_NUMNODES) {
-               printk(KERN_WARNING "SPE %s on node %d ignored,"
-                      " node number too big\n", spe->full_name, spu->node);
+               printk(KERN_WARNING "SPE %pOF on node %d ignored,"
+                      " node number too big\n", spe, spu->node);
                printk(KERN_WARNING "Check if CONFIG_NUMA is enabled.\n");
                ret = -ENODEV;
                goto out;
 
                ++index;
                /* The GG2 bridge on the LongTrail doesn't have an address */
                if (of_address_to_resource(dev, 0, &r) && !is_longtrail) {
-                       printk(KERN_WARNING "Can't use %s: no address\n",
-                              dev->full_name);
+                       printk(KERN_WARNING "Can't use %pOF: no address\n",
+                              dev);
                        continue;
                }
                bus_range = of_get_property(dev, "bus-range", &len);
                if (bus_range == NULL || len < 2 * sizeof(int)) {
-                       printk(KERN_WARNING "Can't get bus-range for %s\n",
-                               dev->full_name);
+                       printk(KERN_WARNING "Can't get bus-range for %pOF\n",
+                               dev);
                        continue;
                }
                if (bus_range[1] == bus_range[0])
                else
                        printk(KERN_INFO "PCI buses %d..%d",
                               bus_range[0], bus_range[1]);
-               printk(" controlled by %s", dev->full_name);
+               printk(" controlled by %pOF", dev);
                if (!is_longtrail)
                        printk(" at %llx", (unsigned long long)r.start);
                printk("\n");
 
                hose = pcibios_alloc_controller(dev);
                if (!hose) {
-                       printk("Can't allocate PCI controller structure for %s\n",
-                               dev->full_name);
+                       printk("Can't allocate PCI controller structure for %pOF\n",
+                               dev);
                        continue;
                }
                hose->first_busno = hose->self_busno = bus_range[0];
                                }
                        }
                } else {
-                       printk("No methods for %s (model %s), using RTAS\n",
-                              dev->full_name, model);
+                       printk("No methods for %pOF (model %s), using RTAS\n",
+                              dev, model);
                        hose->ops = &rtas_pci_ops;
                }
 
 
        struct pci_controller *hose;
        const int *bus_range;
 
-       printk("Adding PCI host bridge %s\n", dev->full_name);
+       printk("Adding PCI host bridge %pOF\n", dev);
 
        bus_range = of_get_property(dev, "bus-range", &len);
        if (bus_range == NULL || len < 2 * sizeof(int))
-               printk(KERN_WARNING "Can't get bus-range for %s, assume"
-                               " bus 0\n", dev->full_name);
+               printk(KERN_WARNING "Can't get bus-range for %pOF, assume"
+                               " bus 0\n", dev);
 
        hose = pcibios_alloc_controller(dev);
        if (hose == NULL)
 
        struct pci_controller   *hose;
        unsigned short          devid;
 
-       pr_info("Adding PCI host bridge %s\n", dev->full_name);
+       pr_info("Adding PCI host bridge %pOF\n", dev);
 
        bus_range = of_get_property(dev, "bus-range", &len);
 
 
        struct pci_controller *hose;
        const int *bus_range;
 
-       printk("Adding PCI host bridge %s\n", dev->full_name);
+       printk("Adding PCI host bridge %pOF\n", dev);
 
        hose = pcibios_alloc_controller(dev);
        if (hose == NULL)
 
        /* Lookup the "bus-range" property for the hose */
        prop = of_find_property(bridge, "bus-range", &len);
        if (prop == NULL  || prop->value == NULL || len < 2 * sizeof(int)) {
-               printk(KERN_WARNING "Can't get bus-range for %s\n",
-                              bridge->full_name);
+               printk(KERN_WARNING "Can't get bus-range for %pOF\n",
+                              bridge);
                return;
        }
        bus_range = prop->value;
        const int *bus_range;
        int primary = 1;
 
-       DBG("Adding PCI host bridge %s\n", dev->full_name);
+       DBG("Adding PCI host bridge %pOF\n", dev);
 
        bus_range = of_get_property(dev, "bus-range", &len);
        if (bus_range == NULL || len < 2 * sizeof(int)) {
-               printk(KERN_WARNING "Can't get bus-range for %s, assume bus 0\n",
-               dev->full_name);
+               printk(KERN_WARNING "Can't get bus-range for %pOF, assume bus 0\n",
+               dev);
        }
 
        hose = pcibios_alloc_controller(dev);
 
 {
        struct pci_controller *hose;
 
-       pr_debug("Adding PCI host bridge %s\n", dev->full_name);
+       pr_debug("Adding PCI host bridge %pOF\n", dev);
 
        hose = pcibios_alloc_controller(dev);
        if (!hose)
 
 
        if (i >= MAX_MACIO_CHIPS) {
                printk(KERN_ERR "pmac_feature: Please increase MAX_MACIO_CHIPS !\n");
-               printk(KERN_ERR "pmac_feature: %s skipped\n", node->full_name);
+               printk(KERN_ERR "pmac_feature: %pOF skipped\n", node);
                return;
        }
        addrp = of_get_pci_address(node, 0, &size, NULL);
        if (addrp == NULL) {
-               printk(KERN_ERR "pmac_feature: %s: can't find base !\n",
-                      node->full_name);
+               printk(KERN_ERR "pmac_feature: %pOF: can't find base !\n",
+                      node);
                return;
        }
        addr = of_translate_address(node, addrp);
        if (addr == 0) {
-               printk(KERN_ERR "pmac_feature: %s, can't translate base !\n",
-                      node->full_name);
+               printk(KERN_ERR "pmac_feature: %pOF, can't translate base !\n",
+                      node);
                return;
        }
        base = ioremap(addr, (unsigned long)size);
        if (!base) {
-               printk(KERN_ERR "pmac_feature: %s, can't map mac-io chip !\n",
-                      node->full_name);
+               printk(KERN_ERR "pmac_feature: %pOF, can't map mac-io chip !\n",
+                      node);
                return;
        }
        if (type == macio_keylargo || type == macio_keylargo2) {
 
 
        host = kzalloc(sizeof(struct pmac_i2c_host_kw), GFP_KERNEL);
        if (host == NULL) {
-               printk(KERN_ERR "low_i2c: Can't allocate host for %s\n",
-                      np->full_name);
+               printk(KERN_ERR "low_i2c: Can't allocate host for %pOF\n",
+                      np);
                return NULL;
        }
 
         */
        addrp = of_get_property(np, "AAPL,address", NULL);
        if (addrp == NULL) {
-               printk(KERN_ERR "low_i2c: Can't find address for %s\n",
-                      np->full_name);
+               printk(KERN_ERR "low_i2c: Can't find address for %pOF\n",
+                      np);
                kfree(host);
                return NULL;
        }
        host->irq = irq_of_parse_and_map(np, 0);
        if (!host->irq)
                printk(KERN_WARNING
-                      "low_i2c: Failed to map interrupt for %s\n",
-                      np->full_name);
+                      "low_i2c: Failed to map interrupt for %pOF\n",
+                      np);
 
        host->base = ioremap((*addrp), 0x1000);
        if (host->base == NULL) {
-               printk(KERN_ERR "low_i2c: Can't map registers for %s\n",
-                      np->full_name);
+               printk(KERN_ERR "low_i2c: Can't map registers for %pOF\n",
+                      np);
                kfree(host);
                return NULL;
        }
                        "keywest i2c", host))
                host->irq = 0;
 
-       printk(KERN_INFO "KeyWest i2c @0x%08x irq %d %s\n",
-              *addrp, host->irq, np->full_name);
+       printk(KERN_INFO "KeyWest i2c @0x%08x irq %d %pOF\n",
+              *addrp, host->irq, np);
 
        return host;
 }
        if (busnode == NULL)
                return;
 
-       printk(KERN_INFO "PMU i2c %s\n", busnode->full_name);
+       printk(KERN_INFO "PMU i2c %pOF\n", busnode);
 
        /*
         * We add bus 1 and 2 only for now, bus 0 is "special"
        if (controller == NULL)
                return;
 
-       printk(KERN_INFO "SMU i2c %s\n", controller->full_name);
+       printk(KERN_INFO "SMU i2c %pOF\n", controller);
 
        /* Look for childs, note that they might not be of the right
         * type as older device trees mix i2c busses and other things
                bus->flags = 0;
                list_add(&bus->link, &pmac_i2c_busses);
 
-               printk(KERN_INFO " channel %x bus %s\n",
-                      bus->channel, busnode->full_name);
+               printk(KERN_INFO " channel %x bus %pOF\n",
+                      bus->channel, busnode);
        }
 }
 
         */
        if (mode < pmac_i2c_mode_dumb || mode > pmac_i2c_mode_combined) {
                printk(KERN_ERR "low_i2c: Invalid mode %d requested on"
-                      " bus %s !\n", mode, bus->busnode->full_name);
+                      " bus %pOF !\n", mode, bus->busnode);
                return -EINVAL;
        }
        bus->mode = mode;
        WARN_ON(!bus->opened);
 
        DBG("xfer() chan=%d, addrdir=0x%x, mode=%d, subsize=%d, subaddr=0x%x,"
-           " %d bytes, bus %s\n", bus->channel, addrdir, bus->mode, subsize,
-           subaddr, len, bus->busnode->full_name);
+           " %d bytes, bus %pOF\n", bus->channel, addrdir, bus->mode, subsize,
+           subaddr, len, bus->busnode);
 
        rc = bus->xfer(bus, addrdir, subsize, subaddr, data, len);
 
 
        bus = pmac_i2c_find_bus(func->node);
        if (bus == NULL) {
-               printk(KERN_ERR "low_i2c: Can't find bus for %s (pfunc)\n",
-                      func->node->full_name);
+               printk(KERN_ERR "low_i2c: Can't find bus for %pOF (pfunc)\n",
+                      func->node);
                return NULL;
        }
        if (pmac_i2c_open(bus, 0)) {
-               printk(KERN_ERR "low_i2c: Can't open i2c bus for %s (pfunc)\n",
-                      func->node->full_name);
+               printk(KERN_ERR "low_i2c: Can't open i2c bus for %pOF (pfunc)\n",
+                      func->node);
                return NULL;
        }
 
 
 static void __init pmac_i2c_dev_create(struct device_node *np, int quirks)
 {
-       DBG("dev_create(%s)\n", np->full_name);
+       DBG("dev_create(%pOF)\n", np);
 
        pmf_register_driver(np, &pmac_i2c_pfunc_handlers,
                            (void *)(long)quirks);
 
 static void __init pmac_i2c_dev_init(struct device_node *np, int quirks)
 {
-       DBG("dev_create(%s)\n", np->full_name);
+       DBG("dev_create(%pOF)\n", np);
 
        pmf_do_functions(np, NULL, 0, PMF_FLAGS_ON_INIT, NULL);
 }
 
 static void pmac_i2c_dev_suspend(struct device_node *np, int quirks)
 {
-       DBG("dev_suspend(%s)\n", np->full_name);
+       DBG("dev_suspend(%pOF)\n", np);
        pmf_do_functions(np, NULL, 0, PMF_FLAGS_ON_SLEEP, NULL);
 }
 
 static void pmac_i2c_dev_resume(struct device_node *np, int quirks)
 {
-       DBG("dev_resume(%s)\n", np->full_name);
+       DBG("dev_resume(%pOF)\n", np);
        pmf_do_functions(np, NULL, 0, PMF_FLAGS_ON_WAKE, NULL);
 }
 
 
        const int *bus_range;
        int primary = 1, has_address = 0;
 
-       DBG("Adding PCI host bridge %s\n", dev->full_name);
+       DBG("Adding PCI host bridge %pOF\n", dev);
 
        /* Fetch host bridge registers address */
        has_address = (of_address_to_resource(dev, 0, &rsrc) == 0);
        /* Get bus range if any */
        bus_range = of_get_property(dev, "bus-range", &len);
        if (bus_range == NULL || len < 2 * sizeof(int)) {
-               printk(KERN_WARNING "Can't get bus-range for %s, assume"
-                      " bus 0\n", dev->full_name);
+               printk(KERN_WARNING "Can't get bus-range for %pOF, assume"
+                      " bus 0\n", dev);
        }
 
        hose = pcibios_alloc_controller(dev);
 
        raw_spin_lock_irqsave(&feature_lock, flags);
        tmp = readb(addr);
        tmp = (tmp & ~mask) | (value & mask);
-       DBG("Do write 0x%02x to GPIO %s (%p)\n",
-           tmp, func->node->full_name, addr);
+       DBG("Do write 0x%02x to GPIO %pOF (%p)\n",
+           tmp, func->node, addr);
        writeb(tmp, addr);
        raw_spin_unlock_irqrestore(&feature_lock, flags);
 
        if (gparent == NULL)
                return;
 
-       DBG("Installing GPIO functions for macio %s\n",
-           macio->of_node->full_name);
+       DBG("Installing GPIO functions for macio %pOF\n",
+           macio->of_node);
 
        /*
         * Ok, got one, we dont need anything special to track them down, so
                pmf_register_driver(gp, &macio_gpio_handlers, (void *)offset);
        }
 
-       DBG("Calling initial GPIO functions for macio %s\n",
-           macio->of_node->full_name);
+       DBG("Calling initial GPIO functions for macio %pOF\n",
+           macio->of_node);
 
        /* And now we run all the init ones */
        for (gp = NULL; (gp = of_get_next_child(gparent, gp)) != NULL;)
 
 static void macio_mmio_init_one(struct macio_chip *macio)
 {
-       DBG("Installing MMIO functions for macio %s\n",
-           macio->of_node->full_name);
+       DBG("Installing MMIO functions for macio %pOF\n",
+           macio->of_node);
 
        pmf_register_driver(macio->of_node, &macio_mmio_handlers, macio);
 }
 {
        struct device_node *np;
 
-       DBG("Installing functions for UniN %s\n",
-           uninorth_node->full_name);
+       DBG("Installing functions for UniN %pOF\n",
+           uninorth_node);
 
        /*
         * Install handlers for the bridge itself
                        break;
                }
        if (unin_hwclock) {
-               DBG("Installing functions for UniN clock %s\n",
-                   unin_hwclock->full_name);
+               DBG("Installing functions for UniN clock %pOF\n",
+                   unin_hwclock);
                pmf_register_driver(unin_hwclock, &unin_mmio_handlers, NULL);
                pmf_do_functions(unin_hwclock, NULL, 0, PMF_FLAGS_ON_INIT,
                                 NULL);
 
        if (handlers == NULL)
                return -EINVAL;
 
-       DBG("pmf: registering driver for node %s\n", np->full_name);
+       DBG("pmf: registering driver for node %pOF\n", np);
 
        spin_lock_irqsave(&pmf_lock, flags);
        dev = pmf_find_device(np);
        struct pmf_device *dev;
        unsigned long flags;
 
-       DBG("pmf: unregistering driver for node %s\n", np->full_name);
+       DBG("pmf: unregistering driver for node %pOF\n", np);
 
        spin_lock_irqsave(&pmf_lock, flags);
        dev = pmf_find_device(np);
        void *instdata = NULL;
        int rc = 0;
 
-       DBG(" ** pmf_call_one(%s/%s) **\n", dev->node->full_name, func->name);
+       DBG(" ** pmf_call_one(%pOF/%s) **\n", dev->node, func->name);
 
        if (dev->handlers->begin)
                instdata = dev->handlers->begin(func, args);
 
                        (addr + 0x10);
        of_node_put(master);
 
-       printk(KERN_INFO "irq: Found primary Apple PIC %s for %d irqs\n",
-              master->full_name, max_real_irqs);
+       printk(KERN_INFO "irq: Found primary Apple PIC %pOF for %d irqs\n",
+              master, max_real_irqs);
 
        /* Map interrupts of cascaded controller */
        if (slave && !of_address_to_resource(slave, 0, &r)) {
                                (addr + 0x10);
                pmac_irq_cascade = irq_of_parse_and_map(slave, 0);
 
-               printk(KERN_INFO "irq: Found slave Apple PIC %s for %d irqs"
-                      " cascade: %d\n", slave->full_name,
+               printk(KERN_INFO "irq: Found slave Apple PIC %pOF for %d irqs"
+                      " cascade: %d\n", slave,
                       max_irqs - max_real_irqs, pmac_irq_cascade);
        }
        of_node_put(slave);
 
                pr_debug(" can't find stdout package %s !\n", name);
                return -ENODEV;
        }
-       pr_debug("stdout is %s\n", prom_stdout->full_name);
+       pr_debug("stdout is %pOF\n", prom_stdout);
 
        name = of_get_property(prom_stdout, "name", NULL);
        if (!name) {
 
 
        async = of_get_property(opal_node, "opal-msg-async-num", NULL);
        if (!async) {
-               pr_err("%s: %s has no opal-msg-async-num\n",
-                               __func__, opal_node->full_name);
+               pr_err("%s: %pOF has no opal-msg-async-num\n",
+                               __func__, opal_node);
                err = -ENOENT;
                goto out_opal_node;
        }
 
        const __be32 *gcid;
 
        if (!of_get_property(dev, "scom-controller", NULL)) {
-               pr_err("%s: device %s is not a SCOM controller\n",
-                       __func__, dev->full_name);
+               pr_err("%s: device %pOF is not a SCOM controller\n",
+                       __func__, dev);
                return SCOM_MAP_INVALID;
        }
        gcid = of_get_property(dev, "ibm,chip-id", NULL);
        if (!gcid) {
-               pr_err("%s: device %s has no ibm,chip-id\n",
-                       __func__, dev->full_name);
+               pr_err("%s: device %pOF has no ibm,chip-id\n",
+                       __func__, dev);
                return SCOM_MAP_INVALID;
        }
        m = kmalloc(sizeof(struct opal_scom_map), GFP_KERNEL);
 
 
        r = of_get_property(dn, "ibm,opal-m64-window", NULL);
        if (!r) {
-               pr_info("  No <ibm,opal-m64-window> on %s\n",
-                       dn->full_name);
+               pr_info("  No <ibm,opal-m64-window> on %pOF\n",
+                       dn);
                return;
        }
 
        if (!of_device_is_available(np))
                return;
 
-       pr_info("Initializing %s PHB (%s)\n",
-               pnv_phb_names[ioda_type], of_node_full_name(np));
+       pr_info("Initializing %s PHB (%pOF)\n", pnv_phb_names[ioda_type], np);
 
        prop64 = of_get_property(np, "ibm,opal-phbid", NULL);
        if (!prop64) {
        /* Allocate PCI controller */
        phb->hose = hose = pcibios_alloc_controller(np);
        if (!phb->hose) {
-               pr_err("  Can't allocate PCI controller for %s\n",
-                      np->full_name);
+               pr_err("  Can't allocate PCI controller for %pOF\n",
+                      np);
                memblock_free(__pa(phb), sizeof(struct pnv_phb));
                return;
        }
                hose->first_busno = be32_to_cpu(prop32[0]);
                hose->last_busno = be32_to_cpu(prop32[1]);
        } else {
-               pr_warn("  Broken <bus-range> on %s\n", np->full_name);
+               pr_warn("  Broken <bus-range> on %pOF\n", np);
                hose->first_busno = 0;
                hose->last_busno = 0xff;
        }
        const __be64 *prop64;
        u64 hub_id;
 
-       pr_info("Probing IODA IO-Hub %s\n", np->full_name);
+       pr_info("Probing IODA IO-Hub %pOF\n", np);
 
        prop64 = of_get_property(np, "ibm,opal-hubid", NULL);
        if (!prop64) {
 
 
        chip_id = of_get_ibm_chip_id(dn);
        if (chip_id == -1)
-               pr_warn("No ibm,chip-id found for %s.\n", dn->full_name);
+               pr_warn("No ibm,chip-id found for %pOF.\n", dn);
 
        for_each_possible_cpu(cpu) {
                if (per_cpu(powernv_rng, cpu) == NULL ||
        for_each_compatible_node(dn, NULL, "ibm,power-rng") {
                rc = rng_create(dn);
                if (rc) {
-                       pr_err("Failed creating rng for %s (%d).\n",
-                               dn->full_name, rc);
+                       pr_err("Failed creating rng for %pOF (%d).\n",
+                               dn, rc);
                        continue;
                }
 
 
 
        rc = of_attach_node(dn);
        if (rc) {
-               printk(KERN_ERR "Failed to add device node %s\n",
-                      dn->full_name);
+               printk(KERN_ERR "Failed to add device node %pOF\n", dn);
                return rc;
        }
 
 
                virqs[count] = irq_create_of_mapping(&oirq);
                if (!virqs[count]) {
                        pr_err("event-sources: Unable to allocate "
-                              "interrupt number for %s\n",
-                              np->full_name);
+                              "interrupt number for %pOF\n",
+                              np);
                        WARN_ON(1);
                } else {
                        count++;
        for (i = 0; i < count; i++) {
                if (request_irq(virqs[i], handler, 0, name, NULL)) {
                        pr_err("event-sources: Unable to request interrupt "
-                              "%d for %s\n", virqs[i], np->full_name);
+                              "%d for %pOF\n", virqs[i], np);
                        WARN_ON(1);
                        return;
                }
 
                /* If we get here, it most likely means that NR_CPUS is
                 * less than the partition's max processors setting.
                 */
-               printk(KERN_ERR "Cannot add cpu %s; this system configuration"
-                      " supports %d logical cpus.\n", np->full_name,
+               printk(KERN_ERR "Cannot add cpu %pOF; this system configuration"
+                      " supports %d logical cpus.\n", np,
                       num_possible_cpus());
                goto out_unlock;
        }
 
 static int ibmebus_match_path(struct device *dev, void *data)
 {
        struct device_node *dn = to_platform_device(dev)->dev.of_node;
-       return (dn->full_name &&
-               (strcasecmp((char *)data, dn->full_name) == 0));
+       return (of_find_node_by_path(data) == dn);
 }
 
 static int ibmebus_match_node(struct device *dev, void *data)
        struct platform_device *ofdev;
 
        ofdev = to_platform_device(dev);
-       return sprintf(buf, "%s\n", ofdev->dev.of_node->full_name);
+       return sprintf(buf, "%pOF\n", ofdev->dev.of_node);
 }
 static DEVICE_ATTR_RO(devspec);
 
 
        basep = of_get_property(node, "linux,tce-base", NULL);
        sizep = of_get_property(node, "linux,tce-size", NULL);
        if (basep == NULL || sizep == NULL) {
-               printk(KERN_ERR "PCI_DMA: iommu_table_setparms: %s has "
-                               "missing tce entries !\n", dn->full_name);
+               printk(KERN_ERR "PCI_DMA: iommu_table_setparms: %pOF has "
+                               "missing tce entries !\n", dn);
                return;
        }
 
 
        dn = pci_bus_to_OF_node(bus);
 
-       pr_debug("pci_dma_bus_setup_pSeries: setting up bus %s\n", dn->full_name);
+       pr_debug("pci_dma_bus_setup_pSeries: setting up bus %pOF\n", dn);
 
        if (bus->self) {
                /* This is not a root bus, any setup will be done for the
 
        dn = pci_bus_to_OF_node(bus);
 
-       pr_debug("pci_dma_bus_setup_pSeriesLP: setting up bus %s\n",
-                dn->full_name);
+       pr_debug("pci_dma_bus_setup_pSeriesLP: setting up bus %pOF\n",
+                dn);
 
        /* Find nearest ibm,dma-window, walking up the device tree */
        for (pdn = dn; pdn != NULL; pdn = pdn->parent) {
 
        ppci = PCI_DN(pdn);
 
-       pr_debug("  parent is %s, iommu_table: 0x%p\n",
-                pdn->full_name, ppci->table_group);
+       pr_debug("  parent is %pOF, iommu_table: 0x%p\n",
+                pdn, ppci->table_group);
 
        if (!ppci->table_group) {
                ppci->table_group = iommu_pseries_alloc_group(ppci->phb->node);
        ret = tce_clearrange_multi_pSeriesLP(0,
                1ULL << (be32_to_cpu(dwp->window_shift) - PAGE_SHIFT), dwp);
        if (ret)
-               pr_warning("%s failed to clear tces in window.\n",
-                        np->full_name);
+               pr_warning("%pOF failed to clear tces in window.\n",
+                        np);
        else
-               pr_debug("%s successfully cleared tces in window.\n",
-                        np->full_name);
+               pr_debug("%pOF successfully cleared tces in window.\n",
+                        np);
 
        ret = rtas_call(ddw_avail[2], 1, 1, NULL, liobn);
        if (ret)
-               pr_warning("%s: failed to remove direct window: rtas returned "
+               pr_warning("%pOF: failed to remove direct window: rtas returned "
                        "%d to ibm,remove-pe-dma-window(%x) %llx\n",
-                       np->full_name, ret, ddw_avail[2], liobn);
+                       np, ret, ddw_avail[2], liobn);
        else
-               pr_debug("%s: successfully removed direct window: rtas returned "
+               pr_debug("%pOF: successfully removed direct window: rtas returned "
                        "%d to ibm,remove-pe-dma-window(%x) %llx\n",
-                       np->full_name, ret, ddw_avail[2], liobn);
+                       np, ret, ddw_avail[2], liobn);
 
 delprop:
        if (remove_prop)
                ret = of_remove_property(np, win64);
        if (ret)
-               pr_warning("%s: failed to remove direct window property: %d\n",
-                       np->full_name, ret);
+               pr_warning("%pOF: failed to remove direct window property: %d\n",
+                       np, ret);
 }
 
 static u64 find_existing_ddw(struct device_node *pdn)
         * list.
         */
        list_for_each_entry(fpdn, &failed_ddw_pdn_list, list) {
-               if (!strcmp(fpdn->pdn->full_name, pdn->full_name))
+               if (fpdn->pdn == pdn)
                        goto out_unlock;
        }
 
        ddwprop->tce_shift = cpu_to_be32(page_shift);
        ddwprop->window_shift = cpu_to_be32(len);
 
-       dev_dbg(&dev->dev, "created tce table LIOBN 0x%x for %s\n",
-                 create.liobn, dn->full_name);
+       dev_dbg(&dev->dev, "created tce table LIOBN 0x%x for %pOF\n",
+                 create.liobn, dn);
 
        window = kzalloc(sizeof(*window), GFP_KERNEL);
        if (!window)
        ret = walk_system_ram_range(0, memblock_end_of_DRAM() >> PAGE_SHIFT,
                        win64->value, tce_setrange_multi_pSeriesLP_walk);
        if (ret) {
-               dev_info(&dev->dev, "failed to map direct window for %s: %d\n",
-                        dn->full_name, ret);
+               dev_info(&dev->dev, "failed to map direct window for %pOF: %d\n",
+                        dn, ret);
                goto out_free_window;
        }
 
        ret = of_add_property(pdn, win64);
        if (ret) {
-               dev_err(&dev->dev, "unable to add dma window property for %s: %d",
-                        pdn->full_name, ret);
+               dev_err(&dev->dev, "unable to add dma window property for %pOF: %d",
+                        pdn, ret);
                goto out_free_window;
        }
 
         * already allocated.
         */
        dn = pci_device_to_OF_node(dev);
-       pr_debug("  node is %s\n", dn->full_name);
+       pr_debug("  node is %pOF\n", dn);
 
        for (pdn = dn; pdn && PCI_DN(pdn) && !PCI_DN(pdn)->table_group;
             pdn = pdn->parent) {
 
        if (!pdn || !PCI_DN(pdn)) {
                printk(KERN_WARNING "pci_dma_dev_setup_pSeriesLP: "
-                      "no DMA window found for pci dev=%s dn=%s\n",
-                                pci_name(dev), of_node_full_name(dn));
+                      "no DMA window found for pci dev=%s dn=%pOF\n",
+                                pci_name(dev), dn);
                return;
        }
-       pr_debug("  parent is %s\n", pdn->full_name);
+       pr_debug("  parent is %pOF\n", pdn);
 
        pci = PCI_DN(pdn);
        if (!pci->table_group) {
        /* only attempt to use a new window if 64-bit DMA is requested */
        if (!disable_ddw && dma_mask == DMA_BIT_MASK(64)) {
                dn = pci_device_to_OF_node(pdev);
-               dev_dbg(dev, "node is %s\n", dn->full_name);
+               dev_dbg(dev, "node is %pOF\n", dn);
 
                /*
                 * the device tree might contain the dma-window properties
 
 
        p = of_get_property(dn, prop_name, NULL);
        if (!p) {
-               pr_debug("rtas_msi: No %s on %s\n", prop_name, dn->full_name);
+               pr_debug("rtas_msi: No %s on %pOF\n", prop_name, dn);
                return -ENOENT;
        }
 
        while (dn) {
                p = of_get_property(dn, "ibm,pe-total-#msi", NULL);
                if (p) {
-                       pr_debug("rtas_msi: found prop on dn %s\n",
-                               dn->full_name);
+                       pr_debug("rtas_msi: found prop on dn %pOF\n",
+                               dn);
                        *total = be32_to_cpup(p);
                        return dn;
                }
 
        /* Hardcode of 8 for old firmwares */
        *total = 8;
-       pr_debug("rtas_msi: using PE dn %s\n", dn->full_name);
+       pr_debug("rtas_msi: using PE dn %pOF\n", dn);
 
        return dn;
 }
        const __be32 *p;
        u32 class;
 
-       pr_debug("rtas_msi: counting %s\n", dn->full_name);
+       pr_debug("rtas_msi: counting %pOF\n", dn);
 
        p = of_get_property(dn, "class-code", NULL);
        class = p ? be32_to_cpup(p) : 0;
                goto out;
        }
 
-       pr_debug("rtas_msi: found PE %s\n", pe_dn->full_name);
+       pr_debug("rtas_msi: found PE %pOF\n", pe_dn);
 
        memset(&counts, 0, sizeof(struct msi_counts));
 
 
 {
        struct pci_controller *phb;
 
-       pr_debug("PCI: Initializing new hotplug PHB %s\n", dn->full_name);
+       pr_debug("PCI: Initializing new hotplug PHB %pOF\n", dn);
 
        phb = pcibios_alloc_controller(dn);
        if (!phb)
 
                else if (!strcmp(parent_node->type, "vdevice"))
                        family = VDEVICE;
                else {
-                       pr_warn("%s: parent(%s) of %s not recognized.\n",
+                       pr_warn("%s: parent(%pOF) of %s not recognized.\n",
                                        __func__,
-                                       parent_node->full_name,
+                                       parent_node,
                                        of_node_name);
                        of_node_put(parent_node);
                        return NULL;
 {
        struct device_node *of_node = dev->of_node;
 
-       return sprintf(buf, "%s\n", of_node_full_name(of_node));
+       return sprintf(buf, "%pOF\n", of_node);
 }
 static DEVICE_ATTR_RO(devspec);
 
 
 
        axon_ram_bank_id++;
 
-       dev_info(&device->dev, "Found memory controller on %s\n",
-                       device->dev.of_node->full_name);
+       dev_info(&device->dev, "Found memory controller on %pOF\n",
+                       device->dev.of_node);
 
        bank = kzalloc(sizeof(struct axon_ram_bank), GFP_KERNEL);
        if (bank == NULL) {
 
        dcr_host_mmio_t ret = { .token = NULL, .stride = 0, .base = dcr_n };
        u64 addr;
 
-       pr_debug("dcr_map(%s, 0x%x, 0x%x)\n",
-                dev->full_name, dcr_n, dcr_c);
+       pr_debug("dcr_map(%pOF, 0x%x, 0x%x)\n",
+                dev, dcr_n, dcr_c);
 
        addr = of_translate_dcr_address(dev, dcr_n, &ret.stride);
        pr_debug("translates to addr: 0x%llx, stride: 0x%x\n",
 
 
        if (!request_mem_region(cache_sram->base_phys, cache_sram->size,
                                                "fsl_85xx_cache_sram")) {
-               dev_err(&dev->dev, "%s: request memory failed\n",
-                               dev->dev.of_node->full_name);
+               dev_err(&dev->dev, "%pOF: request memory failed\n",
+                               dev->dev.of_node);
                ret = -ENXIO;
                goto out_free;
        }
        cache_sram->base_virt = ioremap_prot(cache_sram->base_phys,
                                cache_sram->size, _PAGE_COHERENT | PAGE_KERNEL);
        if (!cache_sram->base_virt) {
-               dev_err(&dev->dev, "%s: ioremap_prot failed\n",
-                               dev->dev.of_node->full_name);
+               dev_err(&dev->dev, "%pOF: ioremap_prot failed\n",
+                               dev->dev.of_node);
                ret = -ENOMEM;
                goto out_release;
        }
 
        cache_sram->rh = rh_create(sizeof(unsigned int));
        if (IS_ERR(cache_sram->rh)) {
-               dev_err(&dev->dev, "%s: Unable to create remote heap\n",
-                               dev->dev.of_node->full_name);
+               dev_err(&dev->dev, "%pOF: Unable to create remote heap\n",
+                               dev->dev.of_node);
                ret = PTR_ERR(cache_sram->rh);
                goto out_unmap;
        }
 
 
                gtm = kzalloc(sizeof(*gtm), GFP_KERNEL);
                if (!gtm) {
-                       pr_err("%s: unable to allocate memory\n",
-                               np->full_name);
+                       pr_err("%pOF: unable to allocate memory\n",
+                               np);
                        continue;
                }
 
 
                clock = of_get_property(np, "clock-frequency", &size);
                if (!clock || size != sizeof(*clock)) {
-                       pr_err("%s: no clock-frequency\n", np->full_name);
+                       pr_err("%pOF: no clock-frequency\n", np);
                        goto err;
                }
                gtm->clock = *clock;
 
                        irq = irq_of_parse_and_map(np, i);
                        if (!irq) {
-                               pr_err("%s: not enough interrupts specified\n",
-                                      np->full_name);
+                               pr_err("%pOF: not enough interrupts specified\n",
+                                      np);
                                goto err;
                        }
                        gtm->timers[i].irq = irq;
 
                gtm->regs = of_iomap(np, 0);
                if (!gtm->regs) {
-                       pr_err("%s: unable to iomap registers\n",
-                              np->full_name);
+                       pr_err("%pOF: unable to iomap registers\n",
+                              np);
                        goto err;
                }
 
 
                        phandle = np->phandle;
                else {
                        dev_err(&pdev->dev,
-                               "node %s has an invalid fsl,msi phandle %u\n",
-                               hose->dn->full_name, np->phandle);
+                               "node %pOF has an invalid fsl,msi phandle %u\n",
+                               hose->dn, np->phandle);
                        return -EINVAL;
                }
        }
        if ((features->fsl_pic_ip & FSL_PIC_IP_MASK) != FSL_PIC_IP_VMPIC) {
                err = of_address_to_resource(dev->dev.of_node, 0, &res);
                if (err) {
-                       dev_err(&dev->dev, "invalid resource for node %s\n",
-                               dev->dev.of_node->full_name);
+                       dev_err(&dev->dev, "invalid resource for node %pOF\n",
+                               dev->dev.of_node);
                        goto error_out;
                }
 
                msi->msi_regs = ioremap(res.start, resource_size(&res));
                if (!msi->msi_regs) {
                        err = -ENOMEM;
-                       dev_err(&dev->dev, "could not map node %s\n",
-                               dev->dev.of_node->full_name);
+                       dev_err(&dev->dev, "could not map node %pOF\n",
+                               dev->dev.of_node);
                        goto error_out;
                }
                msi->msiir_offset =
                for (irq_index = 0, i = 0; i < len / (2 * sizeof(u32)); i++) {
                        if (p[i * 2] % IRQS_PER_MSI_REG ||
                            p[i * 2 + 1] % IRQS_PER_MSI_REG) {
-                               pr_warn("%s: %s: msi available range of %u at %u is not IRQ-aligned\n",
-                                      __func__, dev->dev.of_node->full_name,
+                               pr_warn("%s: %pOF: msi available range of %u at %u is not IRQ-aligned\n",
+                                      __func__, dev->dev.of_node,
                                       p[i * 2 + 1], p[i * 2]);
                                err = -EINVAL;
                                goto error_out;
 
        u32 pcicsrbar = 0, pcicsrbar_sz;
        u32 piwar = PIWAR_EN | PIWAR_PF | PIWAR_TGI_LOCAL |
                        PIWAR_READ_SNOOP | PIWAR_WRITE_SNOOP;
-       const char *name = hose->dn->full_name;
        const u64 *reg;
        int len;
        bool setup_inbound;
        paddr_lo -= offset;
 
        if (paddr_hi == paddr_lo) {
-               pr_err("%s: No outbound window space\n", name);
+               pr_err("%pOF: No outbound window space\n", hose->dn);
                return;
        }
 
        if (paddr_lo == 0) {
-               pr_err("%s: No space for inbound window\n", name);
+               pr_err("%pOF: No space for inbound window\n", hose->dn);
                return;
        }
 
 
        paddr_lo = min(paddr_lo, (u64)pcicsrbar);
 
-       pr_info("%s: PCICSRBAR @ 0x%x\n", name, pcicsrbar);
+       pr_info("%pOF: PCICSRBAR @ 0x%x\n", hose->dn, pcicsrbar);
 
        /* Setup inbound mem window */
        mem = memblock_end_of_DRAM();
                u64 address = be64_to_cpup(reg);
 
                if ((address >= mem) && (address < (mem + PAGE_SIZE))) {
-                       pr_info("%s: extending DDR ATMU to cover MSIIR", name);
+                       pr_info("%pOF: extending DDR ATMU to cover MSIIR", hose->dn);
                        mem += PAGE_SIZE;
                } else {
                        /* TODO: Create a new ATMU for MSIIR */
-                       pr_warn("%s: msi-address-64 address of %llx is "
-                               "unsupported\n", name, address);
+                       pr_warn("%pOF: msi-address-64 address of %llx is "
+                               "unsupported\n", hose->dn, address);
                }
        }
 
                if ((1ull << mem_log) != mem) {
                        mem_log++;
                        if ((1ull << mem_log) > mem)
-                               pr_info("%s: Setting PCI inbound window "
-                                       "greater than memory size\n", name);
+                               pr_info("%pOF: Setting PCI inbound window "
+                                       "greater than memory size\n", hose->dn);
                }
 
                piwar |= ((mem_log - 1) & PIWAR_SZ_MASK);
                         */
                        ppc_md.dma_set_mask = fsl_pci_dma_set_mask;
 
-                       pr_info("%s: Setup 64-bit PCI DMA window\n", name);
+                       pr_info("%pOF: Setup 64-bit PCI DMA window\n", hose->dn);
                }
        } else {
                u64 paddr = 0;
 #ifdef CONFIG_SWIOTLB
                ppc_swiotlb_enable = 1;
 #else
-               pr_err("%s: ERROR: Memory size exceeds PCI ATMU ability to "
+               pr_err("%pOF: ERROR: Memory size exceeds PCI ATMU ability to "
                        "map - enable CONFIG_SWIOTLB to avoid dma errors.\n",
-                        name);
+                        hose->dn);
 #endif
                /* adjusting outbound windows could reclaim space in mem map */
                if (paddr_hi < 0xffffffffull)
-                       pr_warning("%s: WARNING: Outbound window cfg leaves "
+                       pr_warning("%pOF: WARNING: Outbound window cfg leaves "
                                "gaps in memory map. Adjusting the memory map "
                                "could reduce unnecessary bounce buffering.\n",
-                               name);
+                               hose->dn);
 
-               pr_info("%s: DMA window size is 0x%llx\n", name,
+               pr_info("%pOF: DMA window size is 0x%llx\n", hose->dn,
                        (u64)hose->dma_window_size);
        }
 }
        dev = pdev->dev.of_node;
 
        if (!of_device_is_available(dev)) {
-               pr_warning("%s: disabled\n", dev->full_name);
+               pr_warning("%pOF: disabled\n", dev);
                return -ENODEV;
        }
 
-       pr_debug("Adding PCI host bridge %s\n", dev->full_name);
+       pr_debug("Adding PCI host bridge %pOF\n", dev);
 
        /* Fetch host bridge registers address */
        if (of_address_to_resource(dev, 0, &rsrc)) {
        /* Get bus range if any */
        bus_range = of_get_property(dev, "bus-range", &len);
        if (bus_range == NULL || len < 2 * sizeof(int))
-               printk(KERN_WARNING "Can't get bus-range for %s, assume"
-                       " bus 0\n", dev->full_name);
+               printk(KERN_WARNING "Can't get bus-range for %pOF, assume"
+                       " bus 0\n", dev);
 
        pci_add_flags(PCI_REASSIGN_ALL_BUS);
        hose = pcibios_alloc_controller(dev);
        is_mpc83xx_pci = 1;
 
        if (!of_device_is_available(dev)) {
-               pr_warning("%s: disabled by the firmware.\n",
-                          dev->full_name);
+               pr_warning("%pOF: disabled by the firmware.\n",
+                          dev);
                return -ENODEV;
        }
-       pr_debug("Adding PCI host bridge %s\n", dev->full_name);
+       pr_debug("Adding PCI host bridge %pOF\n", dev);
 
        /* Fetch host bridge registers address */
        if (of_address_to_resource(dev, 0, &rsrc_reg)) {
        /* Get bus range if any */
        bus_range = of_get_property(dev, "bus-range", &len);
        if (bus_range == NULL || len < 2 * sizeof(int)) {
-               printk(KERN_WARNING "Can't get bus-range for %s, assume"
-                      " bus 0\n", dev->full_name);
+               printk(KERN_WARNING "Can't get bus-range for %pOF, assume"
+                      " bus 0\n", dev);
        }
 
        pci_add_flags(PCI_REASSIGN_ALL_BUS);
 
 
        rc = of_address_to_resource(dev->dev.of_node, 0, ®s);
        if (rc) {
-               dev_err(&dev->dev, "Can't get %s property 'reg'\n",
-                               dev->dev.of_node->full_name);
+               dev_err(&dev->dev, "Can't get %pOF property 'reg'\n",
+                               dev->dev.of_node);
                return -EFAULT;
        }
-       dev_info(&dev->dev, "Of-device full name %s\n",
-                       dev->dev.of_node->full_name);
+       dev_info(&dev->dev, "Of-device full name %pOF\n",
+                       dev->dev.of_node);
        dev_info(&dev->dev, "Regs: %pR\n", ®s);
 
        rio_regs_win = ioremap(regs.start, resource_size(®s));
        }
        rc = of_address_to_resource(rmu_node, 0, &rmu_regs);
        if (rc) {
-               dev_err(&dev->dev, "Can't get %s property 'reg'\n",
-                               rmu_node->full_name);
+               dev_err(&dev->dev, "Can't get %pOF property 'reg'\n",
+                               rmu_node);
                goto err_rmu;
        }
        rmu_regs_win = ioremap(rmu_regs.start, resource_size(&rmu_regs));
        aw = of_n_addr_cells(np);
        dt_range = of_get_property(np, "reg", &rlen);
        if (!dt_range) {
-               pr_err("%s: unable to find 'reg' property\n",
-                       np->full_name);
+               pr_err("%pOF: unable to find 'reg' property\n",
+                       np);
                rc = -ENOMEM;
                goto err_pw;
        }
        aw = of_n_addr_cells(np);
        dt_range = of_get_property(np, "reg", &rlen);
        if (!dt_range) {
-               pr_err("%s: unable to find 'reg' property\n",
-                       np->full_name);
+               pr_err("%pOF: unable to find 'reg' property\n",
+                       np);
                rc = -ENOMEM;
                goto err;
        }
        for_each_child_of_node(dev->dev.of_node, np) {
                port_index = of_get_property(np, "cell-index", NULL);
                if (!port_index) {
-                       dev_err(&dev->dev, "Can't get %s property 'cell-index'\n",
-                                       np->full_name);
+                       dev_err(&dev->dev, "Can't get %pOF property 'cell-index'\n",
+                                       np);
                        continue;
                }
 
                dt_range = of_get_property(np, "ranges", &rlen);
                if (!dt_range) {
-                       dev_err(&dev->dev, "Can't get %s property 'ranges'\n",
-                                       np->full_name);
+                       dev_err(&dev->dev, "Can't get %pOF property 'ranges'\n",
+                                       np);
                        continue;
                }
 
                range_start = of_read_number(dt_range + aw, paw);
                range_size = of_read_number(dt_range + aw + paw, sw);
 
-               dev_info(&dev->dev, "%s: LAW start 0x%016llx, size 0x%016llx.\n",
-                               np->full_name, range_start, range_size);
+               dev_info(&dev->dev, "%pOF: LAW start 0x%016llx, size 0x%016llx.\n",
+                               np, range_start, range_size);
 
                port = kzalloc(sizeof(struct rio_mport), GFP_KERNEL);
                if (!port)
  */
 static int fsl_of_rio_rpn_probe(struct platform_device *dev)
 {
-       printk(KERN_INFO "Setting up RapidIO peer-to-peer network %s\n",
-                       dev->dev.of_node->full_name);
+       printk(KERN_INFO "Setting up RapidIO peer-to-peer network %pOF\n",
+                       dev->dev.of_node);
 
        return fsl_rio_setup(dev);
 };
 
        priv = mport->priv;
 
        if (!node) {
-               dev_warn(priv->dev, "Can't get %s property 'fsl,rmu'\n",
-                       priv->dev->of_node->full_name);
+               dev_warn(priv->dev, "Can't get %pOF property 'fsl,rmu'\n",
+                       priv->dev->of_node);
                return -EINVAL;
        }
 
        aw = of_n_addr_cells(node);
        msg_addr = of_get_property(node, "reg", &mlen);
        if (!msg_addr) {
-               pr_err("%s: unable to find 'reg' property of message-unit\n",
-                       node->full_name);
+               pr_err("%pOF: unable to find 'reg' property of message-unit\n",
+                       node);
                kfree(rmu);
                return -ENOMEM;
        }
 
        rmu->txirq = irq_of_parse_and_map(node, 0);
        rmu->rxirq = irq_of_parse_and_map(node, 1);
-       printk(KERN_INFO "%s: txirq: %d, rxirq %d\n",
-               node->full_name, rmu->txirq, rmu->rxirq);
+       printk(KERN_INFO "%pOF: txirq: %d, rxirq %d\n",
+               node, rmu->txirq, rmu->rxirq);
 
        priv->rmm_handle = rmu;
 
 
        if (mpic->flags & MPIC_SECONDARY) {
                int virq = irq_of_parse_and_map(mpic->node, 0);
                if (virq) {
-                       printk(KERN_INFO "%s: hooking up to IRQ %d\n",
-                                       mpic->node->full_name, virq);
+                       printk(KERN_INFO "%pOF: hooking up to IRQ %d\n",
+                                       mpic->node, virq);
                        irq_set_handler_data(virq, mpic);
                        irq_set_chained_handler(virq, &mpic_cascade);
                }
 
                        return -ENOMEM;
                }
        }
-       dev_info(&dev->dev, "Of-device full name %s\n", np->full_name);
+       dev_info(&dev->dev, "Of-device full name %pOF\n", np);
 
        /* IO map the message register block. */
        of_address_to_resource(np, 0, &rsrc);
 
 
        np = NULL;
        while ((np = of_find_all_nodes(np))) {
-               pr_debug("mpic: mapping hwirqs for %s\n", np->full_name);
+               pr_debug("mpic: mapping hwirqs for %pOF\n", np);
 
                index = 0;
                while (of_irq_parse_one(np, index++, &oirq) == 0) {
 
 
        p = of_get_property(np, "fsl,available-ranges", &len);
        if (p && len % (2 * sizeof(u32)) != 0) {
-               pr_err("%s: malformed available-ranges property.\n",
-                               np->full_name);
+               pr_err("%pOF: malformed available-ranges property.\n", np);
                return -EINVAL;
        }
 
                for (j = 0; j < count; j++) {
                        irq = irq_of_parse_and_map(np, irq_index);
                        if (!irq) {
-                               pr_err("%s: irq parse and map failed.\n",
-                                               np->full_name);
+                               pr_err("%pOF: irq parse and map failed.\n", np);
                                return -EINVAL;
                        }
 
 
        priv = kzalloc(sizeof(struct timer_group_priv), GFP_KERNEL);
        if (!priv) {
-               pr_err("%s: cannot allocate memory for group.\n",
-                               np->full_name);
+               pr_err("%pOF: cannot allocate memory for group.\n", np);
                return;
        }
 
 
        priv->regs = of_iomap(np, i++);
        if (!priv->regs) {
-               pr_err("%s: cannot ioremap timer register address.\n",
-                               np->full_name);
+               pr_err("%pOF: cannot ioremap timer register address.\n", np);
                goto out;
        }
 
        if (priv->flags & FSL_GLOBAL_TIMER) {
                priv->group_tcr = of_iomap(np, i++);
                if (!priv->group_tcr) {
-                       pr_err("%s: cannot ioremap tcr address.\n",
-                                       np->full_name);
+                       pr_err("%pOF: cannot ioremap tcr address.\n", np);
                        goto out;
                }
        }
 
        ret = timer_group_get_freq(np, priv);
        if (ret < 0) {
-               pr_err("%s: cannot get timer frequency.\n", np->full_name);
+               pr_err("%pOF: cannot get timer frequency.\n", np);
                goto out;
        }
 
        ret = timer_group_get_irq(np, priv);
        if (ret < 0) {
-               pr_err("%s: cannot get timer irqs.\n", np->full_name);
+               pr_err("%pOF: cannot get timer irqs.\n", np);
                goto out;
        }
 
 
        p = of_get_property(bmp->of_node, "msi-available-ranges", &len);
        if (!p) {
                pr_debug("msi_bitmap: no msi-available-ranges property " \
-                        "found on %s\n", bmp->of_node->full_name);
+                        "found on %pOF\n", bmp->of_node);
                return 1;
        }
 
        if (len % (2 * sizeof(u32)) != 0) {
                printk(KERN_WARNING "msi_bitmap: Malformed msi-available-ranges"
-                      " property on %s\n", bmp->of_node->full_name);
+                      " property on %pOF\n", bmp->of_node);
                return -EINVAL;
        }
 
 
                err = mv64x60_mpsc_device_setup(np, id++);
                if (err)
                        printk(KERN_ERR "Failed to initialize MV64x60 "
-                                       "serial device %s: error %d.\n",
-                                       np->full_name, err);
+                                       "serial device %pOF: error %d.\n",
+                                       np, err);
        }
 
        id = 0;
                if (IS_ERR(pdev)) {
                        err = PTR_ERR(pdev);
                        printk(KERN_ERR "Failed to initialize MV64x60 "
-                                       "network block %s: error %d.\n",
-                                       np->full_name, err);
+                                       "network block %pOF: error %d.\n",
+                                       np, err);
                        continue;
                }
                for_each_child_of_node(np, np2) {
                        err = mv64x60_eth_device_setup(np2, id2++, pdev);
                        if (err)
                                printk(KERN_ERR "Failed to initialize "
-                                               "MV64x60 network device %s: "
+                                               "MV64x60 network device %pOF: "
                                                "error %d.\n",
-                                               np2->full_name, err);
+                                               np2, err);
                }
        }
 
                err = mv64x60_i2c_device_setup(np, id++);
                if (err)
                        printk(KERN_ERR "Failed to initialize MV64x60 I2C "
-                                       "bus %s: error %d.\n",
-                                       np->full_name, err);
+                                       "bus %pOF: error %d.\n",
+                                       np, err);
        }
 
        /* support up to one watchdog timer */
        if (np) {
                if ((err = mv64x60_wdt_device_setup(np, id)))
                        printk(KERN_ERR "Failed to initialize MV64x60 "
-                                       "Watchdog %s: error %d.\n",
-                                       np->full_name, err);
+                                       "Watchdog %pOF: error %d.\n",
+                                       np, err);
                of_node_put(np);
        }
 
 
        /* Get bus range if any */
        bus_range = of_get_property(dev, "bus-range", &len);
        if (bus_range == NULL || len < 2 * sizeof(int))
-               printk(KERN_WARNING "Can't get bus-range for %s, assume"
-                      " bus 0\n", dev->full_name);
+               printk(KERN_WARNING "Can't get bus-range for %pOF, assume"
+                      " bus 0\n", dev);
 
        hose = pcibios_alloc_controller(dev);
        if (!hose)
 
                        res = kmalloc(sizeof(*res), GFP_KERNEL);
                        if (!res) {
                                printk(KERN_ERR "OF RTC: Out of memory "
-                                      "allocating resource structure for %s\n",
-                                      node->full_name);
+                                      "allocating resource structure for %pOF\n",
+                                      node);
                                continue;
                        }
 
                        err = of_address_to_resource(node, 0, res);
                        if (err) {
                                printk(KERN_ERR "OF RTC: Error "
-                                      "translating resources for %s\n",
-                                      node->full_name);
+                                      "translating resources for %pOF\n",
+                                      node);
                                continue;
                        }
 
-                       printk(KERN_INFO "OF_RTC: %s is a %s @ 0x%llx-0x%llx\n",
-                              node->full_name, plat_name,
+                       printk(KERN_INFO "OF_RTC: %pOF is a %s @ 0x%llx-0x%llx\n",
+                              node, plat_name,
                               (unsigned long long)res->start,
                               (unsigned long long)res->end);
                        platform_device_register_simple(plat_name, -1, res, 1);
 
 
        ent->dn = of_node_get(dn);
        snprintf(ent->name, 16, "%08x", i);
-       ent->path.data = (void*) dn->full_name;
-       ent->path.size = strlen(dn->full_name);
+       ent->path.data = (void*)kasprintf(GFP_KERNEL, "%pOF", dn);
+       ent->path.size = strlen((char *)ent->path.data);
 
        dir = debugfs_create_dir(ent->name, root);
        if (!dir) {
                of_node_put(dn);
+               kfree(ent->path.data);
                kfree(ent);
                return -1;
        }
 
                }
                continue;
 err:
-               pr_err("%s: registration failed, status %d\n",
-                      np->full_name, ret);
+               pr_err("%pOF: registration failed, status %d\n", np, ret);
        }
 }
 
        /* Get bus range if any */
        bus_range = of_get_property(dev, "bus-range", &len);
        if (bus_range == NULL || len < 2 * sizeof(int)) {
-               printk(KERN_WARNING "Can't get bus-range for %s, assume"
-                      " bus 0\n", dev->full_name);
+               printk(KERN_WARNING "Can't get bus-range for %pOF, assume"
+                      " bus 0\n", dev);
        }
 
        hose = pcibios_alloc_controller(dev);
 
                pr_devel("not found !\n");
                return false;
        }
-       pr_devel("Found %s\n", np->full_name);
+       pr_devel("Found %pOF\n", np);
 
        /* Resource 1 is HV window */
        if (of_address_to_resource(np, 1, &r)) {