diff options
| author | David S. Miller <davem@davemloft.net> | 2014-05-12 13:19:14 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2014-05-12 13:19:14 -0400 |
| commit | 5f013c9bc70214dcacd5fbed5a06c217d6ff9c59 (patch) | |
| tree | 34c3a633000e03bca57d0ce55d8759f86edecc03 /drivers/base/platform.c | |
| parent | 51ee42efa0829cf9e46f8e1c0ab7a9ab6facf3f2 (diff) | |
| parent | 1a466ae96e9f749d02a73315a3e66375e61a61dd (diff) | |
| download | linux-5f013c9bc70214dcacd5fbed5a06c217d6ff9c59.tar.gz linux-5f013c9bc70214dcacd5fbed5a06c217d6ff9c59.tar.bz2 linux-5f013c9bc70214dcacd5fbed5a06c217d6ff9c59.zip | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Conflicts:
drivers/net/ethernet/altera/altera_sgdma.c
net/netlink/af_netlink.c
net/sched/cls_api.c
net/sched/sch_api.c
The netlink conflict dealt with moving to netlink_capable() and
netlink_ns_capable() in the 'net' tree vs. supporting 'tc' operations
in non-init namespaces. These were simple transformations from
netlink_capable to netlink_ns_capable.
The Altera driver conflict was simply code removal overlapping some
void pointer cast cleanups in net-next.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/base/platform.c')
| -rw-r--r-- | drivers/base/platform.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/base/platform.c b/drivers/base/platform.c index e714709704e4..5b47210889e0 100644 --- a/drivers/base/platform.c +++ b/drivers/base/platform.c @@ -13,6 +13,7 @@ #include <linux/string.h> #include <linux/platform_device.h> #include <linux/of_device.h> +#include <linux/of_irq.h> #include <linux/module.h> #include <linux/init.h> #include <linux/dma-mapping.h> @@ -87,7 +88,11 @@ int platform_get_irq(struct platform_device *dev, unsigned int num) return -ENXIO; return dev->archdata.irqs[num]; #else - struct resource *r = platform_get_resource(dev, IORESOURCE_IRQ, num); + struct resource *r; + if (IS_ENABLED(CONFIG_OF_IRQ) && dev->dev.of_node) + return of_irq_get(dev->dev.of_node, num); + + r = platform_get_resource(dev, IORESOURCE_IRQ, num); return r ? r->start : -ENXIO; #endif |
