Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
fixup-lantiq.c
Go to the documentation of this file.
1 /*
2  * This program is free software; you can redistribute it and/or modify it
3  * under the terms of the GNU General Public License version 2 as published
4  * by the Free Software Foundation.
5  *
6  * Copyright (C) 2012 John Crispin <[email protected]>
7  */
8 
9 #include <linux/of_irq.h>
10 #include <linux/of_pci.h>
11 
14 
16 {
18  return ltq_pci_plat_arch_init(dev);
19 
21  return ltq_pci_plat_dev_init(dev);
22 
23  return 0;
24 }
25 
26 int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
27 {
28  struct of_irq dev_irq;
29  int irq;
30 
31  if (of_irq_map_pci(dev, &dev_irq)) {
32  dev_err(&dev->dev, "trying to map irq for unknown slot:%d pin:%d\n",
33  slot, pin);
34  return 0;
35  }
36  irq = irq_create_of_mapping(dev_irq.controller, dev_irq.specifier,
37  dev_irq.size);
38  dev_info(&dev->dev, "SLOT:%d PIN:%d IRQ:%d\n", slot, pin, irq);
39  return irq;
40 }