Re: [PATCH] [1/3] Only do century BCD conversion when we know theRTC is BCD

From: Thomas Gleixner
Date: Sat Feb 09 2008 - 05:28:43 EST


On Fri, 8 Feb 2008, Andi Kleen wrote:

>
> Minor logic fix. The century change was previously always BCD,
> even when the CMOS data would report itself not being BCD.

Where was it previously always BCD ?

The code flow is taken 1:1 from the original x8664 code. Just the
BCD_TO_BIN code has been made conditional for i386, which is not
chanining the logic at all, because RTC_ALWAYS_BCD is always true on
x8664.

While your change does not do any harm due to BCD_TO_BIN(0) = 0, it
is just not fixing anything.

Thanks,
tglx

> Signed-off-by: Andi Kleen <ak@xxxxxxx>
>
> ---
> arch/x86/kernel/rtc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> Index: linux/arch/x86/kernel/rtc.c
> ===================================================================
> --- linux.orig/arch/x86/kernel/rtc.c
> +++ linux/arch/x86/kernel/rtc.c
> @@ -130,10 +130,10 @@ unsigned long mach_get_cmos_time(void)
> BCD_TO_BIN(day);
> BCD_TO_BIN(mon);
> BCD_TO_BIN(year);
> + BCD_TO_BIN(century);
> }
>
> if (century) {
> - BCD_TO_BIN(century);
> year += century * 100;
> printk(KERN_INFO "Extended CMOS year: %d\n", century * 100);
> } else {
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/