Merge tag 'devicetree-for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux
Pull DeviceTree updates from Rob Herring: "A fairly large (by DT standards) pull request this time with the majority being some overdue moving DT binding docs around to consolidate similar bindings. - DT binding doc consolidation moving similar bindings to common locations. The majority of these are display related which were scattered in video/, fb/, drm/, gpu/, and panel/ directories. - Add new config option, CONFIG_OF_ALL_DTBS, to enable building all dtbs in the tree for most arches with dts files (except powerpc for now). - OF_IRQ=n fixes for user enabled CONFIG_OF. - of_node_put ref counting fixes from Julia Lawall. - Common DT binding for wakeup-source and deprecation of all similar bindings. - DT binding for PXA LCD controller. - Allow ignoring failed PCI resource translations in order to ignore 64-bit addresses on non-LPAE 32-bit kernels. - Support setting the NUMA node from DT instead of only from parent device. - Couple of earlycon DT parsing fixes for address and options" * tag 'devicetree-for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (45 commits) MAINTAINERS: update DT binding doc locations devicetree: add Sigma Designs vendor prefix of: simplify arch_find_n_match_cpu_physical_id() function Documentation: arm: Fixed typo in socfpga fpga mgr example Documentation: devicetree: fix reference to legacy wakeup properties Documentation: devicetree: standardize/consolidate on "wakeup-source" property drivers: of: removing assignment of 0 to static variable xtensa: enable building of all dtbs mips: enable building of all dtbs metag: enable building of all dtbs metag: use common make variables for dtb builds h8300: enable building of all dtbs arm64: enable building of all dtbs arm: enable building of all dtbs arc: enable building of all dtbs arc: use common make variables for dtb builds of: add config option to enable building of all dtbs of/fdt: fix error checking for earlycon address of/overlay: add missing of_node_put of/platform: add missing of_node_put ...
This commit is contained in:
@@ -53,7 +53,7 @@ EXPORT_SYMBOL_GPL(irq_of_parse_and_map);
|
||||
* Returns a pointer to the interrupt parent node, or NULL if the interrupt
|
||||
* parent could not be determined.
|
||||
*/
|
||||
struct device_node *of_irq_find_parent(struct device_node *child)
|
||||
static struct device_node *of_irq_find_parent(struct device_node *child)
|
||||
{
|
||||
struct device_node *p;
|
||||
const __be32 *parp;
|
||||
@@ -501,10 +501,12 @@ void __init of_irq_init(const struct of_device_id *matches)
|
||||
* pointer, interrupt-parent device_node etc.
|
||||
*/
|
||||
desc = kzalloc(sizeof(*desc), GFP_KERNEL);
|
||||
if (WARN_ON(!desc))
|
||||
if (WARN_ON(!desc)) {
|
||||
of_node_put(np);
|
||||
goto err;
|
||||
}
|
||||
|
||||
desc->dev = np;
|
||||
desc->dev = of_node_get(np);
|
||||
desc->interrupt_parent = of_irq_find_parent(np);
|
||||
if (desc->interrupt_parent == np)
|
||||
desc->interrupt_parent = NULL;
|
||||
@@ -575,6 +577,7 @@ void __init of_irq_init(const struct of_device_id *matches)
|
||||
err:
|
||||
list_for_each_entry_safe(desc, temp_desc, &intc_desc_list, list) {
|
||||
list_del(&desc->list);
|
||||
of_node_put(desc->dev);
|
||||
kfree(desc);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user