mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-19 12:24:34 +08:00
rtc: cmos: Report supported alarm limit to rtc infrastructure
The alarm window supported by the cmos RTC depends on the chip and its configuration. Report the limit to the RTC core. Cc: Brian Norris <briannorris@chromium.org> Signed-off-by: Guenter Roeck <linux@roeck-us.net> Link: https://lore.kernel.org/r/20230817225537.4053865-5-linux@roeck-us.net Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
This commit is contained in:
parent
00c3092d88
commit
2546e7083f
@ -913,6 +913,10 @@ static inline void cmos_check_acpi_rtc_status(struct device *dev,
|
||||
#define INITSECTION __init
|
||||
#endif
|
||||
|
||||
#define SECS_PER_DAY (24 * 60 * 60)
|
||||
#define SECS_PER_MONTH (28 * SECS_PER_DAY)
|
||||
#define SECS_PER_YEAR (365 * SECS_PER_DAY)
|
||||
|
||||
static int INITSECTION
|
||||
cmos_do_probe(struct device *dev, struct resource *ports, int rtc_irq)
|
||||
{
|
||||
@ -1019,6 +1023,13 @@ cmos_do_probe(struct device *dev, struct resource *ports, int rtc_irq)
|
||||
goto cleanup0;
|
||||
}
|
||||
|
||||
if (cmos_rtc.mon_alrm)
|
||||
cmos_rtc.rtc->alarm_offset_max = SECS_PER_YEAR - 1;
|
||||
else if (cmos_rtc.day_alrm)
|
||||
cmos_rtc.rtc->alarm_offset_max = SECS_PER_MONTH - 1;
|
||||
else
|
||||
cmos_rtc.rtc->alarm_offset_max = SECS_PER_DAY - 1;
|
||||
|
||||
rename_region(ports, dev_name(&cmos_rtc.rtc->dev));
|
||||
|
||||
if (!mc146818_does_rtc_work()) {
|
||||
|
Loading…
Reference in New Issue
Block a user