tree:   https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq/core
head:   895d3b95ed05f72a94f69ab52cb313915a6b889f
commit: 895d3b95ed05f72a94f69ab52cb313915a6b889f [8/8] genirq/generic_chip: 
Verify irqs_per_chip <= 32
config: arm-multi_v7_defconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (Debian 5.4.0-6) 5.4.0 20160609
reproduce:
        wget 
https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross
 -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout 895d3b95ed05f72a94f69ab52cb313915a6b889f
        # save the attached .config to linux build tree
        make.cross ARCH=arm 

All error/warnings (new ones prefixed by >>):

   In file included from drivers/irqchip/irq-sirfsoc.c:11:0:
   drivers/irqchip/irq-sirfsoc.c: In function 'sirfsoc_alloc_gc':
>> drivers/irqchip/irq-sirfsoc.c:46:12: error: passing argument 4 of 
>> '__irq_alloc_domain_generic_chips' from incompatible pointer type 
>> [-Werror=incompatible-pointer-types]
               handle_level_irq, clr, set,
               ^
   include/linux/irq.h:931:7: note: in definition of macro 
'irq_alloc_domain_generic_chips'
          handler, clr, set, flags); \
          ^
   include/linux/irq.h:920:5: note: expected 'const char *' but argument is of 
type 'void (*)(struct irq_desc *)'
    int __irq_alloc_domain_generic_chips(struct irq_domain *d, int 
irqs_per_chip,
        ^
>> drivers/irqchip/irq-sirfsoc.c:46:30: warning: passing argument 5 of 
>> '__irq_alloc_domain_generic_chips' makes pointer from integer without a cast 
>> [-Wint-conversion]
               handle_level_irq, clr, set,
                                 ^
   include/linux/irq.h:931:16: note: in definition of macro 
'irq_alloc_domain_generic_chips'
          handler, clr, set, flags); \
                   ^
   include/linux/irq.h:920:5: note: expected 'irq_flow_handler_t {aka void 
(*)(struct irq_desc *)}' but argument is of type 'unsigned int'
    int __irq_alloc_domain_generic_chips(struct irq_domain *d, int 
irqs_per_chip,
        ^
   include/linux/irq.h:930:2: error: too few arguments to function 
'__irq_alloc_domain_generic_chips'
     __irq_alloc_domain_generic_chips(d, irqs_per_chip, num_ct, \
     ^
>> drivers/irqchip/irq-sirfsoc.c:45:2: note: in expansion of macro 
>> 'irq_alloc_domain_generic_chips'
     irq_alloc_domain_generic_chips(sirfsoc_irqdomain, 32, 1, "irq_sirfsoc",
     ^
   include/linux/irq.h:920:5: note: declared here
    int __irq_alloc_domain_generic_chips(struct irq_domain *d, int 
irqs_per_chip,
        ^
   cc1: some warnings being treated as errors
--
   In file included from include/linux/of_irq.h:6:0,
                    from drivers/irqchip/irq-bcm7120-l2.c:20:
   drivers/irqchip/irq-bcm7120-l2.c: In function 'bcm7120_l2_intc_probe':
>> drivers/irqchip/irq-bcm7120-l2.c:281:20: error: passing argument 4 of 
>> '__irq_alloc_domain_generic_chips' from incompatible pointer type 
>> [-Werror=incompatible-pointer-types]
        dn->full_name, handle_level_irq, clr, 0, flags);
                       ^
   include/linux/irq.h:931:7: note: in definition of macro 
'irq_alloc_domain_generic_chips'
          handler, clr, set, flags); \
          ^
   include/linux/irq.h:920:5: note: expected 'const char *' but argument is of 
type 'void (*)(struct irq_desc *)'
    int __irq_alloc_domain_generic_chips(struct irq_domain *d, int 
irqs_per_chip,
        ^
>> drivers/irqchip/irq-bcm7120-l2.c:281:38: warning: passing argument 5 of 
>> '__irq_alloc_domain_generic_chips' makes pointer from integer without a cast 
>> [-Wint-conversion]
        dn->full_name, handle_level_irq, clr, 0, flags);
                                         ^
   include/linux/irq.h:931:16: note: in definition of macro 
'irq_alloc_domain_generic_chips'
          handler, clr, set, flags); \
                   ^
   include/linux/irq.h:920:5: note: expected 'irq_flow_handler_t {aka void 
(*)(struct irq_desc *)}' but argument is of type 'unsigned int'
    int __irq_alloc_domain_generic_chips(struct irq_domain *d, int 
irqs_per_chip,
        ^
   include/linux/irq.h:930:2: error: too few arguments to function 
'__irq_alloc_domain_generic_chips'
     __irq_alloc_domain_generic_chips(d, irqs_per_chip, num_ct, \
     ^
>> drivers/irqchip/irq-bcm7120-l2.c:280:8: note: in expansion of macro 
>> 'irq_alloc_domain_generic_chips'
     ret = irq_alloc_domain_generic_chips(data->domain, IRQS_PER_WORD, 1,
           ^
   include/linux/irq.h:920:5: note: declared here
    int __irq_alloc_domain_generic_chips(struct irq_domain *d, int 
irqs_per_chip,
        ^
   cc1: some warnings being treated as errors
--
   In file included from include/linux/of_irq.h:6:0,
                    from drivers/irqchip/irq-brcmstb-l2.c:25:
   drivers/irqchip/irq-brcmstb-l2.c: In function 'brcmstb_l2_intc_of_init':
>> drivers/irqchip/irq-brcmstb-l2.c:167:20: error: passing argument 4 of 
>> '__irq_alloc_domain_generic_chips' from incompatible pointer type 
>> [-Werror=incompatible-pointer-types]
        np->full_name, handle_edge_irq, clr, 0, flags);
                       ^
   include/linux/irq.h:931:7: note: in definition of macro 
'irq_alloc_domain_generic_chips'
          handler, clr, set, flags); \
          ^
   include/linux/irq.h:920:5: note: expected 'const char *' but argument is of 
type 'void (*)(struct irq_desc *)'
    int __irq_alloc_domain_generic_chips(struct irq_domain *d, int 
irqs_per_chip,
        ^
>> drivers/irqchip/irq-brcmstb-l2.c:167:37: warning: passing argument 5 of 
>> '__irq_alloc_domain_generic_chips' makes pointer from integer without a cast 
>> [-Wint-conversion]
        np->full_name, handle_edge_irq, clr, 0, flags);
                                        ^
   include/linux/irq.h:931:16: note: in definition of macro 
'irq_alloc_domain_generic_chips'
          handler, clr, set, flags); \
                   ^
   include/linux/irq.h:920:5: note: expected 'irq_flow_handler_t {aka void 
(*)(struct irq_desc *)}' but argument is of type 'unsigned int'
    int __irq_alloc_domain_generic_chips(struct irq_domain *d, int 
irqs_per_chip,
        ^
   include/linux/irq.h:930:2: error: too few arguments to function 
'__irq_alloc_domain_generic_chips'
     __irq_alloc_domain_generic_chips(d, irqs_per_chip, num_ct, \
     ^
>> drivers/irqchip/irq-brcmstb-l2.c:166:8: note: in expansion of macro 
>> 'irq_alloc_domain_generic_chips'
     ret = irq_alloc_domain_generic_chips(data->domain, 32, 1,
           ^
   include/linux/irq.h:920:5: note: declared here
    int __irq_alloc_domain_generic_chips(struct irq_domain *d, int 
irqs_per_chip,
        ^
   cc1: some warnings being treated as errors
--
   In file included from drivers/irqchip/irq-digicolor.c:14:0:
   drivers/irqchip/irq-digicolor.c: In function 'digicolor_of_init':
>> drivers/irqchip/irq-digicolor.c:105:28: error: passing argument 4 of 
>> '__irq_alloc_domain_generic_chips' from incompatible pointer type 
>> [-Werror=incompatible-pointer-types]
              "digicolor_irq", handle_level_irq,
                               ^
   include/linux/irq.h:931:7: note: in definition of macro 
'irq_alloc_domain_generic_chips'
          handler, clr, set, flags); \
          ^
   include/linux/irq.h:920:5: note: expected 'const char *' but argument is of 
type 'void (*)(struct irq_desc *)'
    int __irq_alloc_domain_generic_chips(struct irq_domain *d, int 
irqs_per_chip,
        ^
>> drivers/irqchip/irq-digicolor.c:106:11: warning: passing argument 5 of 
>> '__irq_alloc_domain_generic_chips' makes pointer from integer without a cast 
>> [-Wint-conversion]
              clr, 0, 0);
              ^
   include/linux/irq.h:931:16: note: in definition of macro 
'irq_alloc_domain_generic_chips'
          handler, clr, set, flags); \
                   ^
   include/linux/irq.h:920:5: note: expected 'irq_flow_handler_t {aka void 
(*)(struct irq_desc *)}' but argument is of type 'unsigned int'
    int __irq_alloc_domain_generic_chips(struct irq_domain *d, int 
irqs_per_chip,
        ^
   include/linux/irq.h:930:2: error: too few arguments to function 
'__irq_alloc_domain_generic_chips'
     __irq_alloc_domain_generic_chips(d, irqs_per_chip, num_ct, \
     ^
>> drivers/irqchip/irq-digicolor.c:104:8: note: in expansion of macro 
>> 'irq_alloc_domain_generic_chips'
     ret = irq_alloc_domain_generic_chips(digicolor_irq_domain, 32, 1,
           ^
   include/linux/irq.h:920:5: note: declared here
    int __irq_alloc_domain_generic_chips(struct irq_domain *d, int 
irqs_per_chip,
        ^
   cc1: some warnings being treated as errors
--
   In file included from drivers/soc/dove/pmu.c:5:0:
   drivers/soc/dove/pmu.c: In function 'dove_init_pmu_irq':
>> drivers/soc/dove/pmu.c:284:11: error: passing argument 4 of 
>> '__irq_alloc_domain_generic_chips' from incompatible pointer type 
>> [-Werror=incompatible-pointer-types]
              handle_level_irq,
              ^
   include/linux/irq.h:931:7: note: in definition of macro 
'irq_alloc_domain_generic_chips'
          handler, clr, set, flags); \
          ^
   include/linux/irq.h:920:5: note: expected 'const char *' but argument is of 
type 'void (*)(struct irq_desc *)'
    int __irq_alloc_domain_generic_chips(struct irq_domain *d, int 
irqs_per_chip,
        ^
>> drivers/soc/dove/pmu.c:285:11: warning: passing argument 5 of 
>> '__irq_alloc_domain_generic_chips' makes pointer from integer without a cast 
>> [-Wint-conversion]
              IRQ_NOREQUEST | IRQ_NOPROBE, 0,
              ^
   include/linux/irq.h:931:16: note: in definition of macro 
'irq_alloc_domain_generic_chips'
          handler, clr, set, flags); \
                   ^
   include/linux/irq.h:920:5: note: expected 'irq_flow_handler_t {aka void 
(*)(struct irq_desc *)}' but argument is of type 'int'
    int __irq_alloc_domain_generic_chips(struct irq_domain *d, int 
irqs_per_chip,
        ^
   include/linux/irq.h:930:2: error: too few arguments to function 
'__irq_alloc_domain_generic_chips'
     __irq_alloc_domain_generic_chips(d, irqs_per_chip, num_ct, \
     ^
>> drivers/soc/dove/pmu.c:283:8: note: in expansion of macro 
>> 'irq_alloc_domain_generic_chips'
     ret = irq_alloc_domain_generic_chips(domain, NR_PMU_IRQS, 1, name,
           ^
   include/linux/irq.h:920:5: note: declared here
    int __irq_alloc_domain_generic_chips(struct irq_domain *d, int 
irqs_per_chip,
        ^
   cc1: some warnings being treated as errors

vim +/__irq_alloc_domain_generic_chips +46 drivers/irqchip/irq-sirfsoc.c

60dbd768 Arnd Bergmann   2013-03-19   5   *
60dbd768 Arnd Bergmann   2013-03-19   6   * Licensed under GPLv2 or later.
60dbd768 Arnd Bergmann   2013-03-19   7   */
60dbd768 Arnd Bergmann   2013-03-19   8  
60dbd768 Arnd Bergmann   2013-03-19   9  #include <linux/init.h>
60dbd768 Arnd Bergmann   2013-03-19  10  #include <linux/io.h>
60dbd768 Arnd Bergmann   2013-03-19 @11  #include <linux/irq.h>
60dbd768 Arnd Bergmann   2013-03-19  12  #include <linux/of.h>
60dbd768 Arnd Bergmann   2013-03-19  13  #include <linux/of_address.h>
41a83e06 Joel Porquet    2015-07-07  14  #include <linux/irqchip.h>
60dbd768 Arnd Bergmann   2013-03-19  15  #include <linux/irqdomain.h>
60dbd768 Arnd Bergmann   2013-03-19  16  #include <linux/syscore_ops.h>
60dbd768 Arnd Bergmann   2013-03-19  17  #include <asm/mach/irq.h>
60dbd768 Arnd Bergmann   2013-03-19  18  #include <asm/exception.h>
60dbd768 Arnd Bergmann   2013-03-19  19  
60dbd768 Arnd Bergmann   2013-03-19  20  #define SIRFSOC_INT_RISC_MASK0         
0x0018
60dbd768 Arnd Bergmann   2013-03-19  21  #define SIRFSOC_INT_RISC_MASK1         
0x001C
60dbd768 Arnd Bergmann   2013-03-19  22  #define SIRFSOC_INT_RISC_LEVEL0        
        0x0020
60dbd768 Arnd Bergmann   2013-03-19  23  #define SIRFSOC_INT_RISC_LEVEL1        
        0x0024
60dbd768 Arnd Bergmann   2013-03-19  24  #define SIRFSOC_INIT_IRQ_ID            
0x0038
d452bca8 Thomas Gleixner 2015-07-06  25  #define SIRFSOC_INT_BASE_OFFSET        
        0x0004
60dbd768 Arnd Bergmann   2013-03-19  26  
29eb51a7 Barry Song      2013-08-06  27  #define SIRFSOC_NUM_IRQS               
64
d452bca8 Thomas Gleixner 2015-07-06  28  #define SIRFSOC_NUM_BANKS              
(SIRFSOC_NUM_IRQS / 32)
60dbd768 Arnd Bergmann   2013-03-19  29  
60dbd768 Arnd Bergmann   2013-03-19  30  static struct irq_domain 
*sirfsoc_irqdomain;
60dbd768 Arnd Bergmann   2013-03-19  31  
4a3691cc Ben Dooks       2016-06-07  32  static void __iomem 
*sirfsoc_irq_get_regbase(void)
4a3691cc Ben Dooks       2016-06-07  33  {
4a3691cc Ben Dooks       2016-06-07  34         return (void __iomem __force 
*)sirfsoc_irqdomain->host_data;
4a3691cc Ben Dooks       2016-06-07  35  }
4a3691cc Ben Dooks       2016-06-07  36  
d452bca8 Thomas Gleixner 2015-07-06  37  static __init void 
sirfsoc_alloc_gc(void __iomem *base)
60dbd768 Arnd Bergmann   2013-03-19  38  {
29eb51a7 Barry Song      2013-08-06  39         unsigned int clr = 
IRQ_NOREQUEST | IRQ_NOPROBE | IRQ_NOAUTOEN;
a87010ef Barry Song      2014-01-03  40         unsigned int set = IRQ_LEVEL;
d452bca8 Thomas Gleixner 2015-07-06  41         struct irq_chip_generic *gc;
d452bca8 Thomas Gleixner 2015-07-06  42         struct irq_chip_type *ct;
d452bca8 Thomas Gleixner 2015-07-06  43         int i;
60dbd768 Arnd Bergmann   2013-03-19  44  
d452bca8 Thomas Gleixner 2015-07-06 @45         
irq_alloc_domain_generic_chips(sirfsoc_irqdomain, 32, 1, "irq_sirfsoc",
d452bca8 Thomas Gleixner 2015-07-06 @46                                        
handle_level_irq, clr, set,
d452bca8 Thomas Gleixner 2015-07-06  47                                        
IRQ_GC_INIT_MASK_CACHE);
60dbd768 Arnd Bergmann   2013-03-19  48  
d452bca8 Thomas Gleixner 2015-07-06  49         for (i = 0; i < 
SIRFSOC_NUM_BANKS; i++) {

:::::: The code at line 46 was first introduced by commit
:::::: d452bca82d9ff4f220afa4234418912623db4fe6 irqchip/sirfsoc: Fix generic 
chip allocation wreckage

:::::: TO: Thomas Gleixner <[email protected]>
:::::: CC: Thomas Gleixner <[email protected]>

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

Attachment: .config.gz
Description: Binary data

Reply via email to