Commit 95edcdea authored by Gavin Shan's avatar Gavin Shan Committed by Benjamin Herrenschmidt

powerpc/powernv: Drop PHB operation get_log()

The patch drops PHB operation get_log() and merges its logic to
eeh_ops::get_log().
Signed-off-by: default avatarGavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
parent 4cf17445
...@@ -530,25 +530,6 @@ static int ioda_eeh_reset(struct eeh_pe *pe, int option) ...@@ -530,25 +530,6 @@ static int ioda_eeh_reset(struct eeh_pe *pe, int option)
return ret; return ret;
} }
/**
* ioda_eeh_get_log - Retrieve error log
* @pe: frozen PE
* @severity: permanent or temporary error
* @drv_log: device driver log
* @len: length of device driver log
*
* Retrieve error log, which contains log from device driver
* and firmware.
*/
static int ioda_eeh_get_log(struct eeh_pe *pe, int severity,
char *drv_log, unsigned long len)
{
if (!eeh_has_flag(EEH_EARLY_DUMP_LOG))
pnv_pci_dump_phb_diag_data(pe->phb, pe->data);
return 0;
}
/** /**
* ioda_eeh_configure_bridge - Configure the PCI bridges for the indicated PE * ioda_eeh_configure_bridge - Configure the PCI bridges for the indicated PE
* @pe: EEH PE * @pe: EEH PE
...@@ -905,7 +886,6 @@ struct pnv_eeh_ops ioda_eeh_ops = { ...@@ -905,7 +886,6 @@ struct pnv_eeh_ops ioda_eeh_ops = {
.set_option = ioda_eeh_set_option, .set_option = ioda_eeh_set_option,
.get_state = ioda_eeh_get_state, .get_state = ioda_eeh_get_state,
.reset = ioda_eeh_reset, .reset = ioda_eeh_reset,
.get_log = ioda_eeh_get_log,
.configure_bridge = ioda_eeh_configure_bridge, .configure_bridge = ioda_eeh_configure_bridge,
.next_error = ioda_eeh_next_error .next_error = ioda_eeh_next_error
}; };
...@@ -533,14 +533,10 @@ static int pnv_eeh_wait_state(struct eeh_pe *pe, int max_wait) ...@@ -533,14 +533,10 @@ static int pnv_eeh_wait_state(struct eeh_pe *pe, int max_wait)
static int pnv_eeh_get_log(struct eeh_pe *pe, int severity, static int pnv_eeh_get_log(struct eeh_pe *pe, int severity,
char *drv_log, unsigned long len) char *drv_log, unsigned long len)
{ {
struct pci_controller *hose = pe->phb; if (!eeh_has_flag(EEH_EARLY_DUMP_LOG))
struct pnv_phb *phb = hose->private_data; pnv_pci_dump_phb_diag_data(pe->phb, pe->data);
int ret = -EEXIST;
if (phb->eeh_ops && phb->eeh_ops->get_log) return 0;
ret = phb->eeh_ops->get_log(pe, severity, drv_log, len);
return ret;
} }
/** /**
......
...@@ -81,8 +81,6 @@ struct pnv_eeh_ops { ...@@ -81,8 +81,6 @@ struct pnv_eeh_ops {
int (*set_option)(struct eeh_pe *pe, int option); int (*set_option)(struct eeh_pe *pe, int option);
int (*get_state)(struct eeh_pe *pe); int (*get_state)(struct eeh_pe *pe);
int (*reset)(struct eeh_pe *pe, int option); int (*reset)(struct eeh_pe *pe, int option);
int (*get_log)(struct eeh_pe *pe, int severity,
char *drv_log, unsigned long len);
int (*configure_bridge)(struct eeh_pe *pe); int (*configure_bridge)(struct eeh_pe *pe);
int (*next_error)(struct eeh_pe **pe); int (*next_error)(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