On Sat, 17 May 2008 01:25:18 +0100 (BST), "Maciej W. Rozycki" <macro@xxxxxxxxxxxxxx> 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