linux-mips
[Top] [All Lists]

Re: [PATCH] RTC: M41T80: Century Bit support

To: macro@linux-mips.org
Subject: Re: [PATCH] RTC: M41T80: Century Bit support
From: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Date: Sun, 18 May 2008 00:02:42 +0900 (JST)
Cc: a.zummo@towertech.it, hvr@gnu.org, akpm@linux-foundation.org, rtc-linux@googlegroups.com, linux-mips@linux-mips.org, linux-kernel@vger.kernel.org
In-reply-to: <Pine.LNX.4.55.0805170057370.4049@cliff.in.clinika.pl>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <Pine.LNX.4.55.0805170057370.4049@cliff.in.clinika.pl>
Sender: linux-mips-bounce@linux-mips.org
On Sat, 17 May 2008 01:25:18 +0100 (BST), "Maciej W. Rozycki" 
<macro@linux-mips.org> wrote:
>  Make use of the Century Bit to support years in the range from 1970 to 
> 2169.  Enable toggling of the bit at the end of a century on a clock 
> update.
> ---
>  The clock is used with the Broadcom SWARM and the D-Link DNS-323 
> platform.
> 
>  I have verified correct operation with the SWARM -- the firmware assumes
> 19YY when CB is clear and 20YY otherwise.  Which means years 1900-1969
> will be shown as 2100-2169 in Linux.  I think this is a feature rather
> than a problem.  The firmware does not set the CEB bit itself and does not 
> care of what its state is.
> 
>  I will be happy to hear from a DNS-323 user to confirm or deny whether
> such an interpretation is compatible.

This patch enforces that all (including future) users of this device
must use same interpretation of CB bit.  I think this is too
intrusive.

And I have one (out-of-tree, and only one in the world) board with
this device and its firmware uses different interpretation.
Fortunately I can change this firmware, so this is not a serious
problem for me. ;)

How about doing like this?

1. If CEB was 0, keep current behavior. (does not touch CB bit)

2. If CEB was 1, detect polarity of CB bit on get_datetime, and set or
   clear CB bit on set_datetime based on the polarity.

Please look at "c_polarity" variable in rtc-pcf8563.c driver.

---
Atsushi Nemoto

<Prev in Thread] Current Thread [Next in Thread>