[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202206281021.SubdbYfn-lkp@intel.com>
Date: Tue, 28 Jun 2022 10:40:12 +0800
From: kernel test robot <lkp@...el.com>
To: Stefan Wahren <stefan.wahren@...e.com>
Cc: kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org,
Florian Fainelli <f.fainelli@...il.com>,
Peter Robinson <pbrobinson@...il.com>
Subject: [broadcom-stblinux:drivers/next 5/6]
drivers/soc/bcm/bcm2835-power.c:635:31: error: 'struct bcm2835_pm' has no
member named 'rpivid_asb'
tree: https://github.com/Broadcom/stblinux drivers/next
head: c8a8778a2c38eb66d35008072177cddd7d80eeda
commit: d5eba4a03b1d2d6e2192fa9a03ccc2cfb5d9750e [5/6] soc: bcm: bcm2835-power: Add support for BCM2711's RPiVid ASB
config: riscv-randconfig-r024-20220627 (https://download.01.org/0day-ci/archive/20220628/202206281021.SubdbYfn-lkp@intel.com/config)
compiler: riscv32-linux-gcc (GCC) 11.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/Broadcom/stblinux/commit/d5eba4a03b1d2d6e2192fa9a03ccc2cfb5d9750e
git remote add broadcom-stblinux https://github.com/Broadcom/stblinux
git fetch --no-tags broadcom-stblinux drivers/next
git checkout d5eba4a03b1d2d6e2192fa9a03ccc2cfb5d9750e
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross W=1 O=build_dir ARCH=riscv SHELL=/bin/bash drivers/soc/bcm/
If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@...el.com>
All errors (new ones prefixed by >>):
drivers/soc/bcm/bcm2835-power.c: In function 'bcm2835_power_probe':
>> drivers/soc/bcm/bcm2835-power.c:635:31: error: 'struct bcm2835_pm' has no member named 'rpivid_asb'
635 | power->rpivid_asb = pm->rpivid_asb;
| ^~
vim +635 drivers/soc/bcm/bcm2835-power.c
607
608 static int bcm2835_power_probe(struct platform_device *pdev)
609 {
610 struct bcm2835_pm *pm = dev_get_drvdata(pdev->dev.parent);
611 struct device *dev = &pdev->dev;
612 struct bcm2835_power *power;
613 static const struct {
614 int parent, child;
615 } domain_deps[] = {
616 { BCM2835_POWER_DOMAIN_GRAFX, BCM2835_POWER_DOMAIN_GRAFX_V3D },
617 { BCM2835_POWER_DOMAIN_IMAGE, BCM2835_POWER_DOMAIN_IMAGE_PERI },
618 { BCM2835_POWER_DOMAIN_IMAGE, BCM2835_POWER_DOMAIN_IMAGE_H264 },
619 { BCM2835_POWER_DOMAIN_IMAGE, BCM2835_POWER_DOMAIN_IMAGE_ISP },
620 { BCM2835_POWER_DOMAIN_IMAGE_PERI, BCM2835_POWER_DOMAIN_USB },
621 { BCM2835_POWER_DOMAIN_IMAGE_PERI, BCM2835_POWER_DOMAIN_CAM0 },
622 { BCM2835_POWER_DOMAIN_IMAGE_PERI, BCM2835_POWER_DOMAIN_CAM1 },
623 };
624 int ret = 0, i;
625 u32 id;
626
627 power = devm_kzalloc(dev, sizeof(*power), GFP_KERNEL);
628 if (!power)
629 return -ENOMEM;
630 platform_set_drvdata(pdev, power);
631
632 power->dev = dev;
633 power->base = pm->base;
634 power->asb = pm->asb;
> 635 power->rpivid_asb = pm->rpivid_asb;
636
637 id = readl(power->asb + ASB_AXI_BRDG_ID);
638 if (id != BCM2835_BRDG_ID /* "BRDG" */) {
639 dev_err(dev, "ASB register ID returned 0x%08x\n", id);
640 return -ENODEV;
641 }
642
643 if (power->rpivid_asb) {
644 id = readl(power->rpivid_asb + ASB_AXI_BRDG_ID);
645 if (id != BCM2835_BRDG_ID /* "BRDG" */) {
646 dev_err(dev, "RPiVid ASB register ID returned 0x%08x\n",
647 id);
648 return -ENODEV;
649 }
650 }
651
652 power->pd_xlate.domains = devm_kcalloc(dev,
653 ARRAY_SIZE(power_domain_names),
654 sizeof(*power->pd_xlate.domains),
655 GFP_KERNEL);
656 if (!power->pd_xlate.domains)
657 return -ENOMEM;
658
659 power->pd_xlate.num_domains = ARRAY_SIZE(power_domain_names);
660
661 for (i = 0; i < ARRAY_SIZE(power_domain_names); i++) {
662 ret = bcm2835_init_power_domain(power, i, power_domain_names[i]);
663 if (ret)
664 goto fail;
665 }
666
667 for (i = 0; i < ARRAY_SIZE(domain_deps); i++) {
668 pm_genpd_add_subdomain(&power->domains[domain_deps[i].parent].base,
669 &power->domains[domain_deps[i].child].base);
670 }
671
672 power->reset.owner = THIS_MODULE;
673 power->reset.nr_resets = BCM2835_RESET_COUNT;
674 power->reset.ops = &bcm2835_reset_ops;
675 power->reset.of_node = dev->parent->of_node;
676
677 ret = devm_reset_controller_register(dev, &power->reset);
678 if (ret)
679 goto fail;
680
681 of_genpd_add_provider_onecell(dev->parent->of_node, &power->pd_xlate);
682
683 dev_info(dev, "Broadcom BCM2835 power domains driver");
684 return 0;
685
686 fail:
687 for (i = 0; i < ARRAY_SIZE(power_domain_names); i++) {
688 struct generic_pm_domain *dom = &power->domains[i].base;
689
690 if (dom->name)
691 pm_genpd_remove(dom);
692 }
693 return ret;
694 }
695
--
0-DAY CI Kernel Test Service
https://01.org/lkp
Powered by blists - more mailing lists