tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   42f82040ee66db13525dc6f14b8559890b2f4c1c
commit: dbb152267908c4b2c3639492a94b6838821bc195 irqchip: Add driver for 
Loongson I/O Local Interrupt Controller
date:   4 months ago
config: mips-randconfig-r003-20200710 (attached as .config)
compiler: mips64el-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout dbb152267908c4b2c3639492a94b6838821bc195
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross 
ARCH=mips 

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

All warnings (new ones prefixed by >>):

>> drivers/irqchip/irq-loongson-liointc.c:134:12: warning: no previous 
>> prototype for 'liointc_of_init' [-Wmissing-prototypes]
     134 | int __init liointc_of_init(struct device_node *node,
         |            ^~~~~~~~~~~~~~~
   {standard input}: Assembler messages:
   {standard input}:216: Error: found '(', expected: ')'
   {standard input}:216: Error: found '(', expected: ')'
   {standard input}:216: Error: non-constant expression in ".if" statement
   {standard input}:216: Error: junk at end of line, first unrecognized 
character is `('
   {standard input}:304: Error: found '(', expected: ')'
   {standard input}:304: Error: found '(', expected: ')'
   {standard input}:304: Error: non-constant expression in ".if" statement
   {standard input}:304: Error: junk at end of line, first unrecognized 
character is `('
   {standard input}:364: Error: found '(', expected: ')'
   {standard input}:364: Error: found '(', expected: ')'
   {standard input}:364: Error: non-constant expression in ".if" statement
   {standard input}:364: Error: junk at end of line, first unrecognized 
character is `('
   {standard input}:1786: Error: found '(', expected: ')'
   {standard input}:1786: Error: found '(', expected: ')'
   {standard input}:1786: Error: non-constant expression in ".if" statement
   {standard input}:1786: Error: junk at end of line, first unrecognized 
character is `('
   {standard input}:1845: Error: found '(', expected: ')'
   {standard input}:1845: Error: found '(', expected: ')'
   {standard input}:1845: Error: non-constant expression in ".if" statement
   {standard input}:1845: Error: junk at end of line, first unrecognized 
character is `('
   {standard input}:2344: Error: found '(', expected: ')'
   {standard input}:2344: Error: found '(', expected: ')'
   {standard input}:2344: Error: non-constant expression in ".if" statement
   {standard input}:2344: Error: junk at end of line, first unrecognized 
character is `('
   {standard input}:3578: Error: found '(', expected: ')'
   {standard input}:3578: Error: found '(', expected: ')'
   {standard input}:3578: Error: non-constant expression in ".if" statement
   {standard input}:3578: Error: junk at end of line, first unrecognized 
character is `('
   {standard input}:3614: Error: found '(', expected: ')'
   {standard input}:3614: Error: found '(', expected: ')'
   {standard input}:3614: Error: non-constant expression in ".if" statement
   {standard input}:3614: Error: junk at end of line, first unrecognized 
character is `('
   {standard input}:4670: Error: found '(', expected: ')'
   {standard input}:4670: Error: found '(', expected: ')'
   {standard input}:4670: Error: non-constant expression in ".if" statement
   {standard input}:4670: Error: junk at end of line, first unrecognized 
character is `('
   {standard input}:4705: Error: found '(', expected: ')'
   {standard input}:4705: Error: found '(', expected: ')'
   {standard input}:4705: Error: non-constant expression in ".if" statement
   {standard input}:4705: Error: junk at end of line, first unrecognized 
character is `('
   {standard input}:4737: Error: found '(', expected: ')'
   {standard input}:4737: Error: found '(', expected: ')'
   {standard input}:4737: Error: non-constant expression in ".if" statement
   {standard input}:4737: Error: junk at end of line, first unrecognized 
character is `('
   {standard input}:4825: Error: found '(', expected: ')'
   {standard input}:4825: Error: found '(', expected: ')'
   {standard input}:4825: Error: non-constant expression in ".if" statement
   {standard input}:4825: Error: junk at end of line, first unrecognized 
character is `('
   {standard input}:4860: Error: found '(', expected: ')'
   {standard input}:4860: Error: found '(', expected: ')'
   {standard input}:4860: Error: non-constant expression in ".if" statement
   {standard input}:4860: Error: junk at end of line, first unrecognized 
character is `('
   {standard input}:4894: Error: found '(', expected: ')'
   {standard input}:4894: Error: found '(', expected: ')'
   {standard input}:4894: Error: non-constant expression in ".if" statement
   {standard input}:4894: Error: junk at end of line, first unrecognized 
character is `('
--
>> drivers/irqchip/irq-loongson-liointc.c:134:12: warning: no previous 
>> prototype for 'liointc_of_init' [-Wmissing-prototypes]
     134 | int __init liointc_of_init(struct device_node *node,
         |            ^~~~~~~~~~~~~~~
   {standard input}: Assembler messages:
   {standard input}:216: Error: found '(', expected: ')'
   {standard input}:216: Error: found '(', expected: ')'
   {standard input}:216: Error: non-constant expression in ".if" statement
   {standard input}:216: Error: junk at end of line, first unrecognized 
character is `('
   {standard input}:304: Error: found '(', expected: ')'
   {standard input}:304: Error: found '(', expected: ')'
   {standard input}:304: Error: non-constant expression in ".if" statement
   {standard input}:304: Error: junk at end of line, first unrecognized 
character is `('
   {standard input}:364: Error: found '(', expected: ')'
   {standard input}:364: Error: found '(', expected: ')'
   {standard input}:364: Error: non-constant expression in ".if" statement
   {standard input}:364: Error: junk at end of line, first unrecognized 
character is `('
   {standard input}:1791: Error: found '(', expected: ')'
   {standard input}:1791: Error: found '(', expected: ')'
   {standard input}:1791: Error: non-constant expression in ".if" statement
   {standard input}:1791: Error: junk at end of line, first unrecognized 
character is `('
   {standard input}:1850: Error: found '(', expected: ')'
   {standard input}:1850: Error: found '(', expected: ')'
   {standard input}:1850: Error: non-constant expression in ".if" statement
   {standard input}:1850: Error: junk at end of line, first unrecognized 
character is `('
   {standard input}:2349: Error: found '(', expected: ')'
   {standard input}:2349: Error: found '(', expected: ')'
   {standard input}:2349: Error: non-constant expression in ".if" statement
   {standard input}:2349: Error: junk at end of line, first unrecognized 
character is `('
   {standard input}:3584: Error: found '(', expected: ')'
   {standard input}:3584: Error: found '(', expected: ')'
   {standard input}:3584: Error: non-constant expression in ".if" statement
   {standard input}:3584: Error: junk at end of line, first unrecognized 
character is `('
   {standard input}:3620: Error: found '(', expected: ')'
   {standard input}:3620: Error: found '(', expected: ')'
   {standard input}:3620: Error: non-constant expression in ".if" statement
   {standard input}:3620: Error: junk at end of line, first unrecognized 
character is `('
   {standard input}:4676: Error: found '(', expected: ')'
   {standard input}:4676: Error: found '(', expected: ')'
   {standard input}:4676: Error: non-constant expression in ".if" statement
   {standard input}:4676: Error: junk at end of line, first unrecognized 
character is `('
   {standard input}:4711: Error: found '(', expected: ')'
   {standard input}:4711: Error: found '(', expected: ')'
   {standard input}:4711: Error: non-constant expression in ".if" statement
   {standard input}:4711: Error: junk at end of line, first unrecognized 
character is `('
   {standard input}:4743: Error: found '(', expected: ')'
   {standard input}:4743: Error: found '(', expected: ')'
   {standard input}:4743: Error: non-constant expression in ".if" statement
   {standard input}:4743: Error: junk at end of line, first unrecognized 
character is `('
   {standard input}:4831: Error: found '(', expected: ')'
   {standard input}:4831: Error: found '(', expected: ')'
   {standard input}:4831: Error: non-constant expression in ".if" statement
   {standard input}:4831: Error: junk at end of line, first unrecognized 
character is `('
   {standard input}:4866: Error: found '(', expected: ')'
   {standard input}:4866: Error: found '(', expected: ')'
   {standard input}:4866: Error: non-constant expression in ".if" statement
   {standard input}:4866: Error: junk at end of line, first unrecognized 
character is `('
   {standard input}:4900: Error: found '(', expected: ')'
   {standard input}:4900: Error: found '(', expected: ')'
   {standard input}:4900: Error: non-constant expression in ".if" statement
   {standard input}:4900: Error: junk at end of line, first unrecognized 
character is `('

vim +/liointc_of_init +134 drivers/irqchip/irq-loongson-liointc.c

   133  
 > 134  int __init liointc_of_init(struct device_node *node,
   135                                  struct device_node *parent)
   136  {
   137          struct irq_chip_generic *gc;
   138          struct irq_domain *domain;
   139          struct irq_chip_type *ct;
   140          struct liointc_priv *priv;
   141          void __iomem *base;
   142          u32 of_parent_int_map[LIOINTC_NUM_PARENT];
   143          int parent_irq[LIOINTC_NUM_PARENT];
   144          bool have_parent = FALSE;
   145          int sz, i, err = 0;
   146  
   147          priv = kzalloc(sizeof(*priv), GFP_KERNEL);
   148          if (!priv)
   149                  return -ENOMEM;
   150  
   151          base = of_iomap(node, 0);
   152          if (!base) {
   153                  err = -ENODEV;
   154                  goto out_free_priv;
   155          }
   156  
   157          for (i = 0; i < LIOINTC_NUM_PARENT; i++) {
   158                  parent_irq[i] = of_irq_get_byname(node, 
parent_names[i]);
   159                  if (parent_irq[i] > 0)
   160                          have_parent = TRUE;
   161          }
   162          if (!have_parent) {
   163                  err = -ENODEV;
   164                  goto out_iounmap;
   165          }
   166  
   167          sz = of_property_read_variable_u32_array(node,
   168                                                  
"loongson,parent_int_map",
   169                                                  &of_parent_int_map[0],
   170                                                  LIOINTC_NUM_PARENT,
   171                                                  LIOINTC_NUM_PARENT);
   172          if (sz < 4) {
   173                  pr_err("loongson-liointc: No parent_int_map\n");
   174                  err = -ENODEV;
   175                  goto out_iounmap;
   176          }
   177  
   178          for (i = 0; i < LIOINTC_NUM_PARENT; i++)
   179                  priv->handler[i].parent_int_map = of_parent_int_map[i];
   180  
   181          /* Setup IRQ domain */
   182          domain = irq_domain_add_linear(node, 32,
   183                                          &irq_generic_chip_ops, priv);
   184          if (!domain) {
   185                  pr_err("loongson-liointc: cannot add IRQ domain\n");
   186                  err = -EINVAL;
   187                  goto out_iounmap;
   188          }
   189  
   190          err = irq_alloc_domain_generic_chips(domain, 32, 1,
   191                                          node->full_name, 
handle_level_irq,
   192                                          IRQ_NOPROBE, 0, 0);
   193          if (err) {
   194                  pr_err("loongson-liointc: unable to register IRQ 
domain\n");
   195                  goto out_free_domain;
   196          }
   197  
   198  
   199          /* Disable all IRQs */
   200          writel(0xffffffff, base + LIOINTC_REG_INTC_DISABLE);
   201          /* Set to level triggered */
   202          writel(0x0, base + LIOINTC_REG_INTC_EDGE);
   203  
   204          /* Generate parent INT part of map cache */
   205          for (i = 0; i < LIOINTC_NUM_PARENT; i++) {
   206                  u32 pending = priv->handler[i].parent_int_map;
   207  
   208                  while (pending) {
   209                          int bit = __ffs(pending);
   210  
   211                          priv->map_cache[bit] = BIT(i) << 
LIOINTC_SHIFT_INTx;
   212                          pending &= ~BIT(bit);
   213                  }
   214          }
   215  
   216          for (i = 0; i < LIOINTC_CHIP_IRQ; i++) {
   217                  /* Generate core part of map cache */
   218                  priv->map_cache[i] |= BIT(loongson_sysconf.boot_cpu_id);
   219                  writeb(priv->map_cache[i], base + i);
   220          }
   221  
   222          gc = irq_get_domain_generic_chip(domain, 0);
   223          gc->private = priv;
   224          gc->reg_base = base;
   225          gc->domain = domain;
   226          gc->resume = liointc_resume;
   227  
   228          ct = gc->chip_types;
   229          ct->regs.enable = LIOINTC_REG_INTC_ENABLE;
   230          ct->regs.disable = LIOINTC_REG_INTC_DISABLE;
   231          ct->chip.irq_unmask = irq_gc_unmask_enable_reg;
   232          ct->chip.irq_mask = irq_gc_mask_disable_reg;
   233          ct->chip.irq_mask_ack = irq_gc_mask_disable_reg;
   234          ct->chip.irq_set_type = liointc_set_type;
   235  
   236          gc->mask_cache = 0xffffffff;
   237          priv->gc = gc;
   238  
   239          for (i = 0; i < LIOINTC_NUM_PARENT; i++) {
   240                  if (parent_irq[i] <= 0)
   241                          continue;
   242  
   243                  priv->handler[i].priv = priv;
   244                  irq_set_chained_handler_and_data(parent_irq[i],
   245                                  liointc_chained_handle_irq, 
&priv->handler[i]);
   246          }
   247  
   248          return 0;
   249  
   250  out_free_domain:
   251          irq_domain_remove(domain);
   252  out_iounmap:
   253          iounmap(base);
   254  out_free_priv:
   255          kfree(priv);
   256  
   257          return err;
   258  }
   259  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org

Attachment: .config.gz
Description: application/gzip

Reply via email to