aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-powerpc/eeh.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-powerpc/eeh.h')
-rw-r--r--include/asm-powerpc/eeh.h15
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 */
59void eeh_add_device_early(struct device_node *); 60void eeh_add_device_early(struct device_node *);
61void eeh_add_device_tree_early(struct device_node *);
60void eeh_add_device_late(struct pci_dev *); 62void eeh_add_device_late(struct pci_dev *);
61 63
62/** 64/**
@@ -72,6 +74,15 @@ void eeh_add_device_late(struct pci_dev *);
72void eeh_remove_device(struct pci_dev *); 74void 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 */
83void 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
108static inline void eeh_remove_device(struct pci_dev *dev) { } 119static inline void eeh_remove_device(struct pci_dev *dev) { }
109 120
121static inline void eeh_add_device_tree_early(struct device_node *dn) { }
122
123static 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 */