m68k/mac: Use correct PMU response format

Now that the 68k Mac port has adopted the via-pmu driver, it must decode
the PMU response accordingly otherwise the date and time will be wrong.

Fixes: ebd722275f ("macintosh/via-pmu: Replace via-pmu68k driver with via-pmu driver")
Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
This commit is contained in:
Finn Thain 2018-08-24 12:02:06 +10:00 committed by Geert Uytterhoeven
parent 5b394b2ddf
commit 0986b16ab4

View File

@ -98,11 +98,10 @@ static time64_t pmu_read_time(void)
if (pmu_request(&req, NULL, 1, PMU_READ_RTC) < 0) if (pmu_request(&req, NULL, 1, PMU_READ_RTC) < 0)
return 0; return 0;
while (!req.complete) pmu_wait_complete(&req);
pmu_poll();
time = (u32)((req.reply[1] << 24) | (req.reply[2] << 16) | time = (u32)((req.reply[0] << 24) | (req.reply[1] << 16) |
(req.reply[3] << 8) | req.reply[4]); (req.reply[2] << 8) | req.reply[3]);
return time - RTC_OFFSET; return time - RTC_OFFSET;
} }
@ -116,8 +115,7 @@ static void pmu_write_time(time64_t time)
(data >> 24) & 0xFF, (data >> 16) & 0xFF, (data >> 24) & 0xFF, (data >> 16) & 0xFF,
(data >> 8) & 0xFF, data & 0xFF) < 0) (data >> 8) & 0xFF, data & 0xFF) < 0)
return; return;
while (!req.complete) pmu_wait_complete(&req);
pmu_poll();
} }
static __u8 pmu_read_pram(int offset) static __u8 pmu_read_pram(int offset)