diff options
Diffstat (limited to 'include/asm-powerpc/eeh.h')
-rw-r--r-- | include/asm-powerpc/eeh.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/include/asm-powerpc/eeh.h b/include/asm-powerpc/eeh.h index f8633aafe4ba..4395b7bc1ed4 100644 --- a/include/asm-powerpc/eeh.h +++ b/include/asm-powerpc/eeh.h | |||
@@ -19,6 +19,7 @@ | |||
19 | 19 | ||
20 | #ifndef _PPC64_EEH_H | 20 | #ifndef _PPC64_EEH_H |
21 | #define _PPC64_EEH_H | 21 | #define _PPC64_EEH_H |
22 | #ifdef __KERNEL__ | ||
22 | 23 | ||
23 | #include <linux/config.h> | 24 | #include <linux/config.h> |
24 | #include <linux/init.h> | 25 | #include <linux/init.h> |
@@ -57,6 +58,7 @@ void __init pci_addr_cache_build(void); | |||
57 | * to finish the eeh setup for this device. | 58 | * to finish the eeh setup for this device. |
58 | */ | 59 | */ |
59 | void eeh_add_device_early(struct device_node *); | 60 | void eeh_add_device_early(struct device_node *); |
61 | void eeh_add_device_tree_early(struct device_node *); | ||
60 | void eeh_add_device_late(struct pci_dev *); | 62 | void eeh_add_device_late(struct pci_dev *); |
61 | 63 | ||
62 | /** | 64 | /** |
@@ -72,6 +74,15 @@ void eeh_add_device_late(struct pci_dev *); | |||
72 | void eeh_remove_device(struct pci_dev *); | 74 | void eeh_remove_device(struct pci_dev *); |
73 | 75 | ||
74 | /** | 76 | /** |
77 | * eeh_remove_device_recursive - undo EEH for device & children. | ||
78 | * @dev: pci device to be removed | ||
79 | * | ||
80 | * As above, this removes the device; it also removes child | ||
81 | * pci devices as well. | ||
82 | */ | ||
83 | void eeh_remove_bus_device(struct pci_dev *); | ||
84 | |||
85 | /** | ||
75 | * EEH_POSSIBLE_ERROR() -- test for possible MMIO failure. | 86 | * EEH_POSSIBLE_ERROR() -- test for possible MMIO failure. |
76 | * | 87 | * |
77 | * If this macro yields TRUE, the caller relays to eeh_check_failure() | 88 | * If this macro yields TRUE, the caller relays to eeh_check_failure() |
@@ -107,6 +118,9 @@ static inline void eeh_add_device_late(struct pci_dev *dev) { } | |||
107 | 118 | ||
108 | static inline void eeh_remove_device(struct pci_dev *dev) { } | 119 | static inline void eeh_remove_device(struct pci_dev *dev) { } |
109 | 120 | ||
121 | static inline void eeh_add_device_tree_early(struct device_node *dn) { } | ||
122 | |||
123 | static inline void eeh_remove_bus_device(struct pci_dev *dev) { } | ||
110 | #define EEH_POSSIBLE_ERROR(val, type) (0) | 124 | #define EEH_POSSIBLE_ERROR(val, type) (0) |
111 | #define EEH_IO_ERROR_VALUE(size) (-1UL) | 125 | #define EEH_IO_ERROR_VALUE(size) (-1UL) |
112 | #endif /* CONFIG_EEH */ | 126 | #endif /* CONFIG_EEH */ |
@@ -363,4 +377,5 @@ static inline void eeh_insl_ns(unsigned long port, void * buf, int nl) | |||
363 | eeh_check_failure((void __iomem *)(port), *(u32*)buf); | 377 | eeh_check_failure((void __iomem *)(port), *(u32*)buf); |
364 | } | 378 | } |
365 | 379 | ||
380 | #endif /* __KERNEL__ */ | ||
366 | #endif /* _PPC64_EEH_H */ | 381 | #endif /* _PPC64_EEH_H */ |