Merge tag 'devicetree-for-4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux
Pull Devicetree updates from Rob Herring: "The biggest highlight here is the start of using json-schema for DT bindings. Being able to validate bindings has been discussed for years with little progress. - Initial support for DT bindings using json-schema language. This is the start of converting DT bindings from free-form text to a structured format. - Reworking of initrd address initialization. This moves to using the phys address instead of virt addr in the DT parsing code. This rework was motivated by CONFIG_DEV_BLK_INITRD causing unnecessary rebuilding of lots of files. - Fix stale phandle entries in phandle cache - DT overlay validation improvements. This exposed several memory leak bugs which have been fixed. - Use node name and device_type helper functions in DT code - Last remaining conversions to using %pOFn printk specifier instead of device_node.name directly - Create new common RTC binding doc and move all trivial RTC devices out of trivial-devices.txt. - New bindings for Freescale MAG3110 magnetometer, Cadence Sierra PHY, and Xen shared memory - Update dtc to upstream version v1.4.7-57-gf267e674d145" * tag 'devicetree-for-4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (68 commits) of: __of_detach_node() - remove node from phandle cache of: of_node_get()/of_node_put() nodes held in phandle cache gpio-omap.txt: add reg and interrupts properties dt-bindings: mrvl,intc: fix a trivial typo dt-bindings: iio: magnetometer: add dt-bindings for freescale mag3110 dt-bindings: Convert trivial-devices.txt to json-schema dt-bindings: arm: mrvl: amend Browstone compatible string dt-bindings: arm: Convert Tegra board/soc bindings to json-schema dt-bindings: arm: Convert ZTE board/soc bindings to json-schema dt-bindings: arm: Add missing Xilinx boards dt-bindings: arm: Convert Xilinx board/soc bindings to json-schema dt-bindings: arm: Convert VIA board/soc bindings to json-schema dt-bindings: arm: Convert ST STi board/soc bindings to json-schema dt-bindings: arm: Convert SPEAr board/soc bindings to json-schema dt-bindings: arm: Convert CSR SiRF board/soc bindings to json-schema dt-bindings: arm: Convert QCom board/soc bindings to json-schema dt-bindings: arm: Convert TI nspire board/soc bindings to json-schema dt-bindings: arm: Convert TI davinci board/soc bindings to json-schema dt-bindings: arm: Convert Calxeda board/soc bindings to json-schema dt-bindings: arm: Convert Altera board/soc bindings to json-schema ...
This commit is contained in:
@@ -1199,8 +1199,8 @@ static void __init gic_populate_ppi_partitions(struct device_node *gic_node)
|
||||
|
||||
part->partition_id = of_node_to_fwnode(child_part);
|
||||
|
||||
pr_info("GIC: PPI partition %s[%d] { ",
|
||||
child_part->name, part_idx);
|
||||
pr_info("GIC: PPI partition %pOFn[%d] { ",
|
||||
child_part, part_idx);
|
||||
|
||||
n = of_property_count_elems_of_size(child_part, "affinity",
|
||||
sizeof(u32));
|
||||
|
@@ -64,14 +64,14 @@ static int __init orion_irq_init(struct device_node *np,
|
||||
num_chips * ORION_IRQS_PER_CHIP,
|
||||
&irq_generic_chip_ops, NULL);
|
||||
if (!orion_irq_domain)
|
||||
panic("%s: unable to add irq domain\n", np->name);
|
||||
panic("%pOFn: unable to add irq domain\n", np);
|
||||
|
||||
ret = irq_alloc_domain_generic_chips(orion_irq_domain,
|
||||
ORION_IRQS_PER_CHIP, 1, np->name,
|
||||
ORION_IRQS_PER_CHIP, 1, np->full_name,
|
||||
handle_level_irq, clr, 0,
|
||||
IRQ_GC_INIT_MASK_CACHE);
|
||||
if (ret)
|
||||
panic("%s: unable to alloc irq domain gc\n", np->name);
|
||||
panic("%pOFn: unable to alloc irq domain gc\n", np);
|
||||
|
||||
for (n = 0, base = 0; n < num_chips; n++, base += ORION_IRQS_PER_CHIP) {
|
||||
struct irq_chip_generic *gc =
|
||||
@@ -80,12 +80,12 @@ static int __init orion_irq_init(struct device_node *np,
|
||||
of_address_to_resource(np, n, &r);
|
||||
|
||||
if (!request_mem_region(r.start, resource_size(&r), np->name))
|
||||
panic("%s: unable to request mem region %d",
|
||||
np->name, n);
|
||||
panic("%pOFn: unable to request mem region %d",
|
||||
np, n);
|
||||
|
||||
gc->reg_base = ioremap(r.start, resource_size(&r));
|
||||
if (!gc->reg_base)
|
||||
panic("%s: unable to map resource %d", np->name, n);
|
||||
panic("%pOFn: unable to map resource %d", np, n);
|
||||
|
||||
gc->chip_types[0].regs.mask = ORION_IRQ_MASK;
|
||||
gc->chip_types[0].chip.irq_mask = irq_gc_mask_clr_bit;
|
||||
@@ -150,20 +150,20 @@ static int __init orion_bridge_irq_init(struct device_node *np,
|
||||
domain = irq_domain_add_linear(np, nrirqs,
|
||||
&irq_generic_chip_ops, NULL);
|
||||
if (!domain) {
|
||||
pr_err("%s: unable to add irq domain\n", np->name);
|
||||
pr_err("%pOFn: unable to add irq domain\n", np);
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
ret = irq_alloc_domain_generic_chips(domain, nrirqs, 1, np->name,
|
||||
handle_edge_irq, clr, 0, IRQ_GC_INIT_MASK_CACHE);
|
||||
if (ret) {
|
||||
pr_err("%s: unable to alloc irq domain gc\n", np->name);
|
||||
pr_err("%pOFn: unable to alloc irq domain gc\n", np);
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret = of_address_to_resource(np, 0, &r);
|
||||
if (ret) {
|
||||
pr_err("%s: unable to get resource\n", np->name);
|
||||
pr_err("%pOFn: unable to get resource\n", np);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -175,14 +175,14 @@ static int __init orion_bridge_irq_init(struct device_node *np,
|
||||
/* Map the parent interrupt for the chained handler */
|
||||
irq = irq_of_parse_and_map(np, 0);
|
||||
if (irq <= 0) {
|
||||
pr_err("%s: unable to parse irq\n", np->name);
|
||||
pr_err("%pOFn: unable to parse irq\n", np);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
gc = irq_get_domain_generic_chip(domain, 0);
|
||||
gc->reg_base = ioremap(r.start, resource_size(&r));
|
||||
if (!gc->reg_base) {
|
||||
pr_err("%s: unable to map resource\n", np->name);
|
||||
pr_err("%pOFn: unable to map resource\n", np);
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
|
@@ -115,21 +115,21 @@ static int __init of_tb10x_init_irq(struct device_node *ictl,
|
||||
void __iomem *reg_base;
|
||||
|
||||
if (of_address_to_resource(ictl, 0, &mem)) {
|
||||
pr_err("%s: No registers declared in DeviceTree.\n",
|
||||
ictl->name);
|
||||
pr_err("%pOFn: No registers declared in DeviceTree.\n",
|
||||
ictl);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (!request_mem_region(mem.start, resource_size(&mem),
|
||||
ictl->name)) {
|
||||
pr_err("%s: Request mem region failed.\n", ictl->name);
|
||||
ictl->full_name)) {
|
||||
pr_err("%pOFn: Request mem region failed.\n", ictl);
|
||||
return -EBUSY;
|
||||
}
|
||||
|
||||
reg_base = ioremap(mem.start, resource_size(&mem));
|
||||
if (!reg_base) {
|
||||
ret = -EBUSY;
|
||||
pr_err("%s: ioremap failed.\n", ictl->name);
|
||||
pr_err("%pOFn: ioremap failed.\n", ictl);
|
||||
goto ioremap_fail;
|
||||
}
|
||||
|
||||
@@ -137,8 +137,8 @@ static int __init of_tb10x_init_irq(struct device_node *ictl,
|
||||
&irq_generic_chip_ops, NULL);
|
||||
if (!domain) {
|
||||
ret = -ENOMEM;
|
||||
pr_err("%s: Could not register interrupt domain.\n",
|
||||
ictl->name);
|
||||
pr_err("%pOFn: Could not register interrupt domain.\n",
|
||||
ictl);
|
||||
goto irq_domain_add_fail;
|
||||
}
|
||||
|
||||
@@ -147,8 +147,8 @@ static int __init of_tb10x_init_irq(struct device_node *ictl,
|
||||
IRQ_NOREQUEST, IRQ_NOPROBE,
|
||||
IRQ_GC_INIT_MASK_CACHE);
|
||||
if (ret) {
|
||||
pr_err("%s: Could not allocate generic interrupt chip.\n",
|
||||
ictl->name);
|
||||
pr_err("%pOFn: Could not allocate generic interrupt chip.\n",
|
||||
ictl);
|
||||
goto gc_alloc_fail;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user