* [tip:irq/drivers 7/11] drivers/irqchip/irq-imx-irqsteer.c:269:1: warning: unused label 'out'
@ 2026-11-09 7:33 kernel test robot
0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2026-11-09 7:33 UTC (permalink / raw)
To: Zhipeng Wang; +Cc: oe-kbuild-all, linux-kernel, x86, Thomas Gleixner, Frank Li
tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq/drivers
head: 0c0da722d7839e5250999416404d4a4055afb300
commit: 54ac29cd11115edd9f72f17aa4551658735f919d [7/11] irqchip/imx-irqsteer: Let devres own the clock
config: x86_64-allmodconfig (https://download.01.org/0day-ci/archive/20261109/202611090814.ksXbOR69-lkp@intel.com/config)
compiler: clang version 22.1.8 (https://github.com/llvm/llvm-project ca7933e47d3a3451d81e72ac174dcb5aa28b59d1)
rustc: rustc 1.96.0 (ac68faa20 2026-05-25)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20261109/202611090814.ksXbOR69-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202611090814.ksXbOR69-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/irqchip/irq-imx-irqsteer.c:269:1: warning: unused label 'out' [-Wunused-label]
269 | out:
| ^~~~
1 warning generated.
vim +/out +269 drivers/irqchip/irq-imx-irqsteer.c
0136afa08967f6 Lucas Stach 2018-12-17 178
0136afa08967f6 Lucas Stach 2018-12-17 179 static int imx_irqsteer_probe(struct platform_device *pdev)
0136afa08967f6 Lucas Stach 2018-12-17 180 {
0136afa08967f6 Lucas Stach 2018-12-17 181 struct device_node *np = pdev->dev.of_node;
0136afa08967f6 Lucas Stach 2018-12-17 182 struct irqsteer_data *data;
28528fca490814 Aisheng Dong 2019-02-20 183 u32 irqs_num;
28528fca490814 Aisheng Dong 2019-02-20 184 int i, ret;
0136afa08967f6 Lucas Stach 2018-12-17 185
0136afa08967f6 Lucas Stach 2018-12-17 186 data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL);
0136afa08967f6 Lucas Stach 2018-12-17 187 if (!data)
0136afa08967f6 Lucas Stach 2018-12-17 188 return -ENOMEM;
0136afa08967f6 Lucas Stach 2018-12-17 189
33b1c47d1fc0b5 Shenwei Wang 2024-07-03 190 data->dev = &pdev->dev;
358b9d248a026d Anson Huang 2019-04-01 191 data->regs = devm_platform_ioremap_resource(pdev, 0);
0136afa08967f6 Lucas Stach 2018-12-17 192 if (IS_ERR(data->regs)) {
0136afa08967f6 Lucas Stach 2018-12-17 193 dev_err(&pdev->dev, "failed to initialize reg\n");
0136afa08967f6 Lucas Stach 2018-12-17 194 return PTR_ERR(data->regs);
0136afa08967f6 Lucas Stach 2018-12-17 195 }
0136afa08967f6 Lucas Stach 2018-12-17 196
54ac29cd11115e Zhipeng Wang 2026-11-04 197 data->ipg_clk = devm_clk_get_enabled(&pdev->dev, "ipg");
e0c45b107fc94c Anson Huang 2020-08-11 198 if (IS_ERR(data->ipg_clk))
e0c45b107fc94c Anson Huang 2020-08-11 199 return dev_err_probe(&pdev->dev, PTR_ERR(data->ipg_clk),
e0c45b107fc94c Anson Huang 2020-08-11 200 "failed to get ipg clk\n");
0136afa08967f6 Lucas Stach 2018-12-17 201
0136afa08967f6 Lucas Stach 2018-12-17 202 raw_spin_lock_init(&data->lock);
0136afa08967f6 Lucas Stach 2018-12-17 203
7d3a5eb78e3614 Arnd Bergmann 2019-03-04 204 ret = of_property_read_u32(np, "fsl,num-irqs", &irqs_num);
7d3a5eb78e3614 Arnd Bergmann 2019-03-04 205 if (ret)
7d3a5eb78e3614 Arnd Bergmann 2019-03-04 206 return ret;
7d3a5eb78e3614 Arnd Bergmann 2019-03-04 207 ret = of_property_read_u32(np, "fsl,channel", &data->channel);
7d3a5eb78e3614 Arnd Bergmann 2019-03-04 208 if (ret)
7d3a5eb78e3614 Arnd Bergmann 2019-03-04 209 return ret;
0136afa08967f6 Lucas Stach 2018-12-17 210
5e72917802dd65 Ciprian Marian Costea 2026-03-11 211 data->devtype_data = device_get_match_data(&pdev->dev);
5e72917802dd65 Ciprian Marian Costea 2026-03-11 212 if (!data->devtype_data)
5e72917802dd65 Ciprian Marian Costea 2026-03-11 213 return dev_err_probe(&pdev->dev, -ENODEV, "failed to match device data\n");
5e72917802dd65 Ciprian Marian Costea 2026-03-11 214
28528fca490814 Aisheng Dong 2019-02-20 215 /*
28528fca490814 Aisheng Dong 2019-02-20 216 * There is one output irq for each group of 64 inputs.
28528fca490814 Aisheng Dong 2019-02-20 217 * One register bit map can represent 32 input interrupts.
28528fca490814 Aisheng Dong 2019-02-20 218 */
28528fca490814 Aisheng Dong 2019-02-20 219 data->irq_count = DIV_ROUND_UP(irqs_num, 64);
28528fca490814 Aisheng Dong 2019-02-20 220 data->reg_num = irqs_num / 32;
f99f3c4acaff0d Fabio Estevam 2026-11-04 221 if (!data->irq_count || data->irq_count > CHAN_MAX_OUTPUT_INT)
f99f3c4acaff0d Fabio Estevam 2026-11-04 222 return -EINVAL;
deb904e45b4e32 Aisheng Dong 2019-02-20 223
4730d2233311d8 Lucas Stach 2022-04-06 224 if (IS_ENABLED(CONFIG_PM)) {
0136afa08967f6 Lucas Stach 2018-12-17 225 data->saved_reg = devm_kzalloc(&pdev->dev,
deb904e45b4e32 Aisheng Dong 2019-02-20 226 sizeof(u32) * data->reg_num,
0136afa08967f6 Lucas Stach 2018-12-17 227 GFP_KERNEL);
0136afa08967f6 Lucas Stach 2018-12-17 228 if (!data->saved_reg)
0136afa08967f6 Lucas Stach 2018-12-17 229 return -ENOMEM;
0136afa08967f6 Lucas Stach 2018-12-17 230 }
0136afa08967f6 Lucas Stach 2018-12-17 231
0136afa08967f6 Lucas Stach 2018-12-17 232 /* steer all IRQs into configured channel */
5e72917802dd65 Ciprian Marian Costea 2026-03-11 233 if (irqsteer_has_chanctrl(data->devtype_data))
0136afa08967f6 Lucas Stach 2018-12-17 234 writel_relaxed(BIT(data->channel), data->regs + CHANCTRL);
0136afa08967f6 Lucas Stach 2018-12-17 235
f98835ded6dcbb Zhipeng Wang 2026-11-04 236 /*
f98835ded6dcbb Zhipeng Wang 2026-11-04 237 * Mask all interrupts before wiring up the chained handlers. CHANMASK
f98835ded6dcbb Zhipeng Wang 2026-11-04 238 * has inverted polarity (a set bit enables the interrupt), so writing
f98835ded6dcbb Zhipeng Wang 2026-11-04 239 * zero masks the source.
f98835ded6dcbb Zhipeng Wang 2026-11-04 240 */
f98835ded6dcbb Zhipeng Wang 2026-11-04 241 for (i = 0; i < data->reg_num; i++)
f98835ded6dcbb Zhipeng Wang 2026-11-04 242 writel_relaxed(0, data->regs + CHANMASK(i, data->reg_num));
f98835ded6dcbb Zhipeng Wang 2026-11-04 243
95cb660c28dcec Zhipeng Wang 2026-11-04 244 platform_set_drvdata(pdev, data);
95cb660c28dcec Zhipeng Wang 2026-11-04 245
95cb660c28dcec Zhipeng Wang 2026-11-04 246 ret = devm_pm_runtime_set_active_enabled(&pdev->dev);
95cb660c28dcec Zhipeng Wang 2026-11-04 247 if (ret)
54ac29cd11115e Zhipeng Wang 2026-11-04 248 return ret;
95cb660c28dcec Zhipeng Wang 2026-11-04 249
93174c05dd2e9b Jiri Slaby (SUSE 2025-06-11 250) data->domain = irq_domain_create_linear(dev_fwnode(&pdev->dev), data->reg_num * 32,
0136afa08967f6 Lucas Stach 2018-12-17 251 &imx_irqsteer_domain_ops, data);
0136afa08967f6 Lucas Stach 2018-12-17 252 if (!data->domain) {
0136afa08967f6 Lucas Stach 2018-12-17 253 dev_err(&pdev->dev, "failed to create IRQ domain\n");
54ac29cd11115e Zhipeng Wang 2026-11-04 254 return -ENOMEM;
0136afa08967f6 Lucas Stach 2018-12-17 255 }
4730d2233311d8 Lucas Stach 2022-04-06 256 irq_domain_set_pm_device(data->domain, &pdev->dev);
0136afa08967f6 Lucas Stach 2018-12-17 257
28528fca490814 Aisheng Dong 2019-02-20 258 for (i = 0; i < data->irq_count; i++) {
28528fca490814 Aisheng Dong 2019-02-20 259 data->irq[i] = irq_of_parse_and_map(np, i);
7db5fd6b751fbc Shengjiu Wang 2025-03-05 260 if (!data->irq[i])
7db5fd6b751fbc Shengjiu Wang 2025-03-05 261 break;
28528fca490814 Aisheng Dong 2019-02-20 262
28528fca490814 Aisheng Dong 2019-02-20 263 irq_set_chained_handler_and_data(data->irq[i],
28528fca490814 Aisheng Dong 2019-02-20 264 imx_irqsteer_irq_handler,
0136afa08967f6 Lucas Stach 2018-12-17 265 data);
28528fca490814 Aisheng Dong 2019-02-20 266 }
0136afa08967f6 Lucas Stach 2018-12-17 267
0136afa08967f6 Lucas Stach 2018-12-17 268 return 0;
28528fca490814 Aisheng Dong 2019-02-20 @269 out:
28528fca490814 Aisheng Dong 2019-02-20 270 clk_disable_unprepare(data->ipg_clk);
28528fca490814 Aisheng Dong 2019-02-20 271 return ret;
0136afa08967f6 Lucas Stach 2018-12-17 272 }
0136afa08967f6 Lucas Stach 2018-12-17 273
:::::: The code at line 269 was first introduced by commit
:::::: 28528fca4908142bd1a3247956cba56c9c667d71 irqchip/imx-irqsteer: Add multi output interrupts support
:::::: TO: Aisheng Dong <aisheng.dong@nxp.com>
:::::: CC: Marc Zyngier <marc.zyngier@arm.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 2+ messages in thread* [tip:irq/drivers 7/11] drivers/irqchip/irq-imx-irqsteer.c:269:1: warning: unused label 'out'
@ 2026-11-09 6:13 kernel test robot
0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2026-11-09 6:13 UTC (permalink / raw)
To: Zhipeng Wang
Cc: llvm, oe-kbuild-all, linux-kernel, x86, Thomas Gleixner, Frank Li
tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq/drivers
head: 0c0da722d7839e5250999416404d4a4055afb300
commit: 54ac29cd11115edd9f72f17aa4551658735f919d [7/11] irqchip/imx-irqsteer: Let devres own the clock
config: arm-defconfig (https://download.01.org/0day-ci/archive/20261109/202611091438.4MIapT02-lkp@intel.com/config)
compiler: clang version 24.0.0git (https://github.com/llvm/llvm-project fc9576e3b179738d99c5babe5cd9d6c1f883e0db)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20261109/202611091438.4MIapT02-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202611091438.4MIapT02-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/irqchip/irq-imx-irqsteer.c:269:1: warning: unused label 'out' [-Wunused-label]
269 | out:
| ^~~~
1 warning generated.
vim +/out +269 drivers/irqchip/irq-imx-irqsteer.c
0136afa08967f6e Lucas Stach 2018-12-17 178
0136afa08967f6e Lucas Stach 2018-12-17 179 static int imx_irqsteer_probe(struct platform_device *pdev)
0136afa08967f6e Lucas Stach 2018-12-17 180 {
0136afa08967f6e Lucas Stach 2018-12-17 181 struct device_node *np = pdev->dev.of_node;
0136afa08967f6e Lucas Stach 2018-12-17 182 struct irqsteer_data *data;
28528fca4908142 Aisheng Dong 2019-02-20 183 u32 irqs_num;
28528fca4908142 Aisheng Dong 2019-02-20 184 int i, ret;
0136afa08967f6e Lucas Stach 2018-12-17 185
0136afa08967f6e Lucas Stach 2018-12-17 186 data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL);
0136afa08967f6e Lucas Stach 2018-12-17 187 if (!data)
0136afa08967f6e Lucas Stach 2018-12-17 188 return -ENOMEM;
0136afa08967f6e Lucas Stach 2018-12-17 189
33b1c47d1fc0b5f Shenwei Wang 2024-07-03 190 data->dev = &pdev->dev;
358b9d248a026d7 Anson Huang 2019-04-01 191 data->regs = devm_platform_ioremap_resource(pdev, 0);
0136afa08967f6e Lucas Stach 2018-12-17 192 if (IS_ERR(data->regs)) {
0136afa08967f6e Lucas Stach 2018-12-17 193 dev_err(&pdev->dev, "failed to initialize reg\n");
0136afa08967f6e Lucas Stach 2018-12-17 194 return PTR_ERR(data->regs);
0136afa08967f6e Lucas Stach 2018-12-17 195 }
0136afa08967f6e Lucas Stach 2018-12-17 196
54ac29cd11115ed Zhipeng Wang 2026-11-04 197 data->ipg_clk = devm_clk_get_enabled(&pdev->dev, "ipg");
e0c45b107fc94c5 Anson Huang 2020-08-11 198 if (IS_ERR(data->ipg_clk))
e0c45b107fc94c5 Anson Huang 2020-08-11 199 return dev_err_probe(&pdev->dev, PTR_ERR(data->ipg_clk),
e0c45b107fc94c5 Anson Huang 2020-08-11 200 "failed to get ipg clk\n");
0136afa08967f6e Lucas Stach 2018-12-17 201
0136afa08967f6e Lucas Stach 2018-12-17 202 raw_spin_lock_init(&data->lock);
0136afa08967f6e Lucas Stach 2018-12-17 203
7d3a5eb78e3614b Arnd Bergmann 2019-03-04 204 ret = of_property_read_u32(np, "fsl,num-irqs", &irqs_num);
7d3a5eb78e3614b Arnd Bergmann 2019-03-04 205 if (ret)
7d3a5eb78e3614b Arnd Bergmann 2019-03-04 206 return ret;
7d3a5eb78e3614b Arnd Bergmann 2019-03-04 207 ret = of_property_read_u32(np, "fsl,channel", &data->channel);
7d3a5eb78e3614b Arnd Bergmann 2019-03-04 208 if (ret)
7d3a5eb78e3614b Arnd Bergmann 2019-03-04 209 return ret;
0136afa08967f6e Lucas Stach 2018-12-17 210
5e72917802dd65a Ciprian Marian Costea 2026-03-11 211 data->devtype_data = device_get_match_data(&pdev->dev);
5e72917802dd65a Ciprian Marian Costea 2026-03-11 212 if (!data->devtype_data)
5e72917802dd65a Ciprian Marian Costea 2026-03-11 213 return dev_err_probe(&pdev->dev, -ENODEV, "failed to match device data\n");
5e72917802dd65a Ciprian Marian Costea 2026-03-11 214
28528fca4908142 Aisheng Dong 2019-02-20 215 /*
28528fca4908142 Aisheng Dong 2019-02-20 216 * There is one output irq for each group of 64 inputs.
28528fca4908142 Aisheng Dong 2019-02-20 217 * One register bit map can represent 32 input interrupts.
28528fca4908142 Aisheng Dong 2019-02-20 218 */
28528fca4908142 Aisheng Dong 2019-02-20 219 data->irq_count = DIV_ROUND_UP(irqs_num, 64);
28528fca4908142 Aisheng Dong 2019-02-20 220 data->reg_num = irqs_num / 32;
f99f3c4acaff0df Fabio Estevam 2026-11-04 221 if (!data->irq_count || data->irq_count > CHAN_MAX_OUTPUT_INT)
f99f3c4acaff0df Fabio Estevam 2026-11-04 222 return -EINVAL;
deb904e45b4e325 Aisheng Dong 2019-02-20 223
4730d2233311d86 Lucas Stach 2022-04-06 224 if (IS_ENABLED(CONFIG_PM)) {
0136afa08967f6e Lucas Stach 2018-12-17 225 data->saved_reg = devm_kzalloc(&pdev->dev,
deb904e45b4e325 Aisheng Dong 2019-02-20 226 sizeof(u32) * data->reg_num,
0136afa08967f6e Lucas Stach 2018-12-17 227 GFP_KERNEL);
0136afa08967f6e Lucas Stach 2018-12-17 228 if (!data->saved_reg)
0136afa08967f6e Lucas Stach 2018-12-17 229 return -ENOMEM;
0136afa08967f6e Lucas Stach 2018-12-17 230 }
0136afa08967f6e Lucas Stach 2018-12-17 231
0136afa08967f6e Lucas Stach 2018-12-17 232 /* steer all IRQs into configured channel */
5e72917802dd65a Ciprian Marian Costea 2026-03-11 233 if (irqsteer_has_chanctrl(data->devtype_data))
0136afa08967f6e Lucas Stach 2018-12-17 234 writel_relaxed(BIT(data->channel), data->regs + CHANCTRL);
0136afa08967f6e Lucas Stach 2018-12-17 235
f98835ded6dcbb9 Zhipeng Wang 2026-11-04 236 /*
f98835ded6dcbb9 Zhipeng Wang 2026-11-04 237 * Mask all interrupts before wiring up the chained handlers. CHANMASK
f98835ded6dcbb9 Zhipeng Wang 2026-11-04 238 * has inverted polarity (a set bit enables the interrupt), so writing
f98835ded6dcbb9 Zhipeng Wang 2026-11-04 239 * zero masks the source.
f98835ded6dcbb9 Zhipeng Wang 2026-11-04 240 */
f98835ded6dcbb9 Zhipeng Wang 2026-11-04 241 for (i = 0; i < data->reg_num; i++)
f98835ded6dcbb9 Zhipeng Wang 2026-11-04 242 writel_relaxed(0, data->regs + CHANMASK(i, data->reg_num));
f98835ded6dcbb9 Zhipeng Wang 2026-11-04 243
95cb660c28dcecf Zhipeng Wang 2026-11-04 244 platform_set_drvdata(pdev, data);
95cb660c28dcecf Zhipeng Wang 2026-11-04 245
95cb660c28dcecf Zhipeng Wang 2026-11-04 246 ret = devm_pm_runtime_set_active_enabled(&pdev->dev);
95cb660c28dcecf Zhipeng Wang 2026-11-04 247 if (ret)
54ac29cd11115ed Zhipeng Wang 2026-11-04 248 return ret;
95cb660c28dcecf Zhipeng Wang 2026-11-04 249
93174c05dd2e9b0 Jiri Slaby (SUSE 2025-06-11 250) data->domain = irq_domain_create_linear(dev_fwnode(&pdev->dev), data->reg_num * 32,
0136afa08967f6e Lucas Stach 2018-12-17 251 &imx_irqsteer_domain_ops, data);
0136afa08967f6e Lucas Stach 2018-12-17 252 if (!data->domain) {
0136afa08967f6e Lucas Stach 2018-12-17 253 dev_err(&pdev->dev, "failed to create IRQ domain\n");
54ac29cd11115ed Zhipeng Wang 2026-11-04 254 return -ENOMEM;
0136afa08967f6e Lucas Stach 2018-12-17 255 }
4730d2233311d86 Lucas Stach 2022-04-06 256 irq_domain_set_pm_device(data->domain, &pdev->dev);
0136afa08967f6e Lucas Stach 2018-12-17 257
28528fca4908142 Aisheng Dong 2019-02-20 258 for (i = 0; i < data->irq_count; i++) {
28528fca4908142 Aisheng Dong 2019-02-20 259 data->irq[i] = irq_of_parse_and_map(np, i);
7db5fd6b751fbca Shengjiu Wang 2025-03-05 260 if (!data->irq[i])
7db5fd6b751fbca Shengjiu Wang 2025-03-05 261 break;
28528fca4908142 Aisheng Dong 2019-02-20 262
28528fca4908142 Aisheng Dong 2019-02-20 263 irq_set_chained_handler_and_data(data->irq[i],
28528fca4908142 Aisheng Dong 2019-02-20 264 imx_irqsteer_irq_handler,
0136afa08967f6e Lucas Stach 2018-12-17 265 data);
28528fca4908142 Aisheng Dong 2019-02-20 266 }
0136afa08967f6e Lucas Stach 2018-12-17 267
0136afa08967f6e Lucas Stach 2018-12-17 268 return 0;
28528fca4908142 Aisheng Dong 2019-02-20 @269 out:
28528fca4908142 Aisheng Dong 2019-02-20 270 clk_disable_unprepare(data->ipg_clk);
28528fca4908142 Aisheng Dong 2019-02-20 271 return ret;
0136afa08967f6e Lucas Stach 2018-12-17 272 }
0136afa08967f6e Lucas Stach 2018-12-17 273
:::::: The code at line 269 was first introduced by commit
:::::: 28528fca4908142bd1a3247956cba56c9c667d71 irqchip/imx-irqsteer: Add multi output interrupts support
:::::: TO: Aisheng Dong <aisheng.dong@nxp.com>
:::::: CC: Marc Zyngier <marc.zyngier@arm.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-11-09 7:34 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-11-09 7:33 [tip:irq/drivers 7/11] drivers/irqchip/irq-imx-irqsteer.c:269:1: warning: unused label 'out' kernel test robot
-- strict thread matches above, loose matches on Subject: below --
2026-11-09 6:13 kernel test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®