diff options
-rw-r--r-- | arch/powerpc/include/asm/eeh.h | 1 | ||||
-rw-r--r-- | arch/powerpc/kernel/eeh.c | 11 |
2 files changed, 12 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/eeh.h b/arch/powerpc/include/asm/eeh.h index beb3cbcb76f8..beec7883d93e 100644 --- a/arch/powerpc/include/asm/eeh.h +++ b/arch/powerpc/include/asm/eeh.h | |||
@@ -131,6 +131,7 @@ static inline struct pci_dev *eeh_dev_to_pci_dev(struct eeh_dev *edev) | |||
131 | struct eeh_ops { | 131 | struct eeh_ops { |
132 | char *name; | 132 | char *name; |
133 | int (*init)(void); | 133 | int (*init)(void); |
134 | int (*post_init)(void); | ||
134 | void* (*of_probe)(struct device_node *dn, void *flag); | 135 | void* (*of_probe)(struct device_node *dn, void *flag); |
135 | int (*dev_probe)(struct pci_dev *dev, void *flag); | 136 | int (*dev_probe)(struct pci_dev *dev, void *flag); |
136 | int (*set_option)(struct eeh_pe *pe, int option); | 137 | int (*set_option)(struct eeh_pe *pe, int option); |
diff --git a/arch/powerpc/kernel/eeh.c b/arch/powerpc/kernel/eeh.c index c865c5f54b18..a29cf473fadf 100644 --- a/arch/powerpc/kernel/eeh.c +++ b/arch/powerpc/kernel/eeh.c | |||
@@ -720,6 +720,17 @@ int __init eeh_init(void) | |||
720 | return -EINVAL; | 720 | return -EINVAL; |
721 | } | 721 | } |
722 | 722 | ||
723 | /* | ||
724 | * Call platform post-initialization. Actually, It's good chance | ||
725 | * to inform platform that EEH is ready to supply service if the | ||
726 | * I/O cache stuff has been built up. | ||
727 | */ | ||
728 | if (eeh_ops->post_init) { | ||
729 | ret = eeh_ops->post_init(); | ||
730 | if (ret) | ||
731 | return ret; | ||
732 | } | ||
733 | |||
723 | if (eeh_subsystem_enabled) | 734 | if (eeh_subsystem_enabled) |
724 | pr_info("EEH: PCI Enhanced I/O Error Handling Enabled\n"); | 735 | pr_info("EEH: PCI Enhanced I/O Error Handling Enabled\n"); |
725 | else | 736 | else |