[PATCH v9] QE: remove PPCisms for QE

Qiang Zhao qiang.zhao at nxp.com
Mon Dec 5 18:10:29 AEDT 2016


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:lkp at intel.com]
> Sent: Monday, December 05, 2016 3:00 PM
> To: Qiang Zhao <qiang.zhao at nxp.com>
> Cc: kbuild-all at 01.org; oss at buserror.net; balbi at kernel.org;
> gregkh at linuxfoundation.org; Xiaobo Xie <xiaobo.xie at nxp.com>; linux-
> kernel at vger.kernel.org; linuxppc-dev at lists.ozlabs.org; Qiang Zhao
> <qiang.zhao at 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 <leoli at freescale.com>
> :::::: CC: Paul Mackerras <paulus at samba.org>
> 
> ---
> 0-DAY kernel test infrastructure                Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation


More information about the Linuxppc-dev mailing list