diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-08-31 20:53:12 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-08-31 20:53:12 -0700 |
commit | e9723bf2ad1b7384e8d475e5356f51a1f35a8934 (patch) | |
tree | d9e6008e3bc147391634299dfb0f010591d52063 /drivers/of/irq.c | |
parent | 79f284d29bbf7852093d0262c097e8faee32bc03 (diff) | |
parent | 69e273c0b0a3c337a521d083374c918dc52c666f (diff) | |
download | linux-e9723bf2ad1b7384e8d475e5356f51a1f35a8934.tar.gz linux-e9723bf2ad1b7384e8d475e5356f51a1f35a8934.tar.bz2 linux-e9723bf2ad1b7384e8d475e5356f51a1f35a8934.zip |
Merge 3.17-rc3 into staging-next
We want the staging bugfixes in this branch as well.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/of/irq.c')
-rw-r--r-- | drivers/of/irq.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/drivers/of/irq.c b/drivers/of/irq.c index 3e06a699352d..1471e0a223a5 100644 --- a/drivers/of/irq.c +++ b/drivers/of/irq.c @@ -301,16 +301,17 @@ int of_irq_parse_one(struct device_node *device, int index, struct of_phandle_ar /* Get the reg property (if any) */ addr = of_get_property(device, "reg", NULL); + /* Try the new-style interrupts-extended first */ + res = of_parse_phandle_with_args(device, "interrupts-extended", + "#interrupt-cells", index, out_irq); + if (!res) + return of_irq_parse_raw(addr, out_irq); + /* Get the interrupts property */ intspec = of_get_property(device, "interrupts", &intlen); - if (intspec == NULL) { - /* Try the new-style interrupts-extended */ - res = of_parse_phandle_with_args(device, "interrupts-extended", - "#interrupt-cells", index, out_irq); - if (res) - return -EINVAL; - return of_irq_parse_raw(addr, out_irq); - } + if (intspec == NULL) + return -EINVAL; + intlen /= sizeof(*intspec); pr_debug(" intspec=%d intlen=%d\n", be32_to_cpup(intspec), intlen); |