[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <202601221045.dCEzMG8r-lkp@intel.com>
Date: Thu, 22 Jan 2026 10:18:58 +0800
From: kernel test robot <lkp@...el.com>
To: Junhui Liu <junhui.liu@...moral.tech>,
Michael Turquette <mturquette@...libre.com>,
Stephen Boyd <sboyd@...nel.org>, Chen-Yu Tsai <wens@...nel.org>,
Jernej Skrabec <jernej.skrabec@...il.com>,
Samuel Holland <samuel@...lland.org>,
Alexandre Belloni <alexandre.belloni@...tlin.com>,
Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Maxime Ripard <mripard@...nel.org>
Cc: oe-kbuild-all@...ts.linux.dev, linux-clk@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-sunxi@...ts.linux.dev,
linux-kernel@...r.kernel.org, linux-rtc@...r.kernel.org,
devicetree@...r.kernel.org, Junhui Liu <junhui.liu@...moral.tech>
Subject: Re: [PATCH 2/7] rtc: sun6i: Bind internal CCU via auxiliary bus
Hi Junhui,
kernel test robot noticed the following build warnings:
[auto build test WARNING on 24d479d26b25bce5faea3ddd9fa8f3a6c3129ea7]
url: https://github.com/intel-lab-lkp/linux/commits/Junhui-Liu/dt-bindings-rtc-sun6i-Add-Allwinner-A733-support/20260121-192151
base: 24d479d26b25bce5faea3ddd9fa8f3a6c3129ea7
patch link: https://lore.kernel.org/r/20260121-a733-rtc-v1-2-d359437f23a7%40pigmoral.tech
patch subject: [PATCH 2/7] rtc: sun6i: Bind internal CCU via auxiliary bus
config: arm-randconfig-r122-20260122
compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 9b8addffa70cee5b2acc5454712d9cf78ce45710)
reproduce (this is a W=1 build):
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@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202601221045.dCEzMG8r-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> drivers/rtc/rtc-sun6i.c:789:32: sparse: sparse: incorrect type in argument 4 (different address spaces) @@ expected void *platform_data @@ got void [noderef] __iomem *base @@
drivers/rtc/rtc-sun6i.c:789:32: sparse: expected void *platform_data
drivers/rtc/rtc-sun6i.c:789:32: sparse: got void [noderef] __iomem *base
vim +789 drivers/rtc/rtc-sun6i.c
750
751 static int sun6i_rtc_probe(struct platform_device *pdev)
752 {
753 const struct sun6i_rtc_match_data *data;
754 struct sun6i_rtc_dev *chip = sun6i_rtc;
755 struct device *dev = &pdev->dev;
756 struct auxiliary_device *adev;
757 struct clk *bus_clk;
758 int ret;
759
760 bus_clk = devm_clk_get_optional(dev, "bus");
761 if (IS_ERR(bus_clk))
762 return PTR_ERR(bus_clk);
763
764 if (bus_clk) {
765 ret = clk_prepare_enable(bus_clk);
766 if (ret)
767 return ret;
768
769 ret = devm_add_action_or_reset(dev, sun6i_rtc_bus_clk_cleanup,
770 bus_clk);
771 if (ret)
772 return ret;
773 }
774
775 data = of_device_get_match_data(&pdev->dev);
776
777 if (!chip) {
778 chip = devm_kzalloc(&pdev->dev, sizeof(*chip), GFP_KERNEL);
779 if (!chip)
780 return -ENOMEM;
781
782 spin_lock_init(&chip->lock);
783
784 chip->base = devm_platform_ioremap_resource(pdev, 0);
785 if (IS_ERR(chip->base))
786 return PTR_ERR(chip->base);
787
788 if (data && data->adev_name) {
> 789 adev = devm_auxiliary_device_create(dev, data->adev_name, chip->base);
790 if (!adev)
791 return -ENODEV;
792 }
793 }
794
795 platform_set_drvdata(pdev, chip);
796
797 if (data)
798 chip->flags = data->flags;
799
800 chip->irq = platform_get_irq(pdev, 0);
801 if (chip->irq < 0)
802 return chip->irq;
803
804 ret = devm_request_irq(&pdev->dev, chip->irq, sun6i_rtc_alarmirq,
805 0, dev_name(&pdev->dev), chip);
806 if (ret) {
807 dev_err(&pdev->dev, "Could not request IRQ\n");
808 return ret;
809 }
810
811 /* clear the alarm counter value */
812 writel(0, chip->base + SUN6I_ALRM_COUNTER);
813
814 /* disable counter alarm */
815 writel(0, chip->base + SUN6I_ALRM_EN);
816
817 /* disable counter alarm interrupt */
818 writel(0, chip->base + SUN6I_ALRM_IRQ_EN);
819
820 /* disable week alarm */
821 writel(0, chip->base + SUN6I_ALRM1_EN);
822
823 /* disable week alarm interrupt */
824 writel(0, chip->base + SUN6I_ALRM1_IRQ_EN);
825
826 /* clear counter alarm pending interrupts */
827 writel(SUN6I_ALRM_IRQ_STA_CNT_IRQ_PEND,
828 chip->base + SUN6I_ALRM_IRQ_STA);
829
830 /* clear week alarm pending interrupts */
831 writel(SUN6I_ALRM1_IRQ_STA_WEEK_IRQ_PEND,
832 chip->base + SUN6I_ALRM1_IRQ_STA);
833
834 /* disable alarm wakeup */
835 writel(0, chip->base + SUN6I_ALARM_CONFIG);
836
837 clk_prepare_enable(chip->losc);
838
839 device_init_wakeup(&pdev->dev, true);
840
841 chip->rtc = devm_rtc_allocate_device(&pdev->dev);
842 if (IS_ERR(chip->rtc))
843 return PTR_ERR(chip->rtc);
844
845 chip->rtc->ops = &sun6i_rtc_ops;
846 if (chip->flags & RTC_LINEAR_DAY)
847 chip->rtc->range_max = (65536 * SECS_PER_DAY) - 1;
848 else
849 chip->rtc->range_max = 2019686399LL; /* 2033-12-31 23:59:59 */
850
851 ret = devm_rtc_register_device(chip->rtc);
852 if (ret)
853 return ret;
854
855 sun6i_rtc_nvmem_cfg.priv = chip;
856 ret = devm_rtc_nvmem_register(chip->rtc, &sun6i_rtc_nvmem_cfg);
857 if (ret)
858 return ret;
859
860 return 0;
861 }
862
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
View attachment "reproduce" of type "text/plain" (1121 bytes)
View attachment "config" of type "text/plain" (215476 bytes)
Powered by blists - more mailing lists