]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/powerpc/platforms/ps3/os-area.c
[POWERPC] PS3: Add os-area rtc_diff set/get routines
[linux-2.6-omap-h63xx.git] / arch / powerpc / platforms / ps3 / os-area.c
index db311a147c2815b437475c7a4b1fb8ecc11127f9..473aee8580ce35d15961d589a12f9bba9052dd83 100644 (file)
@@ -261,15 +261,30 @@ void __init ps3_os_area_save_params(void)
 }
 
 /**
- * ps3_os_area_rtc_diff - Returns the rtc diff value.
+ * ps3_os_area_get_rtc_diff - Returns the rtc diff value.
  */
 
-u64 ps3_os_area_rtc_diff(void)
+u64 ps3_os_area_get_rtc_diff(void)
 {
        return saved_params.rtc_diff ? saved_params.rtc_diff
                : SECONDS_FROM_1970_TO_2000;
 }
 
+/**
+ * ps3_os_area_set_rtc_diff - Set the rtc diff value.
+ *
+ * An asynchronous write is needed to support writing updates from
+ * the timer interrupt context.
+ */
+
+void ps3_os_area_set_rtc_diff(u64 rtc_diff)
+{
+       if (saved_params.rtc_diff != rtc_diff) {
+               saved_params.rtc_diff = rtc_diff;
+               os_area_queue_work();
+       }
+}
+
 /**
  * ps3_os_area_get_av_multi_out - Returns the default video mode.
  */