parisc: Improve error return codes when setting rtc time

The HP 730 machine returned strange errors when I tried setting the rtc
time.  Add some debug code to improve the possibility to trace errors
and document that hppa probably has as Y2k38 problem.

Signed-off-by: Helge Deller <deller@gmx.de>
This commit is contained in:
Helge Deller 2020-10-17 20:13:06 +02:00
parent f9893351ac
commit faade0986e
1 changed files with 8 additions and 1 deletions

View File

@ -180,9 +180,16 @@ static int rtc_generic_get_time(struct device *dev, struct rtc_time *tm)
static int rtc_generic_set_time(struct device *dev, struct rtc_time *tm)
{
time64_t secs = rtc_tm_to_time64(tm);
int ret;
if (pdc_tod_set(secs, 0) < 0)
/* hppa has Y2K38 problem: pdc_tod_set() takes an u32 value! */
ret = pdc_tod_set(secs, 0);
if (ret != 0) {
pr_warn("pdc_tod_set(%lld) returned error %d\n", secs, ret);
if (ret == PDC_INVALID_ARG)
return -EINVAL;
return -EOPNOTSUPP;
}
return 0;
}