diff options
author | Finn Thain <fthain@telegraphics.com.au> | 2018-08-23 22:02:06 -0400 |
---|---|---|
committer | Geert Uytterhoeven <geert@linux-m68k.org> | 2018-08-31 03:33:45 -0400 |
commit | 0986b16ab49b18063d29a9e02e9c7fab1928bc8e (patch) | |
tree | e53bbfdfa0086338e52e2973e9c06f1795a7eff4 | |
parent | 5b394b2ddf0347bef56e50c69a58773c94343ff3 (diff) |
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: ebd722275f9cfc67 ("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>
-rw-r--r-- | arch/m68k/mac/misc.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/arch/m68k/mac/misc.c b/arch/m68k/mac/misc.c index 3534aa6a4dc2..1b083c500b9a 100644 --- a/arch/m68k/mac/misc.c +++ b/arch/m68k/mac/misc.c | |||
@@ -98,11 +98,10 @@ static time64_t pmu_read_time(void) | |||
98 | 98 | ||
99 | if (pmu_request(&req, NULL, 1, PMU_READ_RTC) < 0) | 99 | if (pmu_request(&req, NULL, 1, PMU_READ_RTC) < 0) |
100 | return 0; | 100 | return 0; |
101 | while (!req.complete) | 101 | pmu_wait_complete(&req); |
102 | pmu_poll(); | ||
103 | 102 | ||
104 | time = (u32)((req.reply[1] << 24) | (req.reply[2] << 16) | | 103 | time = (u32)((req.reply[0] << 24) | (req.reply[1] << 16) | |
105 | (req.reply[3] << 8) | req.reply[4]); | 104 | (req.reply[2] << 8) | req.reply[3]); |
106 | 105 | ||
107 | return time - RTC_OFFSET; | 106 | return time - RTC_OFFSET; |
108 | } | 107 | } |
@@ -116,8 +115,7 @@ static void pmu_write_time(time64_t time) | |||
116 | (data >> 24) & 0xFF, (data >> 16) & 0xFF, | 115 | (data >> 24) & 0xFF, (data >> 16) & 0xFF, |
117 | (data >> 8) & 0xFF, data & 0xFF) < 0) | 116 | (data >> 8) & 0xFF, data & 0xFF) < 0) |
118 | return; | 117 | return; |
119 | while (!req.complete) | 118 | pmu_wait_complete(&req); |
120 | pmu_poll(); | ||
121 | } | 119 | } |
122 | 120 | ||
123 | static __u8 pmu_read_pram(int offset) | 121 | static __u8 pmu_read_pram(int offset) |