diff mbox series

[3/4] soc: Makefile: increase build coverage for i.MX

Message ID 1579146280-1750-4-git-send-email-peng.fan@nxp.com (mailing list archive)
State New, archived
Headers show
Series soc: imx: increase build coverage for imx8 soc driver | expand

Commit Message

Peng Fan Jan. 16, 2020, 3:49 a.m. UTC
From: Peng Fan <peng.fan@nxp.com>

Increase build coverage for i.MX SoC drivers.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
 drivers/soc/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

kernel test robot Jan. 18, 2020, 8:38 a.m. UTC | #1
Hi Peng,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on shawnguo/for-next]
[also build test ERROR on arm64/for-next/core linus/master v5.5-rc6]
[cannot apply to next-20200117]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/Peng-Fan/soc-imx-increase-build-coverage-for-imx8-soc-driver/20200117-121515
base:   https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux.git for-next
config: sh-allmodconfig (attached as .config)
compiler: sh4-linux-gcc (GCC) 7.5.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        GCC_VERSION=7.5.0 make.cross ARCH=sh 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   drivers/soc/imx/gpcv2.c: In function 'imx_gpcv2_probe':
>> drivers/soc/imx/gpcv2.c:561:21: error: 'SZ_4K' undeclared (first use in this function)
      .max_register   = SZ_4K,
                        ^~~~~
   drivers/soc/imx/gpcv2.c:561:21: note: each undeclared identifier is reported only once for each function it appears in

vim +/SZ_4K +561 drivers/soc/imx/gpcv2.c

03aa12629fc4f7 Andrey Smirnov 2017-03-28  549  
03aa12629fc4f7 Andrey Smirnov 2017-03-28  550  static int imx_gpcv2_probe(struct platform_device *pdev)
03aa12629fc4f7 Andrey Smirnov 2017-03-28  551  {
e125dcba83f59b Lucas Stach    2018-11-16  552  	const struct imx_pgc_domain_data *domain_data =
e125dcba83f59b Lucas Stach    2018-11-16  553  			of_device_get_match_data(&pdev->dev);
e125dcba83f59b Lucas Stach    2018-11-16  554  
e125dcba83f59b Lucas Stach    2018-11-16  555  	struct regmap_config regmap_config = {
03aa12629fc4f7 Andrey Smirnov 2017-03-28  556  		.reg_bits	= 32,
03aa12629fc4f7 Andrey Smirnov 2017-03-28  557  		.val_bits	= 32,
03aa12629fc4f7 Andrey Smirnov 2017-03-28  558  		.reg_stride	= 4,
e125dcba83f59b Lucas Stach    2018-11-16  559  		.rd_table	= domain_data->reg_access_table,
e125dcba83f59b Lucas Stach    2018-11-16  560  		.wr_table	= domain_data->reg_access_table,
03aa12629fc4f7 Andrey Smirnov 2017-03-28 @561  		.max_register   = SZ_4K,
03aa12629fc4f7 Andrey Smirnov 2017-03-28  562  	};
03aa12629fc4f7 Andrey Smirnov 2017-03-28  563  	struct device *dev = &pdev->dev;
03aa12629fc4f7 Andrey Smirnov 2017-03-28  564  	struct device_node *pgc_np, *np;
03aa12629fc4f7 Andrey Smirnov 2017-03-28  565  	struct regmap *regmap;
03aa12629fc4f7 Andrey Smirnov 2017-03-28  566  	void __iomem *base;
03aa12629fc4f7 Andrey Smirnov 2017-03-28  567  	int ret;
03aa12629fc4f7 Andrey Smirnov 2017-03-28  568  
03aa12629fc4f7 Andrey Smirnov 2017-03-28  569  	pgc_np = of_get_child_by_name(dev->of_node, "pgc");
03aa12629fc4f7 Andrey Smirnov 2017-03-28  570  	if (!pgc_np) {
03aa12629fc4f7 Andrey Smirnov 2017-03-28  571  		dev_err(dev, "No power domains specified in DT\n");
03aa12629fc4f7 Andrey Smirnov 2017-03-28  572  		return -EINVAL;
03aa12629fc4f7 Andrey Smirnov 2017-03-28  573  	}
03aa12629fc4f7 Andrey Smirnov 2017-03-28  574  
9f735c4e94fcbe Anson Huang    2019-04-01  575  	base = devm_platform_ioremap_resource(pdev, 0);
03aa12629fc4f7 Andrey Smirnov 2017-03-28  576  	if (IS_ERR(base))
03aa12629fc4f7 Andrey Smirnov 2017-03-28  577  		return PTR_ERR(base);
03aa12629fc4f7 Andrey Smirnov 2017-03-28  578  
03aa12629fc4f7 Andrey Smirnov 2017-03-28  579  	regmap = devm_regmap_init_mmio(dev, base, &regmap_config);
03aa12629fc4f7 Andrey Smirnov 2017-03-28  580  	if (IS_ERR(regmap)) {
03aa12629fc4f7 Andrey Smirnov 2017-03-28  581  		ret = PTR_ERR(regmap);
03aa12629fc4f7 Andrey Smirnov 2017-03-28  582  		dev_err(dev, "failed to init regmap (%d)\n", ret);
03aa12629fc4f7 Andrey Smirnov 2017-03-28  583  		return ret;
03aa12629fc4f7 Andrey Smirnov 2017-03-28  584  	}
03aa12629fc4f7 Andrey Smirnov 2017-03-28  585  
03aa12629fc4f7 Andrey Smirnov 2017-03-28  586  	for_each_child_of_node(pgc_np, np) {
03aa12629fc4f7 Andrey Smirnov 2017-03-28  587  		struct platform_device *pd_pdev;
73f59712a1a3e5 Anson Huang    2018-08-28  588  		struct imx_pgc_domain *domain;
03aa12629fc4f7 Andrey Smirnov 2017-03-28  589  		u32 domain_index;
03aa12629fc4f7 Andrey Smirnov 2017-03-28  590  
03aa12629fc4f7 Andrey Smirnov 2017-03-28  591  		ret = of_property_read_u32(np, "reg", &domain_index);
03aa12629fc4f7 Andrey Smirnov 2017-03-28  592  		if (ret) {
03aa12629fc4f7 Andrey Smirnov 2017-03-28  593  			dev_err(dev, "Failed to read 'reg' property\n");
03aa12629fc4f7 Andrey Smirnov 2017-03-28  594  			of_node_put(np);
03aa12629fc4f7 Andrey Smirnov 2017-03-28  595  			return ret;
03aa12629fc4f7 Andrey Smirnov 2017-03-28  596  		}
03aa12629fc4f7 Andrey Smirnov 2017-03-28  597  
73f59712a1a3e5 Anson Huang    2018-08-28  598  		if (domain_index >= domain_data->domains_num) {
03aa12629fc4f7 Andrey Smirnov 2017-03-28  599  			dev_warn(dev,
03aa12629fc4f7 Andrey Smirnov 2017-03-28  600  				 "Domain index %d is out of bounds\n",
03aa12629fc4f7 Andrey Smirnov 2017-03-28  601  				 domain_index);
03aa12629fc4f7 Andrey Smirnov 2017-03-28  602  			continue;
03aa12629fc4f7 Andrey Smirnov 2017-03-28  603  		}
03aa12629fc4f7 Andrey Smirnov 2017-03-28  604  
73f59712a1a3e5 Anson Huang    2018-08-28  605  		pd_pdev = platform_device_alloc("imx-pgc-domain",
03aa12629fc4f7 Andrey Smirnov 2017-03-28  606  						domain_index);
03aa12629fc4f7 Andrey Smirnov 2017-03-28  607  		if (!pd_pdev) {
03aa12629fc4f7 Andrey Smirnov 2017-03-28  608  			dev_err(dev, "Failed to allocate platform device\n");
03aa12629fc4f7 Andrey Smirnov 2017-03-28  609  			of_node_put(np);
03aa12629fc4f7 Andrey Smirnov 2017-03-28  610  			return -ENOMEM;
03aa12629fc4f7 Andrey Smirnov 2017-03-28  611  		}
03aa12629fc4f7 Andrey Smirnov 2017-03-28  612  
050f810e238f26 Andrey Smirnov 2018-04-10  613  		ret = platform_device_add_data(pd_pdev,
73f59712a1a3e5 Anson Huang    2018-08-28  614  					       &domain_data->domains[domain_index],
73f59712a1a3e5 Anson Huang    2018-08-28  615  					       sizeof(domain_data->domains[domain_index]));
050f810e238f26 Andrey Smirnov 2018-04-10  616  		if (ret) {
050f810e238f26 Andrey Smirnov 2018-04-10  617  			platform_device_put(pd_pdev);
050f810e238f26 Andrey Smirnov 2018-04-10  618  			of_node_put(np);
050f810e238f26 Andrey Smirnov 2018-04-10  619  			return ret;
050f810e238f26 Andrey Smirnov 2018-04-10  620  		}
050f810e238f26 Andrey Smirnov 2018-04-10  621  
050f810e238f26 Andrey Smirnov 2018-04-10  622  		domain = pd_pdev->dev.platform_data;
050f810e238f26 Andrey Smirnov 2018-04-10  623  		domain->regmap = regmap;
73f59712a1a3e5 Anson Huang    2018-08-28  624  		domain->genpd.power_on  = imx_gpc_pu_pgc_sw_pup_req;
73f59712a1a3e5 Anson Huang    2018-08-28  625  		domain->genpd.power_off = imx_gpc_pu_pgc_sw_pdn_req;
050f810e238f26 Andrey Smirnov 2018-04-10  626  
03aa12629fc4f7 Andrey Smirnov 2017-03-28  627  		pd_pdev->dev.parent = dev;
03aa12629fc4f7 Andrey Smirnov 2017-03-28  628  		pd_pdev->dev.of_node = np;
03aa12629fc4f7 Andrey Smirnov 2017-03-28  629  
03aa12629fc4f7 Andrey Smirnov 2017-03-28  630  		ret = platform_device_add(pd_pdev);
03aa12629fc4f7 Andrey Smirnov 2017-03-28  631  		if (ret) {
03aa12629fc4f7 Andrey Smirnov 2017-03-28  632  			platform_device_put(pd_pdev);
03aa12629fc4f7 Andrey Smirnov 2017-03-28  633  			of_node_put(np);
03aa12629fc4f7 Andrey Smirnov 2017-03-28  634  			return ret;
03aa12629fc4f7 Andrey Smirnov 2017-03-28  635  		}
03aa12629fc4f7 Andrey Smirnov 2017-03-28  636  	}
03aa12629fc4f7 Andrey Smirnov 2017-03-28  637  
03aa12629fc4f7 Andrey Smirnov 2017-03-28  638  	return 0;
03aa12629fc4f7 Andrey Smirnov 2017-03-28  639  }
03aa12629fc4f7 Andrey Smirnov 2017-03-28  640  

:::::: The code at line 561 was first introduced by commit
:::::: 03aa12629fc4f73acf28e519c9ee9cb1f5dd3706 soc: imx: Add GPCv2 power gating driver

:::::: TO: Andrey Smirnov <andrew.smirnov@gmail.com>
:::::: CC: Shawn Guo <shawnguo@kernel.org>

---
0-DAY kernel test infrastructure                 Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
diff mbox series

Patch

diff --git a/drivers/soc/Makefile b/drivers/soc/Makefile
index 2ec355003524..614986cd1713 100644
--- a/drivers/soc/Makefile
+++ b/drivers/soc/Makefile
@@ -11,7 +11,7 @@  obj-$(CONFIG_ARCH_DOVE)		+= dove/
 obj-$(CONFIG_MACH_DOVE)		+= dove/
 obj-y				+= fsl/
 obj-$(CONFIG_ARCH_GEMINI)	+= gemini/
-obj-$(CONFIG_ARCH_MXC)		+= imx/
+obj-y				+= imx/
 obj-$(CONFIG_ARCH_IXP4XX)	+= ixp4xx/
 obj-$(CONFIG_SOC_XWAY)		+= lantiq/
 obj-y				+= mediatek/