Re: [PATCH] m68k/mac: Rework patch "use time64_t in RTC handling"
Hi Finn, Arnd, On Tue, Jul 24, 2018 at 9:07 AM Finn Thain wrote: > This addresses the issues arising from commit 324caa29cd04 > ("m68k: mac: use time64_t in RTC handling"). > > Adopt __u32 for the union in via_read_time(), consistent with changes > to via_write_time(). > > Use low_32_bits() in via_write_time(), consistent with changes to lower_32_bits() > pmu_write_time() and cuda_write_time(). > > Have via_read_time() return a time64_t, consistent with changes to > pmu_read_time and cuda_read_time(). pmu_read_time() > Drop the pointless wraparound conditional in via_read_time(). > > Cc: Arnd Bergmann > Signed-off-by: Finn Thain Thanks! Applied to master with the above fixed. Folded into the original commit on for-v4.19, with: [fthain: Adopt __u32 for the union in via_read_time(), consistent with changes to via_write_time()] [fthain: Use lower_32_bits() in via_write_time(), consistent with changes to pmu_write_time() and cuda_write_time()] [fthain: Have via_read_time() return a time64_t, consistent with changes to pmu_read_time() and cuda_read_time()] [fthain: Drop the pointless wraparound conditional in via_read_time()] Signed-off-by: Finn Thain Reviewed-by: Arnd Bergmann Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
Re: [PATCH] m68k/mac: Rework patch "use time64_t in RTC handling"
Hi Finn, Arnd, On Tue, Jul 24, 2018 at 9:07 AM Finn Thain wrote: > This addresses the issues arising from commit 324caa29cd04 > ("m68k: mac: use time64_t in RTC handling"). > > Adopt __u32 for the union in via_read_time(), consistent with changes > to via_write_time(). > > Use low_32_bits() in via_write_time(), consistent with changes to lower_32_bits() > pmu_write_time() and cuda_write_time(). > > Have via_read_time() return a time64_t, consistent with changes to > pmu_read_time and cuda_read_time(). pmu_read_time() > Drop the pointless wraparound conditional in via_read_time(). > > Cc: Arnd Bergmann > Signed-off-by: Finn Thain Thanks! Applied to master with the above fixed. Folded into the original commit on for-v4.19, with: [fthain: Adopt __u32 for the union in via_read_time(), consistent with changes to via_write_time()] [fthain: Use lower_32_bits() in via_write_time(), consistent with changes to pmu_write_time() and cuda_write_time()] [fthain: Have via_read_time() return a time64_t, consistent with changes to pmu_read_time() and cuda_read_time()] [fthain: Drop the pointless wraparound conditional in via_read_time()] Signed-off-by: Finn Thain Reviewed-by: Arnd Bergmann Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
Re: [PATCH] m68k/mac: Rework patch "use time64_t in RTC handling"
On Tue, Jul 24, 2018 at 9:07 AM, Finn Thain wrote: > This addresses the issues arising from commit 324caa29cd04 > ("m68k: mac: use time64_t in RTC handling"). > > Adopt __u32 for the union in via_read_time(), consistent with changes > to via_write_time(). > > Use low_32_bits() in via_write_time(), consistent with changes to > pmu_write_time() and cuda_write_time(). > > Have via_read_time() return a time64_t, consistent with changes to > pmu_read_time and cuda_read_time(). > > Drop the pointless wraparound conditional in via_read_time(). > > Cc: Arnd Bergmann > Signed-off-by: Finn Thain Reviewed-by: Arnd Bergmann Thanks for fixing it up!
Re: [PATCH] m68k/mac: Rework patch "use time64_t in RTC handling"
On Tue, Jul 24, 2018 at 9:07 AM, Finn Thain wrote: > This addresses the issues arising from commit 324caa29cd04 > ("m68k: mac: use time64_t in RTC handling"). > > Adopt __u32 for the union in via_read_time(), consistent with changes > to via_write_time(). > > Use low_32_bits() in via_write_time(), consistent with changes to > pmu_write_time() and cuda_write_time(). > > Have via_read_time() return a time64_t, consistent with changes to > pmu_read_time and cuda_read_time(). > > Drop the pointless wraparound conditional in via_read_time(). > > Cc: Arnd Bergmann > Signed-off-by: Finn Thain Reviewed-by: Arnd Bergmann Thanks for fixing it up!
[PATCH] m68k/mac: Rework patch "use time64_t in RTC handling"
This addresses the issues arising from commit 324caa29cd04 ("m68k: mac: use time64_t in RTC handling"). Adopt __u32 for the union in via_read_time(), consistent with changes to via_write_time(). Use low_32_bits() in via_write_time(), consistent with changes to pmu_write_time() and cuda_write_time(). Have via_read_time() return a time64_t, consistent with changes to pmu_read_time and cuda_read_time(). Drop the pointless wraparound conditional in via_read_time(). Cc: Arnd Bergmann Signed-off-by: Finn Thain --- arch/m68k/mac/misc.c | 18 +++--- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/arch/m68k/mac/misc.c b/arch/m68k/mac/misc.c index bdc83eac6c61..19e9d8eef1f2 100644 --- a/arch/m68k/mac/misc.c +++ b/arch/m68k/mac/misc.c @@ -251,11 +251,11 @@ static void via_write_pram(int offset, __u8 data) * is basically any machine with Mac II-style ADB. */ -static long via_read_time(void) +static time64_t via_read_time(void) { union { __u8 cdata[4]; - long idata; + __u32 idata; } result, last_result; int count = 1; @@ -275,12 +275,8 @@ static long via_read_time(void) via_pram_command(0x89, [1]); via_pram_command(0x8D, [0]); - if (result.idata == last_result.idata) { - if (result.idata < RTC_OFFSET) - result.idata += 0x1ull; - - return result.idata - RTC_OFFSET; - } + if (result.idata == last_result.idata) + return (time64_t)result.idata - RTC_OFFSET; if (++count > 10) break; @@ -288,8 +284,8 @@ static long via_read_time(void) last_result.idata = result.idata; } - pr_err("via_read_time: failed to read a stable value; got 0x%08lx then 0x%08lx\n", - last_result.idata, result.idata); + pr_err("%s: failed to read a stable value; got 0x%08x then 0x%08x\n", + __func__, last_result.idata, result.idata); return 0; } @@ -314,7 +310,7 @@ static void via_write_time(time64_t time) temp = 0x55; via_pram_command(0x35, ); - data.idata = time + RTC_OFFSET; + data.idata = lower_32_bits(time + RTC_OFFSET); via_pram_command(0x01, [3]); via_pram_command(0x05, [2]); via_pram_command(0x09, [1]); -- 2.16.4
[PATCH] m68k/mac: Rework patch "use time64_t in RTC handling"
This addresses the issues arising from commit 324caa29cd04 ("m68k: mac: use time64_t in RTC handling"). Adopt __u32 for the union in via_read_time(), consistent with changes to via_write_time(). Use low_32_bits() in via_write_time(), consistent with changes to pmu_write_time() and cuda_write_time(). Have via_read_time() return a time64_t, consistent with changes to pmu_read_time and cuda_read_time(). Drop the pointless wraparound conditional in via_read_time(). Cc: Arnd Bergmann Signed-off-by: Finn Thain --- arch/m68k/mac/misc.c | 18 +++--- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/arch/m68k/mac/misc.c b/arch/m68k/mac/misc.c index bdc83eac6c61..19e9d8eef1f2 100644 --- a/arch/m68k/mac/misc.c +++ b/arch/m68k/mac/misc.c @@ -251,11 +251,11 @@ static void via_write_pram(int offset, __u8 data) * is basically any machine with Mac II-style ADB. */ -static long via_read_time(void) +static time64_t via_read_time(void) { union { __u8 cdata[4]; - long idata; + __u32 idata; } result, last_result; int count = 1; @@ -275,12 +275,8 @@ static long via_read_time(void) via_pram_command(0x89, [1]); via_pram_command(0x8D, [0]); - if (result.idata == last_result.idata) { - if (result.idata < RTC_OFFSET) - result.idata += 0x1ull; - - return result.idata - RTC_OFFSET; - } + if (result.idata == last_result.idata) + return (time64_t)result.idata - RTC_OFFSET; if (++count > 10) break; @@ -288,8 +284,8 @@ static long via_read_time(void) last_result.idata = result.idata; } - pr_err("via_read_time: failed to read a stable value; got 0x%08lx then 0x%08lx\n", - last_result.idata, result.idata); + pr_err("%s: failed to read a stable value; got 0x%08x then 0x%08x\n", + __func__, last_result.idata, result.idata); return 0; } @@ -314,7 +310,7 @@ static void via_write_time(time64_t time) temp = 0x55; via_pram_command(0x35, ); - data.idata = time + RTC_OFFSET; + data.idata = lower_32_bits(time + RTC_OFFSET); via_pram_command(0x01, [3]); via_pram_command(0x05, [2]); via_pram_command(0x09, [1]); -- 2.16.4