Commit 01566808 authored by Gavin Shan's avatar Gavin Shan Committed by Benjamin Herrenschmidt

powerpc/eeh: Make eeh_pe_get() public

While processing EEH event interrupt from P7IOC, we need function
to retrieve the PE according to the indicated EEH device. The patch
makes function eeh_pe_get() public so that other source files can call
it for that purpose. Also, the patch fixes referring to wrong BDF
(Bus/Device/Function) address while searching PE in function
__eeh_pe_get().
Signed-off-by: default avatarGavin Shan <shangw@linux.vnet.ibm.com>
Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
parent 9ff67433
...@@ -185,6 +185,7 @@ static inline void eeh_unlock(void) ...@@ -185,6 +185,7 @@ static inline void eeh_unlock(void)
typedef void *(*eeh_traverse_func)(void *data, void *flag); typedef void *(*eeh_traverse_func)(void *data, void *flag);
int eeh_phb_pe_create(struct pci_controller *phb); int eeh_phb_pe_create(struct pci_controller *phb);
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 *eeh_pe_get(struct eeh_dev *edev);
int eeh_add_to_parent_pe(struct eeh_dev *edev); int eeh_add_to_parent_pe(struct eeh_dev *edev);
int eeh_rmv_from_parent_pe(struct eeh_dev *edev, int purge_pe); int eeh_rmv_from_parent_pe(struct eeh_dev *edev, int purge_pe);
void *eeh_pe_dev_traverse(struct eeh_pe *root, void *eeh_pe_dev_traverse(struct eeh_pe *root,
......
...@@ -228,7 +228,7 @@ static void *__eeh_pe_get(void *data, void *flag) ...@@ -228,7 +228,7 @@ static void *__eeh_pe_get(void *data, void *flag)
return pe; return pe;
/* Try BDF address */ /* Try BDF address */
if (edev->pe_config_addr && if (edev->config_addr &&
(edev->config_addr == pe->config_addr)) (edev->config_addr == pe->config_addr))
return pe; return pe;
...@@ -246,7 +246,7 @@ static void *__eeh_pe_get(void *data, void *flag) ...@@ -246,7 +246,7 @@ static void *__eeh_pe_get(void *data, void *flag)
* which is composed of PCI bus/device/function number, or unified * which is composed of PCI bus/device/function number, or unified
* PE address. * PE address.
*/ */
static struct eeh_pe *eeh_pe_get(struct eeh_dev *edev) struct eeh_pe *eeh_pe_get(struct eeh_dev *edev)
{ {
struct eeh_pe *root = eeh_phb_pe_get(edev->phb); struct eeh_pe *root = eeh_phb_pe_get(edev->phb);
struct eeh_pe *pe; struct eeh_pe *pe;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment