Re: [PATCH 03/23] powerpc/eeh: Make eeh_phb_pe_get() public
From: Gavin Shan <hidden>
Date: 2013-06-03 01:02:47
On Sat, Jun 01, 2013 at 02:14:24PM +1000, Benjamin Herrenschmidt wrote:
On Thu, 2013-05-30 at 16:23 +0800, Gavin Shan wrote:quoted
While processing EEH event interrupt from P7IOC, we need function to retrieve the PE according to the indicated PCI host controller (struct pci_controller). The patch makes function eeh_phb_pe_get() public so that other source files can call it for that purpose.Just to make things clear to me... You always have the concept of a "controller PE" ? What does it actually correspond to in terms of HW setting ? Bus 0 ? Bus 0..255 ? IE, A "catch all" fallback ?
Ben, each PHB has its corresponding PE and we call it as "PHB PE", and it can be regarded as domain to bus 0 ... 255. I'll update the change log to make that more clear. Thanks, Gavin
quoted
Signed-off-by: Gavin Shan <redacted> --- arch/powerpc/include/asm/eeh.h | 1 + arch/powerpc/platforms/pseries/eeh_pe.c | 2 +- 2 files changed, 2 insertions(+), 1 deletions(-)diff --git a/arch/powerpc/include/asm/eeh.h b/arch/powerpc/include/asm/eeh.h index eeaeab6..4b48178 100644 --- a/arch/powerpc/include/asm/eeh.h +++ b/arch/powerpc/include/asm/eeh.h@@ -185,6 +185,7 @@ static inline void eeh_unlock(void) typedef void *(*eeh_traverse_func)(void *data, void *flag); typedef void *(*eeh_pci_traverse_func)(struct pci_dev *dev, void *flag); int eeh_phb_pe_create(struct pci_controller *phb); +struct eeh_pe *eeh_phb_pe_get(struct pci_controller *phb); int eeh_add_to_parent_pe(struct eeh_dev *edev); int eeh_rmv_from_parent_pe(struct eeh_dev *edev, int purge_pe); void *eeh_pe_dev_traverse(struct eeh_pe *root,diff --git a/arch/powerpc/platforms/pseries/eeh_pe.c b/arch/powerpc/platforms/pseries/eeh_pe.c index fe43d1a..6e3eb43 100644 --- a/arch/powerpc/platforms/pseries/eeh_pe.c +++ b/arch/powerpc/platforms/pseries/eeh_pe.c@@ -95,7 +95,7 @@ int eeh_phb_pe_create(struct pci_controller *phb) * hierarchy tree is composed of PHB PEs. The function is used * to retrieve the corresponding PHB PE according to the given PHB. */ -static struct eeh_pe *eeh_phb_pe_get(struct pci_controller *phb) +struct eeh_pe *eeh_phb_pe_get(struct pci_controller *phb) { struct eeh_pe *pe;