Re: [PATCH] rtc: pcf-8563: Report previously detected low-voltage via RTC_VL_BACKUP_LOW

From: Alexandre Belloni
Date: Sun Jun 11 2023 - 11:14:35 EST


On 11/06/2023 15:38:04+0200, Jan Kiszka wrote:
> On 10.06.23 10:31, Alexandre Belloni wrote:
> > Hello Jan,
> >
> > On 09/06/2023 23:04:12+0200, Jan Kiszka wrote:
> >> From: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
> >>
> >> The VL bit in the seconds register remains set only until seconds are
> >> written under main power. As this often happens during boot-up after
> >> picking up a network time, make sure to preserve the low battery state
> >> across this, caching it and returning it via the RTC_VL_BACKUP_LOW bit.
> >>
> >> To permit userspace clearing this state during runtime, also implement
> >> RTC_VL_CLR that works against the cached state.
> >>
> >> This is emulating RTCs which have a battery voltage check that works
> >> under main power as well.
> >>
> >
> > Emulating doesn't work well and I deliberately chose to not implement
> > it. For example, in your scenario, if you boot twice without using
> > VL_READ, you anyway have lost the information. This makes emulating
> > unreliabl. The fix you need is in userspace where you have to ensure you
> > read the status before setting the time.
>
> Then let's make sure the bit is also set in the hardware register. Then
> also the reboot issue (which is practically a minor one) is solved. The
> current situation is far from optimal.

This doesn't work because then the time will be considered invalid. I'm
not sure why you don't want to fix your userspace.


--
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com