lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <201612051456.QmDg7mG4%fengguang.wu@intel.com>
Date:   Mon, 5 Dec 2016 14:59:39 +0800
From:   kbuild test robot <lkp@...el.com>
To:     Zhao Qiang <qiang.zhao@....com>
Cc:     kbuild-all@...org, oss@...error.net, balbi@...nel.org,
        gregkh@...uxfoundation.org, xiaobo.xie@....com,
        linux-kernel@...r.kernel.org, linuxppc-dev@...ts.ozlabs.org,
        Zhao Qiang <qiang.zhao@....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@...escale.com>
:::::: CC: Paul Mackerras <paulus@...ba.org>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Download attachment ".config.gz" of type "application/gzip" (56816 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ