Re: [PATCH v21 13/16] PCI: dwc: rcar-gen4: Add R-Car Gen4 PCIe controller support

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

 



Hi Yoshihiro,

kernel test robot noticed the following build warnings:

[auto build test WARNING on pci/next]
[also build test WARNING on pci/for-linus linus/master v6.6-rc2 next-20230921]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Yoshihiro-Shimoda/PCI-dwc-endpoint-Add-multiple-PFs-support-for-dbi2/20230922-145529
base:   https://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git next
patch link:    https://lore.kernel.org/r/20230922065331.3806925-14-yoshihiro.shimoda.uh%40renesas.com
patch subject: [PATCH v21 13/16] PCI: dwc: rcar-gen4: Add R-Car Gen4 PCIe controller support
config: sparc-allyesconfig (https://download.01.org/0day-ci/archive/20230922/202309222125.KiN4nFhD-lkp@xxxxxxxxx/config)
compiler: sparc64-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230922/202309222125.KiN4nFhD-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/202309222125.KiN4nFhD-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

>> drivers/pci/controller/dwc/pcie-rcar-gen4.c:155:5: warning: no previous prototype for 'rcar_gen4_pcie_common_init' [-Wmissing-prototypes]
     155 | int rcar_gen4_pcie_common_init(struct rcar_gen4_pcie *rcar)
         |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/pci/controller/dwc/pcie-rcar-gen4.c:197:6: warning: no previous prototype for 'rcar_gen4_pcie_common_deinit' [-Wmissing-prototypes]
     197 | void rcar_gen4_pcie_common_deinit(struct rcar_gen4_pcie *rcar)
         |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/pci/controller/dwc/pcie-rcar-gen4.c:205:5: warning: no previous prototype for 'rcar_gen4_pcie_prepare' [-Wmissing-prototypes]
     205 | int rcar_gen4_pcie_prepare(struct rcar_gen4_pcie *rcar)
         |     ^~~~~~~~~~~~~~~~~~~~~~
>> drivers/pci/controller/dwc/pcie-rcar-gen4.c:220:6: warning: no previous prototype for 'rcar_gen4_pcie_unprepare' [-Wmissing-prototypes]
     220 | void rcar_gen4_pcie_unprepare(struct rcar_gen4_pcie *rcar)
         |      ^~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/pci/controller/dwc/pcie-rcar-gen4.c:228:5: warning: no previous prototype for 'rcar_gen4_pcie_get_resources' [-Wmissing-prototypes]
     228 | int rcar_gen4_pcie_get_resources(struct rcar_gen4_pcie *rcar)
         |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/pci/controller/dwc/pcie-rcar-gen4.c:242:24: warning: no previous prototype for 'rcar_gen4_pcie_devm_alloc' [-Wmissing-prototypes]
     242 | struct rcar_gen4_pcie *rcar_gen4_pcie_devm_alloc(struct platform_device *pdev)
         |                        ^~~~~~~~~~~~~~~~~~~~~~~~~


vim +/rcar_gen4_pcie_common_init +155 drivers/pci/controller/dwc/pcie-rcar-gen4.c

   154	
 > 155	int rcar_gen4_pcie_common_init(struct rcar_gen4_pcie *rcar)
   156	{
   157		struct dw_pcie *dw = &rcar->dw;
   158		u32 val;
   159		int ret;
   160	
   161		ret = clk_bulk_prepare_enable(DW_PCIE_NUM_CORE_CLKS, dw->core_clks);
   162		if (ret) {
   163			dev_err(dw->dev, "Failed to enable ref clocks\n");
   164			return ret;
   165		}
   166	
   167		if (!reset_control_status(dw->core_rsts[DW_PCIE_PWR_RST].rstc))
   168			reset_control_assert(dw->core_rsts[DW_PCIE_PWR_RST].rstc);
   169	
   170		val = readl(rcar->base + PCIEMSR0);
   171		if (rcar->mode == DW_PCIE_RC_TYPE) {
   172			val |= DEVICE_TYPE_RC;
   173		} else if (rcar->mode == DW_PCIE_EP_TYPE) {
   174			val |= DEVICE_TYPE_EP;
   175		} else {
   176			ret = -EINVAL;
   177			goto err_unprepare;
   178		}
   179	
   180		if (dw->num_lanes < 4)
   181			val |= BIFUR_MOD_SET_ON;
   182	
   183		writel(val, rcar->base + PCIEMSR0);
   184	
   185		ret = reset_control_deassert(dw->core_rsts[DW_PCIE_PWR_RST].rstc);
   186		if (ret)
   187			goto err_unprepare;
   188	
   189		return 0;
   190	
   191	err_unprepare:
   192		clk_bulk_disable_unprepare(DW_PCIE_NUM_CORE_CLKS, dw->core_clks);
   193	
   194		return ret;
   195	}
   196	
 > 197	void rcar_gen4_pcie_common_deinit(struct rcar_gen4_pcie *rcar)
   198	{
   199		struct dw_pcie *dw = &rcar->dw;
   200	
   201		reset_control_assert(dw->core_rsts[DW_PCIE_PWR_RST].rstc);
   202		clk_bulk_disable_unprepare(DW_PCIE_NUM_CORE_CLKS, dw->core_clks);
   203	}
   204	
 > 205	int rcar_gen4_pcie_prepare(struct rcar_gen4_pcie *rcar)
   206	{
   207		struct device *dev = rcar->dw.dev;
   208		int err;
   209	
   210		pm_runtime_enable(dev);
   211		err = pm_runtime_resume_and_get(dev);
   212		if (err < 0) {
   213			dev_err(dev, "Failed to resume/get Runtime PM\n");
   214			pm_runtime_disable(dev);
   215		}
   216	
   217		return err;
   218	}
   219	
 > 220	void rcar_gen4_pcie_unprepare(struct rcar_gen4_pcie *rcar)
   221	{
   222		struct device *dev = rcar->dw.dev;
   223	
   224		pm_runtime_put(dev);
   225		pm_runtime_disable(dev);
   226	}
   227	
 > 228	int rcar_gen4_pcie_get_resources(struct rcar_gen4_pcie *rcar)
   229	{
   230		/* Renesas-specific registers */
   231		rcar->base = devm_platform_ioremap_resource_byname(rcar->pdev, "app");
   232	
   233		return PTR_ERR_OR_ZERO(rcar->base);
   234	}
   235	
   236	static const struct dw_pcie_ops dw_pcie_ops = {
   237		.start_link = rcar_gen4_pcie_start_link,
   238		.stop_link = rcar_gen4_pcie_stop_link,
   239		.link_up = rcar_gen4_pcie_link_up,
   240	};
   241	
 > 242	struct rcar_gen4_pcie *rcar_gen4_pcie_devm_alloc(struct platform_device *pdev)
   243	{
   244		struct device *dev = &pdev->dev;
   245		struct rcar_gen4_pcie *rcar;
   246	
   247		rcar = devm_kzalloc(dev, sizeof(*rcar), GFP_KERNEL);
   248		if (!rcar)
   249			return ERR_PTR(-ENOMEM);
   250	
   251		rcar->dw.ops = &dw_pcie_ops;
   252		rcar->dw.dev = dev;
   253		rcar->pdev = pdev;
   254		dw_pcie_cap_set(&rcar->dw, EDMA_UNROLL);
   255		dw_pcie_cap_set(&rcar->dw, REQ_RES);
   256		platform_set_drvdata(pdev, rcar);
   257	
   258		return rcar;
   259	}
   260	

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



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux