diff options
author | Johannes Thumshirn <johannes.thumshirn@men.de> | 2014-04-24 08:35:25 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-05-27 20:38:11 -0400 |
commit | 4ec65b77c64504e178d75aaba6ac96f68837416c (patch) | |
tree | 573c968f454b51209892fd0ede0c1d56d63f5649 /include/linux/mcb.h | |
parent | 2e1c951f5da23faaa60224628f44b100ab212d46 (diff) |
mcb: Add support for shared PCI IRQs
Add support for shared PCI IRQs to mcb and mcb-pci.
Signed-off-by: Johannes Thumshirn <johannes.thumshirn@men.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux/mcb.h')
-rw-r--r-- | include/linux/mcb.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/include/linux/mcb.h b/include/linux/mcb.h index 2db284d14064..ed06e15a36aa 100644 --- a/include/linux/mcb.h +++ b/include/linux/mcb.h | |||
@@ -16,6 +16,7 @@ | |||
16 | #include <linux/irqreturn.h> | 16 | #include <linux/irqreturn.h> |
17 | 17 | ||
18 | struct mcb_driver; | 18 | struct mcb_driver; |
19 | struct mcb_device; | ||
19 | 20 | ||
20 | /** | 21 | /** |
21 | * struct mcb_bus - MEN Chameleon Bus | 22 | * struct mcb_bus - MEN Chameleon Bus |
@@ -23,11 +24,14 @@ struct mcb_driver; | |||
23 | * @dev: pointer to carrier device | 24 | * @dev: pointer to carrier device |
24 | * @children: the child busses | 25 | * @children: the child busses |
25 | * @bus_nr: mcb bus number | 26 | * @bus_nr: mcb bus number |
27 | * @get_irq: callback to get IRQ number | ||
26 | */ | 28 | */ |
27 | struct mcb_bus { | 29 | struct mcb_bus { |
28 | struct list_head children; | 30 | struct list_head children; |
29 | struct device dev; | 31 | struct device dev; |
32 | struct device *carrier; | ||
30 | int bus_nr; | 33 | int bus_nr; |
34 | int (*get_irq)(struct mcb_device *dev); | ||
31 | }; | 35 | }; |
32 | #define to_mcb_bus(b) container_of((b), struct mcb_bus, dev) | 36 | #define to_mcb_bus(b) container_of((b), struct mcb_bus, dev) |
33 | 37 | ||
@@ -105,7 +109,7 @@ extern void mcb_unregister_driver(struct mcb_driver *driver); | |||
105 | module_driver(__mcb_driver, mcb_register_driver, mcb_unregister_driver); | 109 | module_driver(__mcb_driver, mcb_register_driver, mcb_unregister_driver); |
106 | extern void mcb_bus_add_devices(const struct mcb_bus *bus); | 110 | extern void mcb_bus_add_devices(const struct mcb_bus *bus); |
107 | extern int mcb_device_register(struct mcb_bus *bus, struct mcb_device *dev); | 111 | extern int mcb_device_register(struct mcb_bus *bus, struct mcb_device *dev); |
108 | extern struct mcb_bus *mcb_alloc_bus(void); | 112 | extern struct mcb_bus *mcb_alloc_bus(struct device *carrier); |
109 | extern struct mcb_bus *mcb_bus_get(struct mcb_bus *bus); | 113 | extern struct mcb_bus *mcb_bus_get(struct mcb_bus *bus); |
110 | extern void mcb_bus_put(struct mcb_bus *bus); | 114 | extern void mcb_bus_put(struct mcb_bus *bus); |
111 | extern struct mcb_device *mcb_alloc_dev(struct mcb_bus *bus); | 115 | extern struct mcb_device *mcb_alloc_dev(struct mcb_bus *bus); |