From: kernel test robot <lkp@intel.com>
To: Rosen Penev <rosenp@gmail.com>, linux-rtc@vger.kernel.org
Cc: oe-kbuild-all@lists.linux.dev,
Alexandre Belloni <alexandre.belloni@bootlin.com>,
Maxime Coquelin <mcoquelin.stm32@gmail.com>,
Alexandre Torgue <alexandre.torgue@foss.st.com>,
linux-stm32@st-md-mailman.stormreply.com,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCHv2] rtc: stmp3xxx: use devm_platform_ioremap_resource()
Date: Sun, 16 Aug 2026 05:10:01 +0800 [thread overview]
Message-ID: <202608160528.nJ2vs2QU-lkp@intel.com> (raw)
In-Reply-To: <20260728005303.574936-1-rosenp@gmail.com>
Hi Rosen,
kernel test robot noticed the following build errors:
[auto build test ERROR on abelloni/rtc-next]
[also build test ERROR on linus/master v7.2-rc7 next-20260814]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Rosen-Penev/rtc-stmp3xxx-use-devm_platform_ioremap_resource/20260814-172225
base: https://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux.git rtc-next
patch link: https://lore.kernel.org/r/20260728005303.574936-1-rosenp%40gmail.com
patch subject: [PATCHv2] rtc: stmp3xxx: use devm_platform_ioremap_resource()
config: um-randconfig-r071-20260815 (https://download.01.org/0day-ci/archive/20260816/202608160528.nJ2vs2QU-lkp@intel.com/config)
compiler: clang version 22.1.3 (https://github.com/llvm/llvm-project e9846648fd6183ee6d8cbdb4502213fcf902a211)
smatch: v0.5.0-9187-g5189e3fb
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260816/202608160528.nJ2vs2QU-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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202608160528.nJ2vs2QU-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from drivers/rtc/rtc-stmp3xxx.c:14:
In file included from include/linux/io.h:12:
In file included from arch/um/include/asm/io.h:24:
include/asm-generic/io.h:1209:55: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
1209 | return (port > MMIO_UPPER_LIMIT) ? NULL : PCI_IOBASE + port;
| ~~~~~~~~~~ ^
>> drivers/rtc/rtc-stmp3xxx.c:253:2: error: use of undeclared identifier 'irq_alarm'
253 | irq_alarm = platform_get_irq(pdev, 0);
| ^~~~~~~~~
drivers/rtc/rtc-stmp3xxx.c:254:6: error: use of undeclared identifier 'irq_alarm'
254 | if (irq_alarm < 0)
| ^~~~~~~~~
drivers/rtc/rtc-stmp3xxx.c:255:10: error: use of undeclared identifier 'irq_alarm'
255 | return irq_alarm;
| ^~~~~~~~~
drivers/rtc/rtc-stmp3xxx.c:352:37: error: use of undeclared identifier 'irq_alarm'
352 | err = devm_request_irq(&pdev->dev, irq_alarm,
| ^~~~~~~~~
1 warning and 4 errors generated.
vim +/irq_alarm +253 drivers/rtc/rtc-stmp3xxx.c
243
244 static int stmp3xxx_rtc_probe(struct platform_device *pdev)
245 {
246 struct stmp3xxx_rtc_data *rtc_data;
247 void __iomem *io;
248 u32 rtc_stat;
249 u32 pers0_set, pers0_clr;
250 u32 crystalfreq = 0;
251 int err;
252
> 253 irq_alarm = platform_get_irq(pdev, 0);
254 if (irq_alarm < 0)
255 return irq_alarm;
256
257 io = devm_platform_ioremap_resource(pdev, 0);
258 if (IS_ERR(io))
259 return PTR_ERR(io);
260
261 rtc_data = devm_kzalloc(&pdev->dev, sizeof(*rtc_data), GFP_KERNEL);
262 if (!rtc_data)
263 return -ENOMEM;
264
265 rtc_data->io = io;
266
267 rtc_stat = readl(rtc_data->io + STMP3XXX_RTC_STAT);
268 if (!(rtc_stat & STMP3XXX_RTC_STAT_RTC_PRESENT)) {
269 dev_err(&pdev->dev, "no device onboard\n");
270 return -ENODEV;
271 }
272
273 platform_set_drvdata(pdev, rtc_data);
274
275 /*
276 * Resetting the rtc stops the watchdog timer that is potentially
277 * running. So (assuming it is running on purpose) don't reset if the
278 * watchdog is enabled.
279 */
280 if (readl(rtc_data->io + STMP3XXX_RTC_CTRL) &
281 STMP3XXX_RTC_CTRL_WATCHDOGEN) {
282 dev_info(&pdev->dev,
283 "Watchdog is running, skip resetting rtc\n");
284 } else {
285 err = stmp_reset_block(rtc_data->io);
286 if (err) {
287 dev_err(&pdev->dev, "stmp_reset_block failed: %d\n",
288 err);
289 return err;
290 }
291 }
292
293 /*
294 * Obviously the rtc needs a clock input to be able to run.
295 * This clock can be provided by an external 32k crystal. If that one is
296 * missing XTAL must not be disabled in suspend which consumes a
297 * lot of power. Normally the presence and exact frequency (supported
298 * are 32000 Hz and 32768 Hz) is detectable from fuses, but as reality
299 * proves these fuses are not blown correctly on all machines, so the
300 * frequency can be overridden in the device tree.
301 */
302 if (rtc_stat & STMP3XXX_RTC_STAT_XTAL32000_PRESENT)
303 crystalfreq = 32000;
304 else if (rtc_stat & STMP3XXX_RTC_STAT_XTAL32768_PRESENT)
305 crystalfreq = 32768;
306
307 of_property_read_u32(pdev->dev.of_node, "stmp,crystal-freq",
308 &crystalfreq);
309
310 switch (crystalfreq) {
311 case 32000:
312 /* keep 32kHz crystal running in low-power mode */
313 pers0_set = STMP3XXX_RTC_PERSISTENT0_XTAL32_FREQ |
314 STMP3XXX_RTC_PERSISTENT0_XTAL32KHZ_PWRUP |
315 STMP3XXX_RTC_PERSISTENT0_CLOCKSOURCE;
316 pers0_clr = STMP3XXX_RTC_PERSISTENT0_XTAL24MHZ_PWRUP;
317 break;
318 case 32768:
319 /* keep 32.768kHz crystal running in low-power mode */
320 pers0_set = STMP3XXX_RTC_PERSISTENT0_XTAL32KHZ_PWRUP |
321 STMP3XXX_RTC_PERSISTENT0_CLOCKSOURCE;
322 pers0_clr = STMP3XXX_RTC_PERSISTENT0_XTAL24MHZ_PWRUP |
323 STMP3XXX_RTC_PERSISTENT0_XTAL32_FREQ;
324 break;
325 default:
326 dev_warn(&pdev->dev,
327 "invalid crystal-freq specified in device-tree. Assuming no crystal\n");
328 fallthrough;
329 case 0:
330 /* keep XTAL on in low-power mode */
331 pers0_set = STMP3XXX_RTC_PERSISTENT0_XTAL24MHZ_PWRUP;
332 pers0_clr = STMP3XXX_RTC_PERSISTENT0_XTAL32KHZ_PWRUP |
333 STMP3XXX_RTC_PERSISTENT0_CLOCKSOURCE;
334 }
335
336 writel(pers0_set, rtc_data->io + STMP3XXX_RTC_PERSISTENT0 +
337 STMP_OFFSET_REG_SET);
338
339 writel(STMP3XXX_RTC_PERSISTENT0_ALARM_EN |
340 STMP3XXX_RTC_PERSISTENT0_ALARM_WAKE_EN |
341 STMP3XXX_RTC_PERSISTENT0_ALARM_WAKE | pers0_clr,
342 rtc_data->io + STMP3XXX_RTC_PERSISTENT0 + STMP_OFFSET_REG_CLR);
343
344 writel(STMP3XXX_RTC_CTRL_ONEMSEC_IRQ_EN |
345 STMP3XXX_RTC_CTRL_ALARM_IRQ_EN,
346 rtc_data->io + STMP3XXX_RTC_CTRL + STMP_OFFSET_REG_CLR);
347
348 rtc_data->rtc = devm_rtc_allocate_device(&pdev->dev);
349 if (IS_ERR(rtc_data->rtc))
350 return PTR_ERR(rtc_data->rtc);
351
352 err = devm_request_irq(&pdev->dev, irq_alarm,
353 stmp3xxx_rtc_interrupt, 0, "RTC alarm", &pdev->dev);
354 if (err)
355 return err;
356
357 rtc_data->rtc->ops = &stmp3xxx_rtc_ops;
358 rtc_data->rtc->range_max = U32_MAX;
359
360 err = devm_rtc_register_device(rtc_data->rtc);
361 if (err)
362 return err;
363
364 stmp3xxx_wdt_register(pdev);
365 return 0;
366 }
367
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
prev parent reply other threads:[~2026-08-15 21:10 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-28 0:53 [PATCHv2] rtc: stmp3xxx: use devm_platform_ioremap_resource() Rosen Penev
2026-07-28 1:04 ` sashiko-bot
2026-08-14 17:30 ` kernel test robot
2026-08-15 21:10 ` kernel test robot [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202608160528.nJ2vs2QU-lkp@intel.com \
--to=lkp@intel.com \
--cc=alexandre.belloni@bootlin.com \
--cc=alexandre.torgue@foss.st.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rtc@vger.kernel.org \
--cc=linux-stm32@st-md-mailman.stormreply.com \
--cc=mcoquelin.stm32@gmail.com \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=rosenp@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.