On Sat, 17 May 2008 01:25:18 +0100 (BST), "Maciej W. Rozycki"
> 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
> The clock is used with the Broadcom SWARM and the D-Link DNS-323
> 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
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.