[tip:irq/core 14/15] kernel/irq/manage.c:1324:7: error: 'force_irqthreads' undeclared; did you mean 'force_irqthreads_key'?

From: kernel test robot
Date: Tue Aug 10 2021 - 12:56:00 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq/core
head: 1d07a835819e2d3c85af8f093a02c2e6bca422d6
commit: af5b7fe6bb77ac775d446e2f25f013d5df551e9a [14/15] genirq: Change force_irqthreads to a static key
config: i386-tinyconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=af5b7fe6bb77ac775d446e2f25f013d5df551e9a
git remote add tip https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git
git fetch --no-tags tip irq/core
git checkout af5b7fe6bb77ac775d446e2f25f013d5df551e9a
# save the attached .config to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash kernel/irq/

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

All errors (new ones prefixed by >>):

kernel/irq/manage.c: In function 'irq_setup_forced_threading':
>> kernel/irq/manage.c:1324:7: error: 'force_irqthreads' undeclared (first use in this function); did you mean 'force_irqthreads_key'?
1324 | if (!force_irqthreads)
| ^~~~~~~~~~~~~~~~
| force_irqthreads_key
kernel/irq/manage.c:1324:7: note: each undeclared identifier is reported only once for each function it appears in


vim +1324 kernel/irq/manage.c

a92444c6b2225a Thomas Gleixner 2014-02-15 1321
2a1d3ab8986d1b Thomas Gleixner 2015-09-21 1322 static int irq_setup_forced_threading(struct irqaction *new)
8d32a307e4faa8 Thomas Gleixner 2011-02-23 1323 {
8d32a307e4faa8 Thomas Gleixner 2011-02-23 @1324 if (!force_irqthreads)
2a1d3ab8986d1b Thomas Gleixner 2015-09-21 1325 return 0;
8d32a307e4faa8 Thomas Gleixner 2011-02-23 1326 if (new->flags & (IRQF_NO_THREAD | IRQF_PERCPU | IRQF_ONESHOT))
2a1d3ab8986d1b Thomas Gleixner 2015-09-21 1327 return 0;
8d32a307e4faa8 Thomas Gleixner 2011-02-23 1328
d1f0301b3333ee Thomas Gleixner 2018-08-03 1329 /*
d1f0301b3333ee Thomas Gleixner 2018-08-03 1330 * No further action required for interrupts which are requested as
d1f0301b3333ee Thomas Gleixner 2018-08-03 1331 * threaded interrupts already
d1f0301b3333ee Thomas Gleixner 2018-08-03 1332 */
d1f0301b3333ee Thomas Gleixner 2018-08-03 1333 if (new->handler == irq_default_primary_handler)
d1f0301b3333ee Thomas Gleixner 2018-08-03 1334 return 0;
d1f0301b3333ee Thomas Gleixner 2018-08-03 1335
8d32a307e4faa8 Thomas Gleixner 2011-02-23 1336 new->flags |= IRQF_ONESHOT;
8d32a307e4faa8 Thomas Gleixner 2011-02-23 1337
2a1d3ab8986d1b Thomas Gleixner 2015-09-21 1338 /*
2a1d3ab8986d1b Thomas Gleixner 2015-09-21 1339 * Handle the case where we have a real primary handler and a
2a1d3ab8986d1b Thomas Gleixner 2015-09-21 1340 * thread handler. We force thread them as well by creating a
2a1d3ab8986d1b Thomas Gleixner 2015-09-21 1341 * secondary action.
2a1d3ab8986d1b Thomas Gleixner 2015-09-21 1342 */
d1f0301b3333ee Thomas Gleixner 2018-08-03 1343 if (new->handler && new->thread_fn) {
2a1d3ab8986d1b Thomas Gleixner 2015-09-21 1344 /* Allocate the secondary action */
2a1d3ab8986d1b Thomas Gleixner 2015-09-21 1345 new->secondary = kzalloc(sizeof(struct irqaction), GFP_KERNEL);
2a1d3ab8986d1b Thomas Gleixner 2015-09-21 1346 if (!new->secondary)
2a1d3ab8986d1b Thomas Gleixner 2015-09-21 1347 return -ENOMEM;
2a1d3ab8986d1b Thomas Gleixner 2015-09-21 1348 new->secondary->handler = irq_forced_secondary_handler;
2a1d3ab8986d1b Thomas Gleixner 2015-09-21 1349 new->secondary->thread_fn = new->thread_fn;
2a1d3ab8986d1b Thomas Gleixner 2015-09-21 1350 new->secondary->dev_id = new->dev_id;
2a1d3ab8986d1b Thomas Gleixner 2015-09-21 1351 new->secondary->irq = new->irq;
2a1d3ab8986d1b Thomas Gleixner 2015-09-21 1352 new->secondary->name = new->name;
2a1d3ab8986d1b Thomas Gleixner 2015-09-21 1353 }
2a1d3ab8986d1b Thomas Gleixner 2015-09-21 1354 /* Deal with the primary handler */
8d32a307e4faa8 Thomas Gleixner 2011-02-23 1355 set_bit(IRQTF_FORCED_THREAD, &new->thread_flags);
8d32a307e4faa8 Thomas Gleixner 2011-02-23 1356 new->thread_fn = new->handler;
8d32a307e4faa8 Thomas Gleixner 2011-02-23 1357 new->handler = irq_default_primary_handler;
2a1d3ab8986d1b Thomas Gleixner 2015-09-21 1358 return 0;
8d32a307e4faa8 Thomas Gleixner 2011-02-23 1359 }
8d32a307e4faa8 Thomas Gleixner 2011-02-23 1360

:::::: The code at line 1324 was first introduced by commit
:::::: 8d32a307e4faa8b123dc8a9cd56d1a7525f69ad3 genirq: Provide forced interrupt threading

:::::: TO: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
:::::: 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