[morse:mpam/snapshot/v5.15 70/139] drivers/irqchip/irq-gic-v3.c:1422:22: error: 'GIC_IRQ_TYPE_LPI' undeclared

From: kernel test robot
Date: Sun Nov 14 2021 - 03:15:49 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/morse/linux.git mpam/snapshot/v5.15
head: ce3629841262f725a5f3a327403fcaf0e604a85e
commit: d69569a733100394b3e22e7fcef6f5013827ac3b [70/139] arm64: irq: Collect GIC_IRQ_TYPE definitions into one place
config: arm-allyesconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 11.2.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
# https://git.kernel.org/pub/scm/linux/kernel/git/morse/linux.git/commit/?id=d69569a733100394b3e22e7fcef6f5013827ac3b
git remote add morse https://git.kernel.org/pub/scm/linux/kernel/git/morse/linux.git
git fetch --no-tags morse mpam/snapshot/v5.15
git checkout d69569a733100394b3e22e7fcef6f5013827ac3b
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arm SHELL=/bin/bash drivers/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

drivers/irqchip/irq-gic-v3.c: In function 'gic_irq_domain_translate':
>> drivers/irqchip/irq-gic-v3.c:1422:22: error: 'GIC_IRQ_TYPE_LPI' undeclared (first use in this function)
1422 | case GIC_IRQ_TYPE_LPI: /* LPI */
| ^~~~~~~~~~~~~~~~
drivers/irqchip/irq-gic-v3.c:1422:22: note: each undeclared identifier is reported only once for each function it appears in
>> drivers/irqchip/irq-gic-v3.c:1425:22: error: 'GIC_IRQ_TYPE_PARTITION' undeclared (first use in this function)
1425 | case GIC_IRQ_TYPE_PARTITION:
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/irqchip/irq-gic-v3.c: In function '__partition_ppis':
drivers/irqchip/irq-gic-v3.c:1840:43: error: 'GIC_IRQ_TYPE_PARTITION' undeclared (first use in this function)
1840 | [0] = GIC_IRQ_TYPE_PARTITION,
| ^~~~~~~~~~~~~~~~~~~~~~
--
drivers/irqchip/irq-gic-v3-its.c: In function 'its_irq_gic_domain_alloc':
>> drivers/irqchip/irq-gic-v3-its.c:3518:35: error: 'GIC_IRQ_TYPE_LPI' undeclared (first use in this function)
3518 | fwspec.param[0] = GIC_IRQ_TYPE_LPI;
| ^~~~~~~~~~~~~~~~
drivers/irqchip/irq-gic-v3-its.c:3518:35: note: each undeclared identifier is reported only once for each function it appears in


vim +/GIC_IRQ_TYPE_LPI +1422 drivers/irqchip/irq-gic-v3.c

021f653791ad17 Marc Zyngier 2014-06-30 1393
f833f57ff25450 Marc Zyngier 2015-10-13 1394 static int gic_irq_domain_translate(struct irq_domain *d,
f833f57ff25450 Marc Zyngier 2015-10-13 1395 struct irq_fwspec *fwspec,
f833f57ff25450 Marc Zyngier 2015-10-13 1396 unsigned long *hwirq,
f833f57ff25450 Marc Zyngier 2015-10-13 1397 unsigned int *type)
021f653791ad17 Marc Zyngier 2014-06-30 1398 {
64b499d8df40da Marc Zyngier 2020-04-25 1399 if (fwspec->param_count == 1 && fwspec->param[0] < 16) {
64b499d8df40da Marc Zyngier 2020-04-25 1400 *hwirq = fwspec->param[0];
64b499d8df40da Marc Zyngier 2020-04-25 1401 *type = IRQ_TYPE_EDGE_RISING;
64b499d8df40da Marc Zyngier 2020-04-25 1402 return 0;
64b499d8df40da Marc Zyngier 2020-04-25 1403 }
64b499d8df40da Marc Zyngier 2020-04-25 1404
f833f57ff25450 Marc Zyngier 2015-10-13 1405 if (is_of_node(fwspec->fwnode)) {
f833f57ff25450 Marc Zyngier 2015-10-13 1406 if (fwspec->param_count < 3)
021f653791ad17 Marc Zyngier 2014-06-30 1407 return -EINVAL;
021f653791ad17 Marc Zyngier 2014-06-30 1408
db8c70ec1f9d45 Marc Zyngier 2015-10-14 1409 switch (fwspec->param[0]) {
db8c70ec1f9d45 Marc Zyngier 2015-10-14 1410 case 0: /* SPI */
db8c70ec1f9d45 Marc Zyngier 2015-10-14 1411 *hwirq = fwspec->param[1] + 32;
db8c70ec1f9d45 Marc Zyngier 2015-10-14 1412 break;
db8c70ec1f9d45 Marc Zyngier 2015-10-14 1413 case 1: /* PPI */
f833f57ff25450 Marc Zyngier 2015-10-13 1414 *hwirq = fwspec->param[1] + 16;
db8c70ec1f9d45 Marc Zyngier 2015-10-14 1415 break;
211bddd210a674 Marc Zyngier 2019-07-16 1416 case 2: /* ESPI */
211bddd210a674 Marc Zyngier 2019-07-16 1417 *hwirq = fwspec->param[1] + ESPI_BASE_INTID;
211bddd210a674 Marc Zyngier 2019-07-16 1418 break;
5f51f803826e4f Marc Zyngier 2019-07-18 1419 case 3: /* EPPI */
5f51f803826e4f Marc Zyngier 2019-07-18 1420 *hwirq = fwspec->param[1] + EPPI_BASE_INTID;
5f51f803826e4f Marc Zyngier 2019-07-18 1421 break;
db8c70ec1f9d45 Marc Zyngier 2015-10-14 @1422 case GIC_IRQ_TYPE_LPI: /* LPI */
db8c70ec1f9d45 Marc Zyngier 2015-10-14 1423 *hwirq = fwspec->param[1];
db8c70ec1f9d45 Marc Zyngier 2015-10-14 1424 break;
5f51f803826e4f Marc Zyngier 2019-07-18 @1425 case GIC_IRQ_TYPE_PARTITION:
5f51f803826e4f Marc Zyngier 2019-07-18 1426 *hwirq = fwspec->param[1];
5f51f803826e4f Marc Zyngier 2019-07-18 1427 if (fwspec->param[1] >= 16)
5f51f803826e4f Marc Zyngier 2019-07-18 1428 *hwirq += EPPI_BASE_INTID - 16;
5f51f803826e4f Marc Zyngier 2019-07-18 1429 else
5f51f803826e4f Marc Zyngier 2019-07-18 1430 *hwirq += 16;
5f51f803826e4f Marc Zyngier 2019-07-18 1431 break;
db8c70ec1f9d45 Marc Zyngier 2015-10-14 1432 default:
db8c70ec1f9d45 Marc Zyngier 2015-10-14 1433 return -EINVAL;
db8c70ec1f9d45 Marc Zyngier 2015-10-14 1434 }
f833f57ff25450 Marc Zyngier 2015-10-13 1435
f833f57ff25450 Marc Zyngier 2015-10-13 1436 *type = fwspec->param[2] & IRQ_TYPE_SENSE_MASK;
6ef6386ef7c15b Marc Zyngier 2018-03-16 1437
65da7d1979c229 Marc Zyngier 2018-03-20 1438 /*
65da7d1979c229 Marc Zyngier 2018-03-20 1439 * Make it clear that broken DTs are... broken.
a359f757965aaf Ingo Molnar 2021-03-22 1440 * Partitioned PPIs are an unfortunate exception.
65da7d1979c229 Marc Zyngier 2018-03-20 1441 */
65da7d1979c229 Marc Zyngier 2018-03-20 1442 WARN_ON(*type == IRQ_TYPE_NONE &&
65da7d1979c229 Marc Zyngier 2018-03-20 1443 fwspec->param[0] != GIC_IRQ_TYPE_PARTITION);
021f653791ad17 Marc Zyngier 2014-06-30 1444 return 0;
021f653791ad17 Marc Zyngier 2014-06-30 1445 }
021f653791ad17 Marc Zyngier 2014-06-30 1446
ffa7d6166a9611 Tomasz Nowicki 2016-01-19 1447 if (is_fwnode_irqchip(fwspec->fwnode)) {
ffa7d6166a9611 Tomasz Nowicki 2016-01-19 1448 if(fwspec->param_count != 2)
ffa7d6166a9611 Tomasz Nowicki 2016-01-19 1449 return -EINVAL;
ffa7d6166a9611 Tomasz Nowicki 2016-01-19 1450
ffa7d6166a9611 Tomasz Nowicki 2016-01-19 1451 *hwirq = fwspec->param[0];
ffa7d6166a9611 Tomasz Nowicki 2016-01-19 1452 *type = fwspec->param[1];
6ef6386ef7c15b Marc Zyngier 2018-03-16 1453
6ef6386ef7c15b Marc Zyngier 2018-03-16 1454 WARN_ON(*type == IRQ_TYPE_NONE);
ffa7d6166a9611 Tomasz Nowicki 2016-01-19 1455 return 0;
ffa7d6166a9611 Tomasz Nowicki 2016-01-19 1456 }
ffa7d6166a9611 Tomasz Nowicki 2016-01-19 1457
f833f57ff25450 Marc Zyngier 2015-10-13 1458 return -EINVAL;
f833f57ff25450 Marc Zyngier 2015-10-13 1459 }
f833f57ff25450 Marc Zyngier 2015-10-13 1460

:::::: The code at line 1422 was first introduced by commit
:::::: db8c70ec1f9d45e530383204c57f2971df4bd334 irqchip/gic-v3: Fix translation of LPIs after conversion to irq_fwspec

:::::: TO: Marc Zyngier <marc.zyngier@xxxxxxx>
:::::: CC: Thomas Gleixner <tglx@xxxxxxxxxxxxx>

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

Attachment: .config.gz
Description: application/gzip