On Tue, Jul 01, 2014 at 07:43:32PM +0100, Liviu Dudau wrote:
quoted hunk ↗ jump to hunk
Enhance the default implementation of pcibios_add_device() to
parse and map the IRQ of the device if a DT binding is available.
Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>
---
drivers/pci/pci.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index 63a54a3..8e65dc3 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -17,6 +17,7 @@
#include <linux/spinlock.h>
#include <linux/string.h>
#include <linux/log2.h>
+#include <linux/of_pci.h>
#include <linux/pci-aspm.h>
#include <linux/pm_wakeup.h>
#include <linux/interrupt.h>
@@ -1453,6 +1454,9 @@ EXPORT_SYMBOL(pcim_pin_device);
*/
int __weak pcibios_add_device(struct pci_dev *dev)
{
+#ifdef CONFIG_OF
+ dev->irq = of_irq_parse_and_map_pci(dev, 0, 0);
+#endif
You could avoid the #ifdef by only assigning dev->irq if
of_irq_parse_and_map_pci returned something > 0.
Will