diff options
Diffstat (limited to 'arch/powerpc/include/asm/eeh.h')
-rw-r--r-- | arch/powerpc/include/asm/eeh.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/arch/powerpc/include/asm/eeh.h b/arch/powerpc/include/asm/eeh.h index d3e5e9bc8f94..9e39ceb1d19f 100644 --- a/arch/powerpc/include/asm/eeh.h +++ b/arch/powerpc/include/asm/eeh.h | |||
@@ -90,7 +90,8 @@ struct eeh_pe { | |||
90 | #define EEH_DEV_IRQ_DISABLED (1 << 3) /* Interrupt disabled */ | 90 | #define EEH_DEV_IRQ_DISABLED (1 << 3) /* Interrupt disabled */ |
91 | #define EEH_DEV_DISCONNECTED (1 << 4) /* Removing from PE */ | 91 | #define EEH_DEV_DISCONNECTED (1 << 4) /* Removing from PE */ |
92 | 92 | ||
93 | #define EEH_DEV_SYSFS (1 << 8) /* Sysfs created */ | 93 | #define EEH_DEV_NO_HANDLER (1 << 8) /* No error handler */ |
94 | #define EEH_DEV_SYSFS (1 << 9) /* Sysfs created */ | ||
94 | 95 | ||
95 | struct eeh_dev { | 96 | struct eeh_dev { |
96 | int mode; /* EEH mode */ | 97 | int mode; /* EEH mode */ |
@@ -117,6 +118,16 @@ static inline struct pci_dev *eeh_dev_to_pci_dev(struct eeh_dev *edev) | |||
117 | return edev ? edev->pdev : NULL; | 118 | return edev ? edev->pdev : NULL; |
118 | } | 119 | } |
119 | 120 | ||
121 | /* Return values from eeh_ops::next_error */ | ||
122 | enum { | ||
123 | EEH_NEXT_ERR_NONE = 0, | ||
124 | EEH_NEXT_ERR_INF, | ||
125 | EEH_NEXT_ERR_FROZEN_PE, | ||
126 | EEH_NEXT_ERR_FENCED_PHB, | ||
127 | EEH_NEXT_ERR_DEAD_PHB, | ||
128 | EEH_NEXT_ERR_DEAD_IOC | ||
129 | }; | ||
130 | |||
120 | /* | 131 | /* |
121 | * The struct is used to trace the registered EEH operation | 132 | * The struct is used to trace the registered EEH operation |
122 | * callback functions. Actually, those operation callback | 133 | * callback functions. Actually, those operation callback |
@@ -157,6 +168,7 @@ struct eeh_ops { | |||
157 | int (*read_config)(struct device_node *dn, int where, int size, u32 *val); | 168 | int (*read_config)(struct device_node *dn, int where, int size, u32 *val); |
158 | int (*write_config)(struct device_node *dn, int where, int size, u32 val); | 169 | int (*write_config)(struct device_node *dn, int where, int size, u32 val); |
159 | int (*next_error)(struct eeh_pe **pe); | 170 | int (*next_error)(struct eeh_pe **pe); |
171 | int (*restore_config)(struct device_node *dn); | ||
160 | }; | 172 | }; |
161 | 173 | ||
162 | extern struct eeh_ops *eeh_ops; | 174 | extern struct eeh_ops *eeh_ops; |