This patch depends on the patchset of QEIC as following links: http://patchwork.ozlabs.org/patch/675925/ http://patchwork.ozlabs.org/patch/675926/ http://patchwork.ozlabs.org/patch/675927/ http://patchwork.ozlabs.org/patch/675928/
> -----Original Message----- > From: kbuild test robot [mailto:l...@intel.com] > Sent: Monday, December 05, 2016 3:00 PM > To: Qiang Zhao <qiang.z...@nxp.com> > Cc: kbuild-...@01.org; o...@buserror.net; ba...@kernel.org; > gre...@linuxfoundation.org; Xiaobo Xie <xiaobo....@nxp.com>; linux- > ker...@vger.kernel.org; linuxppc-dev@lists.ozlabs.org; Qiang Zhao > <qiang.z...@nxp.com> > Subject: Re: [PATCH v9] QE: remove PPCisms for QE > > Hi Zhao, > > [auto build test ERROR on linus/master] > [also build test ERROR on v4.9-rc8] > [cannot apply to next-20161202] > [if your patch is applied to the wrong git tree, please drop us a note to help > improve the system] > > url: https://github.com/0day-ci/linux/commits/Zhao-Qiang/QE-remove- > PPCisms-for-QE/20161205-131352 > config: i386-allmodconfig (attached as .config) > compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 > reproduce: > # save the attached .config to linux build tree > make ARCH=i386 > > All errors (new ones prefixed by >>): > > In file included from drivers/soc/fsl/qe/qe_ic.c:31:0: > include/soc/fsl/qe/qe_ic.h: In function 'qe_ic_cascade_low_ipic': > >> include/soc/fsl/qe/qe_ic.h:86:21: error: 'NO_IRQ' undeclared (first use in > this function) > if (cascade_irq != NO_IRQ) > ^~~~~~ > include/soc/fsl/qe/qe_ic.h:86:21: note: each undeclared identifier is > reported > only once for each function it appears in > include/soc/fsl/qe/qe_ic.h: In function 'qe_ic_cascade_high_ipic': > include/soc/fsl/qe/qe_ic.h:95:21: error: 'NO_IRQ' undeclared (first use in > this > function) > if (cascade_irq != NO_IRQ) > ^~~~~~ > include/soc/fsl/qe/qe_ic.h: In function 'qe_ic_cascade_low_mpic': > include/soc/fsl/qe/qe_ic.h:105:21: error: 'NO_IRQ' undeclared (first use in > this function) > if (cascade_irq != NO_IRQ) > ^~~~~~ > include/soc/fsl/qe/qe_ic.h: In function 'qe_ic_cascade_high_mpic': > include/soc/fsl/qe/qe_ic.h:117:21: error: 'NO_IRQ' undeclared (first use in > this function) > if (cascade_irq != NO_IRQ) > ^~~~~~ > include/soc/fsl/qe/qe_ic.h: In function 'qe_ic_cascade_muxed_mpic': > include/soc/fsl/qe/qe_ic.h:130:21: error: 'NO_IRQ' undeclared (first use in > this function) > if (cascade_irq == NO_IRQ) > ^~~~~~ > drivers/soc/fsl/qe/qe_ic.c: In function 'qe_ic_read': > >> drivers/soc/fsl/qe/qe_ic.c:180:9: error: implicit declaration of function > 'in_be32' [-Werror=implicit-function-declaration] > return in_be32(base + (reg >> 2)); > ^~~~~~~ > drivers/soc/fsl/qe/qe_ic.c: In function 'qe_ic_write': > >> drivers/soc/fsl/qe/qe_ic.c:186:2: error: implicit declaration of function > 'out_be32' [-Werror=implicit-function-declaration] > out_be32(base + (reg >> 2), value); > ^~~~~~~~ > drivers/soc/fsl/qe/qe_ic.c: In function 'qe_ic_get_low_irq': > >> drivers/soc/fsl/qe/qe_ic.c:299:10: error: 'NO_IRQ' undeclared (first use in > this function) > return NO_IRQ; > ^~~~~~ > drivers/soc/fsl/qe/qe_ic.c: In function 'qe_ic_get_high_irq': > drivers/soc/fsl/qe/qe_ic.c:315:10: error: 'NO_IRQ' undeclared (first use > in this > function) > return NO_IRQ; > ^~~~~~ > drivers/soc/fsl/qe/qe_ic.c: In function 'qe_ic_init': > drivers/soc/fsl/qe/qe_ic.c:350:25: error: 'NO_IRQ' undeclared (first use > in this > function) > if (qe_ic->virq_low == NO_IRQ) { > ^~~~~~ > drivers/soc/fsl/qe/qe_ic.c: In function 'qe_ic_set_highest_priority': > >> drivers/soc/fsl/qe/qe_ic.c:392:21: error: implicit declaration of function > 'virq_to_hw' [-Werror=implicit-function-declaration] > unsigned int src = virq_to_hw(virq); > ^~~~~~~~~~ > cc1: some warnings being treated as errors > > vim +/in_be32 +180 drivers/soc/fsl/qe/qe_ic.c > > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 174 > .pri_reg = QEIC_CIPYCC, > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 175 > }, > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 176 }; > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 177 > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 178 > static inline u32 qe_ic_read(volatile __be32 __iomem * base, unsigned int > reg) > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 179 { > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > @180 > return in_be32(base + (reg >> 2)); > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 181 } > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 182 > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 183 > static inline void qe_ic_write(volatile __be32 __iomem * base, unsigned int > reg, > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 184 > u32 value) > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 185 { > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > @186 > out_be32(base + (reg >> 2), value); > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 187 } > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 188 > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 189 > static inline struct qe_ic *qe_ic_from_irq(unsigned int virq) > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 190 { > ec775d0e arch/powerpc/sysdev/qe_lib/qe_ic.c Thomas Gleixner 2011-03-25 > 191 return irq_get_chip_data(virq); > 3a0adfab arch/powerpc/sysdev/qe_lib/qe_ic.c Lennert Buytenhek 2011-03-08 > 192 } > 3a0adfab arch/powerpc/sysdev/qe_lib/qe_ic.c Lennert Buytenhek 2011-03-08 > 193 > 3a0adfab arch/powerpc/sysdev/qe_lib/qe_ic.c Lennert Buytenhek 2011-03-08 > 194 static inline struct qe_ic *qe_ic_from_irq_data(struct irq_data *d) > 3a0adfab arch/powerpc/sysdev/qe_lib/qe_ic.c Lennert Buytenhek 2011-03-08 > 195 { > 3a0adfab arch/powerpc/sysdev/qe_lib/qe_ic.c Lennert Buytenhek 2011-03-08 > 196 return irq_data_get_irq_chip_data(d); > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 197 } > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 198 > 3a0adfab arch/powerpc/sysdev/qe_lib/qe_ic.c Lennert Buytenhek 2011-03-08 > 199 static void qe_ic_unmask_irq(struct irq_data *d) > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 200 { > 3a0adfab arch/powerpc/sysdev/qe_lib/qe_ic.c Lennert Buytenhek 2011-03-08 > 201 struct qe_ic *qe_ic = qe_ic_from_irq_data(d); > 476eb491 arch/powerpc/sysdev/qe_lib/qe_ic.c Grant Likely 2011-05-04 > 202 > unsigned int src = irqd_to_hwirq(d); > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 203 > unsigned long flags; > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 204 > u32 temp; > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 205 > 43a5a01b arch/powerpc/sysdev/qe_lib/qe_ic.c Anton Vorontsov 2010-02-18 > 206 raw_spin_lock_irqsave(&qe_ic_lock, flags); > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 207 > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 208 > temp = qe_ic_read(qe_ic->regs, qe_ic_info[src].mask_reg); > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 209 > qe_ic_write(qe_ic->regs, qe_ic_info[src].mask_reg, > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 210 > temp | qe_ic_info[src].mask); > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 211 > 43a5a01b arch/powerpc/sysdev/qe_lib/qe_ic.c Anton Vorontsov 2010-02-18 > 212 raw_spin_unlock_irqrestore(&qe_ic_lock, flags); > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 213 } > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 214 > 3a0adfab arch/powerpc/sysdev/qe_lib/qe_ic.c Lennert Buytenhek 2011-03-08 > 215 static void qe_ic_mask_irq(struct irq_data *d) > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 216 { > 3a0adfab arch/powerpc/sysdev/qe_lib/qe_ic.c Lennert Buytenhek 2011-03-08 > 217 struct qe_ic *qe_ic = qe_ic_from_irq_data(d); > 476eb491 arch/powerpc/sysdev/qe_lib/qe_ic.c Grant Likely 2011-05-04 > 218 > unsigned int src = irqd_to_hwirq(d); > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 219 > unsigned long flags; > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 220 > u32 temp; > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 221 > 43a5a01b arch/powerpc/sysdev/qe_lib/qe_ic.c Anton Vorontsov 2010-02-18 > 222 raw_spin_lock_irqsave(&qe_ic_lock, flags); > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 223 > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 224 > temp = qe_ic_read(qe_ic->regs, qe_ic_info[src].mask_reg); > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 225 > qe_ic_write(qe_ic->regs, qe_ic_info[src].mask_reg, > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 226 > temp & ~qe_ic_info[src].mask); > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 227 > 2c1d2f34 arch/powerpc/sysdev/qe_lib/qe_ic.c Scott Wood 2006-12-06 > 228 > /* Flush the above write before enabling interrupts; otherwise, > 2c1d2f34 arch/powerpc/sysdev/qe_lib/qe_ic.c Scott Wood 2006-12-06 > 229 > * spurious interrupts will sometimes happen. To be 100% sure > 2c1d2f34 arch/powerpc/sysdev/qe_lib/qe_ic.c Scott Wood 2006-12-06 > 230 > * that the write has reached the device before interrupts are > 2c1d2f34 arch/powerpc/sysdev/qe_lib/qe_ic.c Scott Wood 2006-12-06 > 231 > * enabled, the mask register would have to be read back; however, > 2c1d2f34 arch/powerpc/sysdev/qe_lib/qe_ic.c Scott Wood 2006-12-06 > 232 > * this is not required for correctness, only to avoid wasting > 2c1d2f34 arch/powerpc/sysdev/qe_lib/qe_ic.c Scott Wood 2006-12-06 > 233 > * time on a large number of spurious interrupts. In testing, > 2c1d2f34 arch/powerpc/sysdev/qe_lib/qe_ic.c Scott Wood 2006-12-06 > 234 > * a sync reduced the observed spurious interrupts to zero. > 2c1d2f34 arch/powerpc/sysdev/qe_lib/qe_ic.c Scott Wood 2006-12-06 > 235 > */ > 2c1d2f34 arch/powerpc/sysdev/qe_lib/qe_ic.c Scott Wood 2006-12-06 > 236 > mb(); > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 237 > 43a5a01b arch/powerpc/sysdev/qe_lib/qe_ic.c Anton Vorontsov 2010-02-18 > 238 raw_spin_unlock_irqrestore(&qe_ic_lock, flags); > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 239 } > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 240 > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 241 > static struct irq_chip qe_ic_irq_chip = { > b27df672 arch/powerpc/sysdev/qe_lib/qe_ic.c Thomas Gleixner 2009-11-18 > 242 .name = "QEIC", > 3a0adfab arch/powerpc/sysdev/qe_lib/qe_ic.c Lennert Buytenhek 2011-03-08 > 243 .irq_unmask = qe_ic_unmask_irq, > 3a0adfab arch/powerpc/sysdev/qe_lib/qe_ic.c Lennert Buytenhek 2011-03-08 > 244 .irq_mask = qe_ic_mask_irq, > 3a0adfab arch/powerpc/sysdev/qe_lib/qe_ic.c Lennert Buytenhek 2011-03-08 > 245 .irq_mask_ack = qe_ic_mask_irq, > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 246 }; > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 247 > ad3aedfb arch/powerpc/sysdev/qe_lib/qe_ic.c Marc Zyngier 2015-07-28 > 248 static int qe_ic_host_match(struct irq_domain *h, struct device_node > *node, > ad3aedfb arch/powerpc/sysdev/qe_lib/qe_ic.c Marc Zyngier 2015-07-28 > 249 enum irq_domain_bus_token bus_token) > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 250 { > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 251 > /* Exact match, unless qe_ic node is NULL */ > 5d4c9bc7 arch/powerpc/sysdev/qe_lib/qe_ic.c Marc Zyngier 2015-10-13 > 252 struct device_node *of_node = irq_domain_get_of_node(h); > 5d4c9bc7 arch/powerpc/sysdev/qe_lib/qe_ic.c Marc Zyngier 2015-10-13 > 253 return of_node == NULL || of_node == node; > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 254 } > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 255 > bae1d8f1 arch/powerpc/sysdev/qe_lib/qe_ic.c Grant Likely 2012-02-14 > 256 > static int qe_ic_host_map(struct irq_domain *h, unsigned int virq, > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 257 > irq_hw_number_t hw) > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 258 { > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 259 > struct qe_ic *qe_ic = h->host_data; > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 260 > struct irq_chip *chip; > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 261 > c9ee69c5 drivers/soc/fsl/qe/qe_ic.c Zhao Qiang 2016-01-21 > 262 > if (hw >= ARRAY_SIZE(qe_ic_info)) { > c9ee69c5 drivers/soc/fsl/qe/qe_ic.c Zhao Qiang 2016-01-21 > 263 > pr_err("%s: Invalid hw irq number for QEIC\n", __func__); > c9ee69c5 drivers/soc/fsl/qe/qe_ic.c Zhao Qiang 2016-01-21 > 264 > return -EINVAL; > c9ee69c5 drivers/soc/fsl/qe/qe_ic.c Zhao Qiang 2016-01-21 > 265 } > c9ee69c5 drivers/soc/fsl/qe/qe_ic.c Zhao Qiang 2016-01-21 > 266 > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 267 > if (qe_ic_info[hw].mask == 0) { > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 268 > printk(KERN_ERR "Can't map reserved IRQ\n"); > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 269 > return -EINVAL; > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 270 } > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 271 > /* Default chip */ > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 272 > chip = &qe_ic->hc_irq; > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 273 > ec775d0e arch/powerpc/sysdev/qe_lib/qe_ic.c Thomas Gleixner 2011-03-25 > 274 irq_set_chip_data(virq, qe_ic); > 98488db9 arch/powerpc/sysdev/qe_lib/qe_ic.c Thomas Gleixner 2011-03-25 > 275 irq_set_status_flags(virq, IRQ_LEVEL); > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 276 > ec775d0e arch/powerpc/sysdev/qe_lib/qe_ic.c Thomas Gleixner 2011-03-25 > 277 irq_set_chip_and_handler(virq, chip, handle_level_irq); > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 278 > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 279 > return 0; > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 280 } > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 281 > 202648a6 arch/powerpc/sysdev/qe_lib/qe_ic.c Krzysztof Kozlowski 2015-04-27 > 282 static const struct irq_domain_ops qe_ic_host_ops = { > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 283 > .match = qe_ic_host_match, > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 284 > .map = qe_ic_host_map, > ff8c3ab8 arch/powerpc/sysdev/qe_lib/qe_ic.c Grant Likely 2012-01-24 > 285 > .xlate = irq_domain_xlate_onetwocell, > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 286 }; > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 287 > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 288 /* > Return an interrupt vector or NO_IRQ if no interrupt is pending. */ > 35a84c2f arch/powerpc/sysdev/qe_lib/qe_ic.c Olaf Hering 2006-10-07 > 289 > unsigned int qe_ic_get_low_irq(struct qe_ic *qe_ic) > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 290 { > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 291 > int irq; > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 292 > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 293 > BUG_ON(qe_ic == NULL); > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 294 > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 295 > /* get the interrupt source vector. */ > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 296 > irq = qe_ic_read(qe_ic->regs, QEIC_CIVEC) >> 26; > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 297 > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 298 > if (irq == 0) > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > @299 > return NO_IRQ; > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 300 > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 301 > return irq_linear_revmap(qe_ic->irqhost, irq); > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 302 } > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 303 > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 304 /* > Return an interrupt vector or NO_IRQ if no interrupt is pending. */ > 35a84c2f arch/powerpc/sysdev/qe_lib/qe_ic.c Olaf Hering 2006-10-07 > 305 > unsigned int qe_ic_get_high_irq(struct qe_ic *qe_ic) > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 306 { > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 307 > int irq; > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 308 > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 309 > BUG_ON(qe_ic == NULL); > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 310 > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 311 > /* get the interrupt source vector. */ > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 312 > irq = qe_ic_read(qe_ic->regs, QEIC_CHIVEC) >> 26; > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 313 > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 314 > if (irq == 0) > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > @315 > return NO_IRQ; > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 316 > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 317 > return irq_linear_revmap(qe_ic->irqhost, irq); > 98658538 arch/powerpc/sysdev/qe_lib/qe_ic.c Li Yang 2006-10-03 > 318 } > > :::::: The code at line 180 was first introduced by commit > :::::: 9865853851313e0d94a4acde42d6f9d8070bb376 [POWERPC] Add QUICC > Engine (QE) infrastructure > > :::::: TO: Li Yang <le...@freescale.com> > :::::: CC: Paul Mackerras <pau...@samba.org> > > --- > 0-DAY kernel test infrastructure Open Source Technology Center > https://lists.01.org/pipermail/kbuild-all Intel Corporation