[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202509192152.OXdK6bpd-lkp@intel.com>
Date: Fri, 19 Sep 2025 21:59:58 +0800
From: kernel test robot <lkp@...el.com>
To: Dang Huynh via B4 Relay <devnull+dang.huynh.mainlining.org@...nel.org>,
Manivannan Sadhasivam <mani@...nel.org>,
Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Linus Walleij <linus.walleij@...aro.org>,
Bartosz Golaszewski <brgl@...ev.pl>,
Alexandre Belloni <alexandre.belloni@...tlin.com>,
Michael Turquette <mturquette@...libre.com>,
Stephen Boyd <sboyd@...nel.org>,
Philipp Zabel <p.zabel@...gutronix.de>,
Sebastian Reichel <sre@...nel.org>, Vinod Koul <vkoul@...nel.org>,
Kees Cook <kees@...nel.org>,
"Gustavo A. R. Silva" <gustavoars@...nel.org>,
Ulf Hansson <ulf.hansson@...aro.org>
Cc: oe-kbuild-all@...ts.linux.dev, linux-arm-kernel@...ts.infradead.org,
linux-unisoc@...ts.infradead.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-gpio@...r.kernel.org,
linux-rtc@...r.kernel.org, linux-clk@...r.kernel.org,
linux-pm@...r.kernel.org, dmaengine@...r.kernel.org,
linux-hardening@...r.kernel.org, linux-mmc@...r.kernel.org,
Dang Huynh <dang.huynh@...nlining.org>
Subject: Re: [PATCH 06/25] rtc: Add driver for RDA Micro SoC
Hi Dang,
kernel test robot noticed the following build errors:
[auto build test ERROR on 590b221ed4256fd6c34d3dea77aa5bd6e741bbc1]
url: https://github.com/intel-lab-lkp/linux/commits/Dang-Huynh-via-B4-Relay/ARM-dts-unisoc-rda8810pl-Add-label-to-GPIO-nodes/20250917-043025
base: 590b221ed4256fd6c34d3dea77aa5bd6e741bbc1
patch link: https://lore.kernel.org/r/20250917-rda8810pl-drivers-v1-6-9ca9184ca977%40mainlining.org
patch subject: [PATCH 06/25] rtc: Add driver for RDA Micro SoC
config: m68k-allmodconfig (https://download.01.org/0day-ci/archive/20250919/202509192152.OXdK6bpd-lkp@intel.com/config)
compiler: m68k-linux-gcc (GCC) 15.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250919/202509192152.OXdK6bpd-lkp@intel.com/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@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202509192152.OXdK6bpd-lkp@intel.com/
All errors (new ones prefixed by >>):
drivers/rtc/rtc-rda.c: In function 'rda_rtc_settime':
>> drivers/rtc/rtc-rda.c:67:15: error: implicit declaration of function 'FIELD_PREP' [-Wimplicit-function-declaration]
67 | low = FIELD_PREP(RDA_SEC_MASK, tm->tm_sec) |
| ^~~~~~~~~~
drivers/rtc/rtc-rda.c: In function 'rda_rtc_readtime':
>> drivers/rtc/rtc-rda.c:128:22: error: implicit declaration of function 'FIELD_GET' [-Wimplicit-function-declaration]
128 | tm->tm_sec = FIELD_GET(RDA_SEC_MASK, low);
| ^~~~~~~~~
vim +/FIELD_PREP +67 drivers/rtc/rtc-rda.c
50
51 static int rda_rtc_settime(struct device *dev, struct rtc_time *tm)
52 {
53 struct rda_rtc *rtc = dev_get_drvdata(dev);
54 u32 high, low;
55 int ret;
56
57 ret = rtc_valid_tm(tm);
58 if (ret < 0)
59 return ret;
60
61 /*
62 * The number of years since 1900 in kernel,
63 * but it is defined since 2000 by HW.
64 * The number of mons' range is from 0 to 11 in kernel,
65 * but it is defined from 1 to 12 by HW.
66 */
> 67 low = FIELD_PREP(RDA_SEC_MASK, tm->tm_sec) |
68 FIELD_PREP(RDA_MIN_MASK, tm->tm_min) |
69 FIELD_PREP(RDA_HRS_MASK, tm->tm_hour);
70
71 high = FIELD_PREP(RDA_MDAY_MASK, tm->tm_mday) |
72 FIELD_PREP(RDA_MON_MASK, tm->tm_mon + 1) |
73 FIELD_PREP(RDA_YEAR_MASK, tm->tm_year - 100) |
74 FIELD_PREP(RDA_WDAY_MASK, tm->tm_wday);
75
76 ret = regmap_write(rtc->regmap, RDA_RTC_CAL_LOAD_LOW_REG, low);
77 if (ret < 0) {
78 dev_err(dev, "Failed to update RTC low register: %d\n", ret);
79 return ret;
80 }
81
82 ret = regmap_write(rtc->regmap, RDA_RTC_CAL_LOAD_HIGH_REG, high);
83 if (ret < 0) {
84 dev_err(dev, "Failed to update RTC low register: %d\n", ret);
85 return ret;
86 }
87
88 ret = regmap_update_bits(rtc->regmap, RDA_RTC_CMD_REG, RDA_RTC_CMD_CAL_LOAD, 1);
89 if (ret < 0) {
90 dev_err(dev, "Failed to update RTC cal load register: %d\n", ret);
91 return ret;
92 }
93
94 return 0;
95 }
96
97 static int rda_rtc_readtime(struct device *dev, struct rtc_time *tm)
98 {
99 struct rda_rtc *rtc = dev_get_drvdata(dev);
100 unsigned int high, low;
101 int ret;
102
103 /*
104 * Check if RTC data is valid.
105 *
106 * When this bit is set, it means the data in the RTC is invalid
107 * or not configured.
108 */
109 ret = regmap_test_bits(rtc->regmap, RDA_RTC_STA_REG, RDA_RTC_STA_NOT_PROG);
110 if (ret < 0) {
111 dev_err(dev, "Failed to read RTC status: %d\n", ret);
112 return ret;
113 } else if (ret > 0)
114 return -EINVAL;
115
116 ret = regmap_read(rtc->regmap, RDA_RTC_CUR_LOAD_HIGH_REG, &high);
117 if (ret) {
118 dev_err(dev, "Failed to read RTC high reg: %d\n", ret);
119 return ret;
120 }
121
122 ret = regmap_read(rtc->regmap, RDA_RTC_CUR_LOAD_LOW_REG, &low);
123 if (ret) {
124 dev_err(dev, "Failed to read RTC low reg: %d\n", ret);
125 return ret;
126 }
127
> 128 tm->tm_sec = FIELD_GET(RDA_SEC_MASK, low);
129 tm->tm_min = FIELD_GET(RDA_MIN_MASK, low);
130 tm->tm_hour = FIELD_GET(RDA_HRS_MASK, low);
131 tm->tm_mday = FIELD_GET(RDA_MDAY_MASK, high);
132 tm->tm_mon = FIELD_GET(RDA_MON_MASK, high);
133 tm->tm_year = FIELD_GET(RDA_YEAR_MASK, high);
134 tm->tm_wday = FIELD_GET(RDA_WDAY_MASK, high);
135
136 /*
137 * The number of years since 1900 in kernel,
138 * but it is defined since 2000 by HW.
139 */
140 tm->tm_year += 100;
141 /*
142 * The number of mons' range is from 0 to 11 in kernel,
143 * but it is defined from 1 to 12 by HW.
144 */
145 tm->tm_mon -= 1;
146
147 return 0;
148 }
149
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists