mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [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
* [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

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  6:13 [tip:irq/drivers 7/11] drivers/irqchip/irq-imx-irqsteer.c:269:1: warning: unused label 'out' kernel test robot
2026-11-09  7:33 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®