From: Peng Fan <[email protected]>
Increase build coverage for i.MX SoC drivers.
Signed-off-by: Peng Fan <[email protected]>
---
drivers/soc/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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/
--
2.16.4
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 <[email protected]>
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, ®map_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 <[email protected]>
:::::: CC: Shawn Guo <[email protected]>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/[email protected] Intel Corporation