Re: [PATCH] spmi: Fix controller->node != parent->node breakage

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Konrad,

kernel test robot noticed the following build errors:

[auto build test ERROR on 2b88851f583d3c4e40bcd40cfe1965241ec229dd]

url:    https://github.com/intel-lab-lkp/linux/commits/Konrad-Dybcio/spmi-Fix-controller-node-parent-node-breakage/20250111-192215
base:   2b88851f583d3c4e40bcd40cfe1965241ec229dd
patch link:    https://lore.kernel.org/r/20250111-topic-spmi_node_breakage-v1-1-3f60111a1d19%40oss.qualcomm.com
patch subject: [PATCH] spmi: Fix controller->node != parent->node breakage
config: i386-buildonly-randconfig-001-20250112 (https://download.01.org/0day-ci/archive/20250112/202501121029.AZEll6tS-lkp@xxxxxxxxx/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250112/202501121029.AZEll6tS-lkp@xxxxxxxxx/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@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202501121029.AZEll6tS-lkp@xxxxxxxxx/

All error/warnings (new ones prefixed by >>):

   drivers/spmi/spmi-mtk-pmif.c: In function 'mtk_spmi_probe':
>> drivers/spmi/spmi-mtk-pmif.c:456:55: warning: passing argument 2 of 'devm_spmi_controller_alloc' makes pointer from integer without a cast [-Wint-conversion]
     456 |         ctrl = devm_spmi_controller_alloc(&pdev->dev, sizeof(*arb));
         |                                                       ^~~~~~~~~~~~
         |                                                       |
         |                                                       unsigned int
   In file included from drivers/spmi/spmi-mtk-pmif.c:11:
   include/linux/spmi.h:125:72: note: expected 'struct device_node *' but argument is of type 'unsigned int'
     125 |                                                    struct device_node *node,
         |                                                    ~~~~~~~~~~~~~~~~~~~~^~~~
>> drivers/spmi/spmi-mtk-pmif.c:456:16: error: too few arguments to function 'devm_spmi_controller_alloc'
     456 |         ctrl = devm_spmi_controller_alloc(&pdev->dev, sizeof(*arb));
         |                ^~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/spmi.h:124:25: note: declared here
     124 | struct spmi_controller *devm_spmi_controller_alloc(struct device *parent,
         |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~
--
   drivers/spmi/hisi-spmi-controller.c: In function 'spmi_controller_probe':
>> drivers/spmi/hisi-spmi-controller.c:271:60: error: expected ')' before 'sizeof'
     271 |                                           pdev->dev.of_node
         |                                                            ^
         |                                                            )
     272 |                                           sizeof(*spmi_controller));
         |                                           ~~~~~~            
   drivers/spmi/hisi-spmi-controller.c:270:42: note: to match this '('
     270 |         ctrl = devm_spmi_controller_alloc(&pdev->dev,
         |                                          ^
>> drivers/spmi/hisi-spmi-controller.c:270:16: error: too few arguments to function 'devm_spmi_controller_alloc'
     270 |         ctrl = devm_spmi_controller_alloc(&pdev->dev,
         |                ^~~~~~~~~~~~~~~~~~~~~~~~~~
   In file included from drivers/spmi/hisi-spmi-controller.c:13:
   include/linux/spmi.h:124:25: note: declared here
     124 | struct spmi_controller *devm_spmi_controller_alloc(struct device *parent,
         |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~


vim +/devm_spmi_controller_alloc +456 drivers/spmi/spmi-mtk-pmif.c

504eb71e4717ddf James Lo               2021-12-16  448  
b45b3ccef8c063d James Lo               2021-12-16  449  static int mtk_spmi_probe(struct platform_device *pdev)
b45b3ccef8c063d James Lo               2021-12-16  450  {
b45b3ccef8c063d James Lo               2021-12-16  451  	struct pmif *arb;
b45b3ccef8c063d James Lo               2021-12-16  452  	struct spmi_controller *ctrl;
b45b3ccef8c063d James Lo               2021-12-16  453  	int err, i;
b45b3ccef8c063d James Lo               2021-12-16  454  	u32 chan_offset;
b45b3ccef8c063d James Lo               2021-12-16  455  
ffdfbafdc4f46a9 Fei Shao               2023-12-06 @456  	ctrl = devm_spmi_controller_alloc(&pdev->dev, sizeof(*arb));
ffdfbafdc4f46a9 Fei Shao               2023-12-06  457  	if (IS_ERR(ctrl))
ffdfbafdc4f46a9 Fei Shao               2023-12-06  458  		return PTR_ERR(ctrl);
b45b3ccef8c063d James Lo               2021-12-16  459  
b45b3ccef8c063d James Lo               2021-12-16  460  	arb = spmi_controller_get_drvdata(ctrl);
b45b3ccef8c063d James Lo               2021-12-16  461  	arb->data = device_get_match_data(&pdev->dev);
b45b3ccef8c063d James Lo               2021-12-16  462  	if (!arb->data) {
b45b3ccef8c063d James Lo               2021-12-16  463  		dev_err(&pdev->dev, "Cannot get drv_data\n");
ffdfbafdc4f46a9 Fei Shao               2023-12-06  464  		return -EINVAL;
b45b3ccef8c063d James Lo               2021-12-16  465  	}
b45b3ccef8c063d James Lo               2021-12-16  466  
b45b3ccef8c063d James Lo               2021-12-16  467  	arb->base = devm_platform_ioremap_resource_byname(pdev, "pmif");
ffdfbafdc4f46a9 Fei Shao               2023-12-06  468  	if (IS_ERR(arb->base))
ffdfbafdc4f46a9 Fei Shao               2023-12-06  469  		return PTR_ERR(arb->base);
b45b3ccef8c063d James Lo               2021-12-16  470  
b45b3ccef8c063d James Lo               2021-12-16  471  	arb->spmimst_base = devm_platform_ioremap_resource_byname(pdev, "spmimst");
ffdfbafdc4f46a9 Fei Shao               2023-12-06  472  	if (IS_ERR(arb->spmimst_base))
ffdfbafdc4f46a9 Fei Shao               2023-12-06  473  		return PTR_ERR(arb->spmimst_base);
b45b3ccef8c063d James Lo               2021-12-16  474  
b45b3ccef8c063d James Lo               2021-12-16  475  	arb->nclks = ARRAY_SIZE(pmif_clock_names);
b45b3ccef8c063d James Lo               2021-12-16  476  	for (i = 0; i < arb->nclks; i++)
b45b3ccef8c063d James Lo               2021-12-16  477  		arb->clks[i].id = pmif_clock_names[i];
b45b3ccef8c063d James Lo               2021-12-16  478  
e821d50ab5b956e Yu-Che Cheng           2023-12-06  479  	err = clk_bulk_get(&pdev->dev, arb->nclks, arb->clks);
b45b3ccef8c063d James Lo               2021-12-16  480  	if (err) {
b45b3ccef8c063d James Lo               2021-12-16  481  		dev_err(&pdev->dev, "Failed to get clocks: %d\n", err);
ffdfbafdc4f46a9 Fei Shao               2023-12-06  482  		return err;
b45b3ccef8c063d James Lo               2021-12-16  483  	}
b45b3ccef8c063d James Lo               2021-12-16  484  
b45b3ccef8c063d James Lo               2021-12-16  485  	err = clk_bulk_prepare_enable(arb->nclks, arb->clks);
b45b3ccef8c063d James Lo               2021-12-16  486  	if (err) {
b45b3ccef8c063d James Lo               2021-12-16  487  		dev_err(&pdev->dev, "Failed to enable clocks: %d\n", err);
e821d50ab5b956e Yu-Che Cheng           2023-12-06  488  		goto err_put_clks;
b45b3ccef8c063d James Lo               2021-12-16  489  	}
b45b3ccef8c063d James Lo               2021-12-16  490  
b45b3ccef8c063d James Lo               2021-12-16  491  	ctrl->cmd = pmif_arb_cmd;
b45b3ccef8c063d James Lo               2021-12-16  492  	ctrl->read_cmd = pmif_spmi_read_cmd;
b45b3ccef8c063d James Lo               2021-12-16  493  	ctrl->write_cmd = pmif_spmi_write_cmd;
b45b3ccef8c063d James Lo               2021-12-16  494  
b45b3ccef8c063d James Lo               2021-12-16  495  	chan_offset = PMIF_CHAN_OFFSET * arb->data->soc_chan;
b45b3ccef8c063d James Lo               2021-12-16  496  	arb->chan.ch_sta = PMIF_SWINF_0_STA + chan_offset;
b45b3ccef8c063d James Lo               2021-12-16  497  	arb->chan.wdata = PMIF_SWINF_0_WDATA_31_0 + chan_offset;
b45b3ccef8c063d James Lo               2021-12-16  498  	arb->chan.rdata = PMIF_SWINF_0_RDATA_31_0 + chan_offset;
b45b3ccef8c063d James Lo               2021-12-16  499  	arb->chan.ch_send = PMIF_SWINF_0_ACC + chan_offset;
b45b3ccef8c063d James Lo               2021-12-16  500  	arb->chan.ch_rdy = PMIF_SWINF_0_VLD_CLR + chan_offset;
b45b3ccef8c063d James Lo               2021-12-16  501  
f200fff8d019f27 Nícolas F. R. A. Prado 2023-12-06  502  	raw_spin_lock_init(&arb->lock);
f200fff8d019f27 Nícolas F. R. A. Prado 2023-12-06  503  
b45b3ccef8c063d James Lo               2021-12-16  504  	platform_set_drvdata(pdev, ctrl);
b45b3ccef8c063d James Lo               2021-12-16  505  
b45b3ccef8c063d James Lo               2021-12-16  506  	err = spmi_controller_add(ctrl);
b45b3ccef8c063d James Lo               2021-12-16  507  	if (err)
b45b3ccef8c063d James Lo               2021-12-16  508  		goto err_domain_remove;
b45b3ccef8c063d James Lo               2021-12-16  509  
b45b3ccef8c063d James Lo               2021-12-16  510  	return 0;
b45b3ccef8c063d James Lo               2021-12-16  511  
b45b3ccef8c063d James Lo               2021-12-16  512  err_domain_remove:
b45b3ccef8c063d James Lo               2021-12-16  513  	clk_bulk_disable_unprepare(arb->nclks, arb->clks);
e821d50ab5b956e Yu-Che Cheng           2023-12-06  514  err_put_clks:
e821d50ab5b956e Yu-Che Cheng           2023-12-06  515  	clk_bulk_put(arb->nclks, arb->clks);
b45b3ccef8c063d James Lo               2021-12-16  516  	return err;
b45b3ccef8c063d James Lo               2021-12-16  517  }
b45b3ccef8c063d James Lo               2021-12-16  518  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux