lkml.org 
[lkml]   [2020]   [Jun]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subjectarch/powerpc/platforms/powernv/eeh-powernv.c:230:18: warning: variable 'phb' set but not used
tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 9ebcfadb0610322ac537dd7aa5d9cbc2b2894c68
commit: 0e4a459f56c32d3e52ae69a4b447db2f48a65f44 tracing: Remove unnecessary DEBUG_FS dependency
date: 7 months ago
config: powerpc-randconfig-m031-20200629 (attached as .config)
compiler: powerpc64le-linux-gcc (GCC) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

arch/powerpc/platforms/powernv/eeh-powernv.c:41:6: warning: no previous prototype for 'pnv_pcibios_bus_add_device' [-Wmissing-prototypes]
41 | void pnv_pcibios_bus_add_device(struct pci_dev *pdev)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/platforms/powernv/eeh-powernv.c:200:6: warning: no previous prototype for 'pnv_eeh_enable_phbs' [-Wmissing-prototypes]
200 | void pnv_eeh_enable_phbs(void)
| ^~~~~~~~~~~~~~~~~~~
arch/powerpc/platforms/powernv/eeh-powernv.c: In function 'pnv_eeh_post_init':
>> arch/powerpc/platforms/powernv/eeh-powernv.c:230:18: warning: variable 'phb' set but not used [-Wunused-but-set-variable]
230 | struct pnv_phb *phb;
| ^~~

vim +/phb +230 arch/powerpc/platforms/powernv/eeh-powernv.c

4cf17445589932 Gavin Shan 2015-02-16 40
988fc3ba565327 Bryant G. Ly 2017-11-09 @41 void pnv_pcibios_bus_add_device(struct pci_dev *pdev)
988fc3ba565327 Bryant G. Ly 2017-11-09 42 {
988fc3ba565327 Bryant G. Ly 2017-11-09 43 struct pci_dn *pdn = pci_get_pdn(pdev);
988fc3ba565327 Bryant G. Ly 2017-11-09 44
b905f8cdca7725 Sam Bobroff 2019-08-16 45 if (eeh_has_flag(EEH_FORCE_DISABLED))
988fc3ba565327 Bryant G. Ly 2017-11-09 46 return;
988fc3ba565327 Bryant G. Ly 2017-11-09 47
1ff8f36fc770dd Sam Bobroff 2019-08-16 48 dev_dbg(&pdev->dev, "EEH: Setting up device\n");
988fc3ba565327 Bryant G. Ly 2017-11-09 49 eeh_add_device_early(pdn);
988fc3ba565327 Bryant G. Ly 2017-11-09 50 eeh_add_device_late(pdev);
988fc3ba565327 Bryant G. Ly 2017-11-09 51 eeh_sysfs_add_device(pdev);
988fc3ba565327 Bryant G. Ly 2017-11-09 52 }
988fc3ba565327 Bryant G. Ly 2017-11-09 53
01f3bfb7804ae2 Gavin Shan 2015-02-16 54 static int pnv_eeh_init(void)
29310e5e860697 Gavin Shan 2013-06-20 55 {
dc561fb9e7e13a Gavin Shan 2014-07-17 56 struct pci_controller *hose;
dc561fb9e7e13a Gavin Shan 2014-07-17 57 struct pnv_phb *phb;
5cb1f8fdddb747 Russell Currey 2017-06-14 58 int max_diag_size = PNV_PCI_DIAG_BUF_SIZE;
dc561fb9e7e13a Gavin Shan 2014-07-17 59
e4d54f71d29997 Stewart Smith 2015-12-09 60 if (!firmware_has_feature(FW_FEATURE_OPAL)) {
e4d54f71d29997 Stewart Smith 2015-12-09 61 pr_warn("%s: OPAL is required !\n",
0dae27439acc75 Gavin Shan 2014-07-17 62 __func__);
29310e5e860697 Gavin Shan 2013-06-20 63 return -EINVAL;
29310e5e860697 Gavin Shan 2013-06-20 64 }
29310e5e860697 Gavin Shan 2013-06-20 65
05b1721d9f4993 Gavin Shan 2014-07-17 66 /* Set probe mode */
05b1721d9f4993 Gavin Shan 2014-07-17 67 eeh_add_flag(EEH_PROBE_MODE_DEV);
29310e5e860697 Gavin Shan 2013-06-20 68
dc561fb9e7e13a Gavin Shan 2014-07-17 69 /*
dc561fb9e7e13a Gavin Shan 2014-07-17 70 * P7IOC blocks PCI config access to frozen PE, but PHB3
dc561fb9e7e13a Gavin Shan 2014-07-17 71 * doesn't do that. So we have to selectively enable I/O
dc561fb9e7e13a Gavin Shan 2014-07-17 72 * prior to collecting error log.
dc561fb9e7e13a Gavin Shan 2014-07-17 73 */
dc561fb9e7e13a Gavin Shan 2014-07-17 74 list_for_each_entry(hose, &hose_list, list_node) {
dc561fb9e7e13a Gavin Shan 2014-07-17 75 phb = hose->private_data;
dc561fb9e7e13a Gavin Shan 2014-07-17 76
dc561fb9e7e13a Gavin Shan 2014-07-17 77 if (phb->model == PNV_PHB_MODEL_P7IOC)
dc561fb9e7e13a Gavin Shan 2014-07-17 78 eeh_add_flag(EEH_ENABLE_IO_FOR_LOG);
2aa5cf9e48f2f3 Gavin Shan 2014-11-25 79
5cb1f8fdddb747 Russell Currey 2017-06-14 80 if (phb->diag_data_size > max_diag_size)
5cb1f8fdddb747 Russell Currey 2017-06-14 81 max_diag_size = phb->diag_data_size;
5cb1f8fdddb747 Russell Currey 2017-06-14 82
2aa5cf9e48f2f3 Gavin Shan 2014-11-25 83 /*
2aa5cf9e48f2f3 Gavin Shan 2014-11-25 84 * PE#0 should be regarded as valid by EEH core
2aa5cf9e48f2f3 Gavin Shan 2014-11-25 85 * if it's not the reserved one. Currently, we
608fb9c29660ac Gavin Shan 2015-10-08 86 * have the reserved PE#255 and PE#127 for PHB3
2aa5cf9e48f2f3 Gavin Shan 2014-11-25 87 * and P7IOC separately. So we should regard
608fb9c29660ac Gavin Shan 2015-10-08 88 * PE#0 as valid for PHB3 and P7IOC.
2aa5cf9e48f2f3 Gavin Shan 2014-11-25 89 */
92b8f137b3620b Gavin Shan 2016-05-03 90 if (phb->ioda.reserved_pe_idx != 0)
2aa5cf9e48f2f3 Gavin Shan 2014-11-25 91 eeh_add_flag(EEH_VALID_PE_ZERO);
2aa5cf9e48f2f3 Gavin Shan 2014-11-25 92
dc561fb9e7e13a Gavin Shan 2014-07-17 93 break;
dc561fb9e7e13a Gavin Shan 2014-07-17 94 }
dc561fb9e7e13a Gavin Shan 2014-07-17 95
5cb1f8fdddb747 Russell Currey 2017-06-14 96 eeh_set_pe_aux_size(max_diag_size);
988fc3ba565327 Bryant G. Ly 2017-11-09 97 ppc_md.pcibios_bus_add_device = pnv_pcibios_bus_add_device;
5cb1f8fdddb747 Russell Currey 2017-06-14 98
29310e5e860697 Gavin Shan 2013-06-20 99 return 0;
29310e5e860697 Gavin Shan 2013-06-20 100 }
29310e5e860697 Gavin Shan 2013-06-20 101
79231448c929cc Alistair Popple 2015-05-15 102 static irqreturn_t pnv_eeh_event(int irq, void *data)
4cf17445589932 Gavin Shan 2015-02-16 103 {
4cf17445589932 Gavin Shan 2015-02-16 104 /*
79231448c929cc Alistair Popple 2015-05-15 105 * We simply send a special EEH event if EEH has been
79231448c929cc Alistair Popple 2015-05-15 106 * enabled. We don't care about EEH events until we've
79231448c929cc Alistair Popple 2015-05-15 107 * finished processing the outstanding ones. Event processing
79231448c929cc Alistair Popple 2015-05-15 108 * gets unmasked in next_error() if EEH is enabled.
4cf17445589932 Gavin Shan 2015-02-16 109 */
79231448c929cc Alistair Popple 2015-05-15 110 disable_irq_nosync(irq);
4cf17445589932 Gavin Shan 2015-02-16 111
4cf17445589932 Gavin Shan 2015-02-16 112 if (eeh_enabled())
4cf17445589932 Gavin Shan 2015-02-16 113 eeh_send_failure_event(NULL);
4cf17445589932 Gavin Shan 2015-02-16 114
79231448c929cc Alistair Popple 2015-05-15 115 return IRQ_HANDLED;
4cf17445589932 Gavin Shan 2015-02-16 116 }
4cf17445589932 Gavin Shan 2015-02-16 117
4cf17445589932 Gavin Shan 2015-02-16 118 #ifdef CONFIG_DEBUG_FS
4cf17445589932 Gavin Shan 2015-02-16 119 static ssize_t pnv_eeh_ei_write(struct file *filp,
4cf17445589932 Gavin Shan 2015-02-16 120 const char __user *user_buf,
4cf17445589932 Gavin Shan 2015-02-16 121 size_t count, loff_t *ppos)
4cf17445589932 Gavin Shan 2015-02-16 122 {
4cf17445589932 Gavin Shan 2015-02-16 123 struct pci_controller *hose = filp->private_data;
4cf17445589932 Gavin Shan 2015-02-16 124 struct eeh_pe *pe;
4cf17445589932 Gavin Shan 2015-02-16 125 int pe_no, type, func;
4cf17445589932 Gavin Shan 2015-02-16 126 unsigned long addr, mask;
4cf17445589932 Gavin Shan 2015-02-16 127 char buf[50];
4cf17445589932 Gavin Shan 2015-02-16 128 int ret;
4cf17445589932 Gavin Shan 2015-02-16 129
4cf17445589932 Gavin Shan 2015-02-16 130 if (!eeh_ops || !eeh_ops->err_inject)
4cf17445589932 Gavin Shan 2015-02-16 131 return -ENXIO;
4cf17445589932 Gavin Shan 2015-02-16 132
4cf17445589932 Gavin Shan 2015-02-16 133 /* Copy over argument buffer */
4cf17445589932 Gavin Shan 2015-02-16 134 ret = simple_write_to_buffer(buf, sizeof(buf), ppos, user_buf, count);
4cf17445589932 Gavin Shan 2015-02-16 135 if (!ret)
4cf17445589932 Gavin Shan 2015-02-16 136 return -EFAULT;
4cf17445589932 Gavin Shan 2015-02-16 137
4cf17445589932 Gavin Shan 2015-02-16 138 /* Retrieve parameters */
4cf17445589932 Gavin Shan 2015-02-16 139 ret = sscanf(buf, "%x:%x:%x:%lx:%lx",
4cf17445589932 Gavin Shan 2015-02-16 140 &pe_no, &type, &func, &addr, &mask);
4cf17445589932 Gavin Shan 2015-02-16 141 if (ret != 5)
4cf17445589932 Gavin Shan 2015-02-16 142 return -EINVAL;
4cf17445589932 Gavin Shan 2015-02-16 143
4cf17445589932 Gavin Shan 2015-02-16 144 /* Retrieve PE */
8bae6a23198def Alexey Kardashevskiy 2017-08-29 145 pe = eeh_pe_get(hose, pe_no, 0);
4cf17445589932 Gavin Shan 2015-02-16 146 if (!pe)
4cf17445589932 Gavin Shan 2015-02-16 147 return -ENODEV;
4cf17445589932 Gavin Shan 2015-02-16 148
4cf17445589932 Gavin Shan 2015-02-16 149 /* Do error injection */
4cf17445589932 Gavin Shan 2015-02-16 150 ret = eeh_ops->err_inject(pe, type, func, addr, mask);
4cf17445589932 Gavin Shan 2015-02-16 151 return ret < 0 ? ret : count;
4cf17445589932 Gavin Shan 2015-02-16 152 }
4cf17445589932 Gavin Shan 2015-02-16 153
4cf17445589932 Gavin Shan 2015-02-16 154 static const struct file_operations pnv_eeh_ei_fops = {
4cf17445589932 Gavin Shan 2015-02-16 155 .open = simple_open,
4cf17445589932 Gavin Shan 2015-02-16 156 .llseek = no_llseek,
4cf17445589932 Gavin Shan 2015-02-16 157 .write = pnv_eeh_ei_write,
4cf17445589932 Gavin Shan 2015-02-16 158 };
4cf17445589932 Gavin Shan 2015-02-16 159
4cf17445589932 Gavin Shan 2015-02-16 160 static int pnv_eeh_dbgfs_set(void *data, int offset, u64 val)
4cf17445589932 Gavin Shan 2015-02-16 161 {
4cf17445589932 Gavin Shan 2015-02-16 162 struct pci_controller *hose = data;
4cf17445589932 Gavin Shan 2015-02-16 163 struct pnv_phb *phb = hose->private_data;
4cf17445589932 Gavin Shan 2015-02-16 164
4cf17445589932 Gavin Shan 2015-02-16 165 out_be64(phb->regs + offset, val);
4cf17445589932 Gavin Shan 2015-02-16 166 return 0;
4cf17445589932 Gavin Shan 2015-02-16 167 }
4cf17445589932 Gavin Shan 2015-02-16 168
4cf17445589932 Gavin Shan 2015-02-16 169 static int pnv_eeh_dbgfs_get(void *data, int offset, u64 *val)
4cf17445589932 Gavin Shan 2015-02-16 170 {
4cf17445589932 Gavin Shan 2015-02-16 171 struct pci_controller *hose = data;
4cf17445589932 Gavin Shan 2015-02-16 172 struct pnv_phb *phb = hose->private_data;
4cf17445589932 Gavin Shan 2015-02-16 173
4cf17445589932 Gavin Shan 2015-02-16 174 *val = in_be64(phb->regs + offset);
4cf17445589932 Gavin Shan 2015-02-16 175 return 0;
4cf17445589932 Gavin Shan 2015-02-16 176 }
4cf17445589932 Gavin Shan 2015-02-16 177
ccc9662da5494a Gavin Shan 2016-02-09 178 #define PNV_EEH_DBGFS_ENTRY(name, reg) \
ccc9662da5494a Gavin Shan 2016-02-09 179 static int pnv_eeh_dbgfs_set_##name(void *data, u64 val) \
ccc9662da5494a Gavin Shan 2016-02-09 180 { \
ccc9662da5494a Gavin Shan 2016-02-09 181 return pnv_eeh_dbgfs_set(data, reg, val); \
ccc9662da5494a Gavin Shan 2016-02-09 182 } \
ccc9662da5494a Gavin Shan 2016-02-09 183 \
ccc9662da5494a Gavin Shan 2016-02-09 184 static int pnv_eeh_dbgfs_get_##name(void *data, u64 *val) \
ccc9662da5494a Gavin Shan 2016-02-09 185 { \
ccc9662da5494a Gavin Shan 2016-02-09 186 return pnv_eeh_dbgfs_get(data, reg, val); \
ccc9662da5494a Gavin Shan 2016-02-09 187 } \
ccc9662da5494a Gavin Shan 2016-02-09 188 \
ccc9662da5494a Gavin Shan 2016-02-09 189 DEFINE_SIMPLE_ATTRIBUTE(pnv_eeh_dbgfs_ops_##name, \
ccc9662da5494a Gavin Shan 2016-02-09 190 pnv_eeh_dbgfs_get_##name, \
ccc9662da5494a Gavin Shan 2016-02-09 191 pnv_eeh_dbgfs_set_##name, \
ccc9662da5494a Gavin Shan 2016-02-09 192 "0x%llx\n")
ccc9662da5494a Gavin Shan 2016-02-09 193
ccc9662da5494a Gavin Shan 2016-02-09 194 PNV_EEH_DBGFS_ENTRY(outb, 0xD10);
ccc9662da5494a Gavin Shan 2016-02-09 195 PNV_EEH_DBGFS_ENTRY(inbA, 0xD90);
ccc9662da5494a Gavin Shan 2016-02-09 196 PNV_EEH_DBGFS_ENTRY(inbB, 0xE10);
4cf17445589932 Gavin Shan 2015-02-16 197
4cf17445589932 Gavin Shan 2015-02-16 198 #endif /* CONFIG_DEBUG_FS */
4cf17445589932 Gavin Shan 2015-02-16 199
b905f8cdca7725 Sam Bobroff 2019-08-16 200 void pnv_eeh_enable_phbs(void)
b905f8cdca7725 Sam Bobroff 2019-08-16 201 {
b905f8cdca7725 Sam Bobroff 2019-08-16 202 struct pci_controller *hose;
b905f8cdca7725 Sam Bobroff 2019-08-16 203 struct pnv_phb *phb;
b905f8cdca7725 Sam Bobroff 2019-08-16 204
b905f8cdca7725 Sam Bobroff 2019-08-16 205 list_for_each_entry(hose, &hose_list, list_node) {
b905f8cdca7725 Sam Bobroff 2019-08-16 206 phb = hose->private_data;
b905f8cdca7725 Sam Bobroff 2019-08-16 207 /*
b905f8cdca7725 Sam Bobroff 2019-08-16 208 * If EEH is enabled, we're going to rely on that.
b905f8cdca7725 Sam Bobroff 2019-08-16 209 * Otherwise, we restore to conventional mechanism
b905f8cdca7725 Sam Bobroff 2019-08-16 210 * to clear frozen PE during PCI config access.
b905f8cdca7725 Sam Bobroff 2019-08-16 211 */
b905f8cdca7725 Sam Bobroff 2019-08-16 212 if (eeh_enabled())
b905f8cdca7725 Sam Bobroff 2019-08-16 213 phb->flags |= PNV_PHB_FLAG_EEH;
b905f8cdca7725 Sam Bobroff 2019-08-16 214 else
b905f8cdca7725 Sam Bobroff 2019-08-16 215 phb->flags &= ~PNV_PHB_FLAG_EEH;
b905f8cdca7725 Sam Bobroff 2019-08-16 216 }
b905f8cdca7725 Sam Bobroff 2019-08-16 217 }
b905f8cdca7725 Sam Bobroff 2019-08-16 218
29310e5e860697 Gavin Shan 2013-06-20 219 /**
01f3bfb7804ae2 Gavin Shan 2015-02-16 220 * pnv_eeh_post_init - EEH platform dependent post initialization
29310e5e860697 Gavin Shan 2013-06-20 221 *
29310e5e860697 Gavin Shan 2013-06-20 222 * EEH platform dependent post initialization on powernv. When
29310e5e860697 Gavin Shan 2013-06-20 223 * the function is called, the EEH PEs and devices should have
29310e5e860697 Gavin Shan 2013-06-20 224 * been built. If the I/O cache staff has been built, EEH is
29310e5e860697 Gavin Shan 2013-06-20 225 * ready to supply service.
29310e5e860697 Gavin Shan 2013-06-20 226 */
b9fde58db7e573 Benjamin Herrenschmidt 2017-09-07 227 int pnv_eeh_post_init(void)
29310e5e860697 Gavin Shan 2013-06-20 228 {
29310e5e860697 Gavin Shan 2013-06-20 229 struct pci_controller *hose;
29310e5e860697 Gavin Shan 2013-06-20 @230 struct pnv_phb *phb;
29310e5e860697 Gavin Shan 2013-06-20 231 int ret = 0;
29310e5e860697 Gavin Shan 2013-06-20 232
c44e4ccadaca58 Sam Bobroff 2019-08-16 233 eeh_show_enabled();
b9fde58db7e573 Benjamin Herrenschmidt 2017-09-07 234
4cf17445589932 Gavin Shan 2015-02-16 235 /* Register OPAL event notifier */
79231448c929cc Alistair Popple 2015-05-15 236 eeh_event_irq = opal_event_request(ilog2(OPAL_EVENT_PCI_ERROR));
79231448c929cc Alistair Popple 2015-05-15 237 if (eeh_event_irq < 0) {
79231448c929cc Alistair Popple 2015-05-15 238 pr_err("%s: Can't register OPAL event interrupt (%d)\n",
79231448c929cc Alistair Popple 2015-05-15 239 __func__, eeh_event_irq);
79231448c929cc Alistair Popple 2015-05-15 240 return eeh_event_irq;
79231448c929cc Alistair Popple 2015-05-15 241 }
79231448c929cc Alistair Popple 2015-05-15 242
79231448c929cc Alistair Popple 2015-05-15 243 ret = request_irq(eeh_event_irq, pnv_eeh_event,
79231448c929cc Alistair Popple 2015-05-15 244 IRQ_TYPE_LEVEL_HIGH, "opal-eeh", NULL);
79231448c929cc Alistair Popple 2015-05-15 245 if (ret < 0) {
79231448c929cc Alistair Popple 2015-05-15 246 irq_dispose_mapping(eeh_event_irq);
79231448c929cc Alistair Popple 2015-05-15 247 pr_err("%s: Can't request OPAL event interrupt (%d)\n",
79231448c929cc Alistair Popple 2015-05-15 248 __func__, eeh_event_irq);
4cf17445589932 Gavin Shan 2015-02-16 249 return ret;
4cf17445589932 Gavin Shan 2015-02-16 250 }
4cf17445589932 Gavin Shan 2015-02-16 251
79231448c929cc Alistair Popple 2015-05-15 252 if (!eeh_enabled())
79231448c929cc Alistair Popple 2015-05-15 253 disable_irq(eeh_event_irq);
79231448c929cc Alistair Popple 2015-05-15 254
b905f8cdca7725 Sam Bobroff 2019-08-16 255 pnv_eeh_enable_phbs();
b905f8cdca7725 Sam Bobroff 2019-08-16 256
29310e5e860697 Gavin Shan 2013-06-20 257 list_for_each_entry(hose, &hose_list, list_node) {
29310e5e860697 Gavin Shan 2013-06-20 258 phb = hose->private_data;
29310e5e860697 Gavin Shan 2013-06-20 259
4cf17445589932 Gavin Shan 2015-02-16 260 /* Create debugfs entries */
4cf17445589932 Gavin Shan 2015-02-16 261 #ifdef CONFIG_DEBUG_FS
4cf17445589932 Gavin Shan 2015-02-16 262 if (phb->has_dbgfs || !phb->dbgfs)
4cf17445589932 Gavin Shan 2015-02-16 263 continue;
4cf17445589932 Gavin Shan 2015-02-16 264
4cf17445589932 Gavin Shan 2015-02-16 265 phb->has_dbgfs = 1;
4cf17445589932 Gavin Shan 2015-02-16 266 debugfs_create_file("err_injct", 0200,
4cf17445589932 Gavin Shan 2015-02-16 267 phb->dbgfs, hose,
4cf17445589932 Gavin Shan 2015-02-16 268 &pnv_eeh_ei_fops);
4cf17445589932 Gavin Shan 2015-02-16 269
4cf17445589932 Gavin Shan 2015-02-16 270 debugfs_create_file("err_injct_outbound", 0600,
4cf17445589932 Gavin Shan 2015-02-16 271 phb->dbgfs, hose,
ccc9662da5494a Gavin Shan 2016-02-09 272 &pnv_eeh_dbgfs_ops_outb);
4cf17445589932 Gavin Shan 2015-02-16 273 debugfs_create_file("err_injct_inboundA", 0600,
4cf17445589932 Gavin Shan 2015-02-16 274 phb->dbgfs, hose,
ccc9662da5494a Gavin Shan 2016-02-09 275 &pnv_eeh_dbgfs_ops_inbA);
4cf17445589932 Gavin Shan 2015-02-16 276 debugfs_create_file("err_injct_inboundB", 0600,
4cf17445589932 Gavin Shan 2015-02-16 277 phb->dbgfs, hose,
ccc9662da5494a Gavin Shan 2016-02-09 278 &pnv_eeh_dbgfs_ops_inbB);
4cf17445589932 Gavin Shan 2015-02-16 279 #endif /* CONFIG_DEBUG_FS */
29310e5e860697 Gavin Shan 2013-06-20 280 }
29310e5e860697 Gavin Shan 2013-06-20 281
29310e5e860697 Gavin Shan 2013-06-20 282 return ret;
29310e5e860697 Gavin Shan 2013-06-20 283 }
29310e5e860697 Gavin Shan 2013-06-20 284

:::::: The code at line 230 was first introduced by commit
:::::: 29310e5e860697955b9c10ddb448d61267fab0dc powerpc/eeh: PowerNV EEH backends

:::::: TO: Gavin Shan <shangw@linux.vnet.ibm.com>
:::::: CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[unhandled content-type:application/gzip]
\
 
 \ /
  Last update: 2020-06-29 05:49    [W:0.072 / U:0.216 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site