The STMicroelectronics M41T11 is an RTC chip which is similar in most ways to the Dallas/Maxim DS1307 or DS1337, except that it supports software calibration: http://www.st.com/stonline/books/pdf/docs/6103.pdf I want to use this calibration feature in an embedded device I'm working on at TANDBERG Telecom AS. The basic idea is that when the device is connected to the network and an accurate reference clock is available, a userland process will periodically measure the divergence between the reference clock and the RTC, set the RTC to the correct time and step the calibration register in the correct direction to compensate for the observed drift. The purpose of this is to reduce the extent to which the RTC will drift when the device is switched off. Obviously it won't be perfect, as the temperature will be lower when the device is off than when it is being calibrated, but the crystal's accuracy curve is reasonably flat across the relevant temperature range. Since there is no way to distinguish the M41T11 from its many cousins, I've forked a new rtc-m41t11 driver from rtc-ds1307, stripped some irrelevant code, cleaned up the rest, and added support for the calibration register. In order to access this from userland, I've added two ioctls, (RTC_SPEED_UP and RTC_SPEED_DOWN) with corresponding functions in drivers/rtc/interface.c (rtc_speed_up() and rtc_speed_down()) and corresponding slots in rtc_class_ops (speed_up and speed_down). These ioctls etc. take no parameters: speed_up will increase the speed of the RTC by some unspecified small amount and slow_down will decrease it by some unspecified small amount. The application must simply measure, tweak, wait, measure, tweak, wait etc. until the RTC is within epsilon of the reference - where epsilon is some number that takes into account the precision of the RTC and of the reference clock, system call overhead, etc. Since the RTC usually has a 1s precision, epsilon is likely to be ±1s in practice. My hope is that this interface is simple enough and general enough to be usable by other RTC chips that may also support calibration, and that both design and code are of sufficiently quality to make it into the mainline at some point. Patch follows my sig. Comments of all kinds are welcome. DES -- Dag-Erling Smørgrav Senior Software Developer Linpro AS - www.linpro.no