powerpc/eeh: EEH post initialization operation
The patch adds new EEH operation post_init. It's used to notify the platform that EEH core has completed the EEH probe. By that, PowerNV platform starts to use the services supplied by EEH functionality. Signed-off-by: Gavin Shan <shangw@linux.vnet.ibm.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
		
							parent
							
								
									51fb5f5632
								
							
						
					
					
						commit
						21fd21f590
					
				| @ -131,6 +131,7 @@ static inline struct pci_dev *eeh_dev_to_pci_dev(struct eeh_dev *edev) | ||||
| struct eeh_ops { | ||||
| 	char *name; | ||||
| 	int (*init)(void); | ||||
| 	int (*post_init)(void); | ||||
| 	void* (*of_probe)(struct device_node *dn, void *flag); | ||||
| 	int (*dev_probe)(struct pci_dev *dev, void *flag); | ||||
| 	int (*set_option)(struct eeh_pe *pe, int option); | ||||
|  | ||||
| @ -720,6 +720,17 @@ int __init eeh_init(void) | ||||
| 		return -EINVAL; | ||||
| 	} | ||||
| 
 | ||||
| 	/*
 | ||||
| 	 * Call platform post-initialization. Actually, It's good chance | ||||
| 	 * to inform platform that EEH is ready to supply service if the | ||||
| 	 * I/O cache stuff has been built up. | ||||
| 	 */ | ||||
| 	if (eeh_ops->post_init) { | ||||
| 		ret = eeh_ops->post_init(); | ||||
| 		if (ret) | ||||
| 			return ret; | ||||
| 	} | ||||
| 
 | ||||
| 	if (eeh_subsystem_enabled) | ||||
| 		pr_info("EEH: PCI Enhanced I/O Error Handling Enabled\n"); | ||||
| 	else | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user