Re: [PATCH v2 3/3] timekeeping: Add CONFIG_HAS_PERSISTENT_CLOCK option

2013-01-25 Thread John Stultz

On 01/22/2013 11:49 AM, John Stultz wrote:

On 01/22/2013 11:44 AM, Jason Gunthorpe wrote:

On Tue, Jan 15, 2013 at 11:50:18AM -0800, John Stultz wrote:

On 01/15/2013 08:09 AM, Feng Tang wrote:

Make the persistent clock check a kernel config option, so that some
platform can explicitely select it, also make CONFIG_RTC_HCTOSYS 
depends

on its non-existence, which could prevent the persistent clock and RTC
code from doing similar thing twice during system's 
init/suspend/resume

phases.

If the CONFIG_HAS_PERSISTENT_CLOCK=n, then no change happens for 
kernel

which still does the persistent clock check in timekeeping_init().

Cc: Thomas Gleixner 
Suggested-by: John Stultz 
Signed-off-by: Feng Tang 

Applied. I also added a dependency for Jason's CONFIG_RTC_SYSTOHC.

Sort of an ugly config name, since I gather ARM should always set this
to 'n'...

CONFIG_USE_ONLY_PERSISTENT_CLOCK ?

(Sigh. I got this seemingly microseconds after I sent the pull request :)

So yea, fair point, there could be some confusion. But 
ONLY_PERSISTENT_CLOCK isn't quite right either,  more like 
CONFIG_HAS_PERSISTENT_CLOCK_ALWAYS or something.




Decided upon CONFIG_ALWAYS_USE_PERSISTENT_CLOCK which I think is clear 
enough.


Let me know if you object or have a better idea.

thanks
-john

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2 3/3] timekeeping: Add CONFIG_HAS_PERSISTENT_CLOCK option

2013-01-25 Thread John Stultz

On 01/22/2013 11:49 AM, John Stultz wrote:

On 01/22/2013 11:44 AM, Jason Gunthorpe wrote:

On Tue, Jan 15, 2013 at 11:50:18AM -0800, John Stultz wrote:

On 01/15/2013 08:09 AM, Feng Tang wrote:

Make the persistent clock check a kernel config option, so that some
platform can explicitely select it, also make CONFIG_RTC_HCTOSYS 
depends

on its non-existence, which could prevent the persistent clock and RTC
code from doing similar thing twice during system's 
init/suspend/resume

phases.

If the CONFIG_HAS_PERSISTENT_CLOCK=n, then no change happens for 
kernel

which still does the persistent clock check in timekeeping_init().

Cc: Thomas Gleixner t...@linutronix.de
Suggested-by: John Stultz john.stu...@linaro.org
Signed-off-by: Feng Tang feng.t...@intel.com

Applied. I also added a dependency for Jason's CONFIG_RTC_SYSTOHC.

Sort of an ugly config name, since I gather ARM should always set this
to 'n'...

CONFIG_USE_ONLY_PERSISTENT_CLOCK ?

(Sigh. I got this seemingly microseconds after I sent the pull request :)

So yea, fair point, there could be some confusion. But 
ONLY_PERSISTENT_CLOCK isn't quite right either,  more like 
CONFIG_HAS_PERSISTENT_CLOCK_ALWAYS or something.




Decided upon CONFIG_ALWAYS_USE_PERSISTENT_CLOCK which I think is clear 
enough.


Let me know if you object or have a better idea.

thanks
-john

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2 3/3] timekeeping: Add CONFIG_HAS_PERSISTENT_CLOCK option

2013-01-22 Thread John Stultz

On 01/22/2013 11:44 AM, Jason Gunthorpe wrote:

On Tue, Jan 15, 2013 at 11:50:18AM -0800, John Stultz wrote:

On 01/15/2013 08:09 AM, Feng Tang wrote:

Make the persistent clock check a kernel config option, so that some
platform can explicitely select it, also make CONFIG_RTC_HCTOSYS depends
on its non-existence, which could prevent the persistent clock and RTC
code from doing similar thing twice during system's init/suspend/resume
phases.

If the CONFIG_HAS_PERSISTENT_CLOCK=n, then no change happens for kernel
which still does the persistent clock check in timekeeping_init().

Cc: Thomas Gleixner 
Suggested-by: John Stultz 
Signed-off-by: Feng Tang 

Applied. I also added a dependency for Jason's CONFIG_RTC_SYSTOHC.

Sort of an ugly config name, since I gather ARM should always set this
to 'n'...

CONFIG_USE_ONLY_PERSISTENT_CLOCK ?

(Sigh. I got this seemingly microseconds after I sent the pull request :)

So yea, fair point, there could be some confusion. But 
ONLY_PERSISTENT_CLOCK isn't quite right either,  more like 
CONFIG_HAS_PERSISTENT_CLOCK_ALWAYS or something.


Hrm. Let me think on it for a bit, and feel free to suggest further 
improvements.


thanks
-john
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2 3/3] timekeeping: Add CONFIG_HAS_PERSISTENT_CLOCK option

2013-01-22 Thread Jason Gunthorpe
On Tue, Jan 15, 2013 at 11:50:18AM -0800, John Stultz wrote:
> On 01/15/2013 08:09 AM, Feng Tang wrote:
> >Make the persistent clock check a kernel config option, so that some
> >platform can explicitely select it, also make CONFIG_RTC_HCTOSYS depends
> >on its non-existence, which could prevent the persistent clock and RTC
> >code from doing similar thing twice during system's init/suspend/resume
> >phases.
> >
> >If the CONFIG_HAS_PERSISTENT_CLOCK=n, then no change happens for kernel
> >which still does the persistent clock check in timekeeping_init().
> >
> >Cc: Thomas Gleixner 
> >Suggested-by: John Stultz 
> >Signed-off-by: Feng Tang 
> 
> Applied. I also added a dependency for Jason's CONFIG_RTC_SYSTOHC.

Sort of an ugly config name, since I gather ARM should always set this
to 'n'...

CONFIG_USE_ONLY_PERSISTENT_CLOCK ?

Cheers,
Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2 3/3] timekeeping: Add CONFIG_HAS_PERSISTENT_CLOCK option

2013-01-22 Thread Jason Gunthorpe
On Tue, Jan 15, 2013 at 11:50:18AM -0800, John Stultz wrote:
 On 01/15/2013 08:09 AM, Feng Tang wrote:
 Make the persistent clock check a kernel config option, so that some
 platform can explicitely select it, also make CONFIG_RTC_HCTOSYS depends
 on its non-existence, which could prevent the persistent clock and RTC
 code from doing similar thing twice during system's init/suspend/resume
 phases.
 
 If the CONFIG_HAS_PERSISTENT_CLOCK=n, then no change happens for kernel
 which still does the persistent clock check in timekeeping_init().
 
 Cc: Thomas Gleixner t...@linutronix.de
 Suggested-by: John Stultz john.stu...@linaro.org
 Signed-off-by: Feng Tang feng.t...@intel.com
 
 Applied. I also added a dependency for Jason's CONFIG_RTC_SYSTOHC.

Sort of an ugly config name, since I gather ARM should always set this
to 'n'...

CONFIG_USE_ONLY_PERSISTENT_CLOCK ?

Cheers,
Jason
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2 3/3] timekeeping: Add CONFIG_HAS_PERSISTENT_CLOCK option

2013-01-22 Thread John Stultz

On 01/22/2013 11:44 AM, Jason Gunthorpe wrote:

On Tue, Jan 15, 2013 at 11:50:18AM -0800, John Stultz wrote:

On 01/15/2013 08:09 AM, Feng Tang wrote:

Make the persistent clock check a kernel config option, so that some
platform can explicitely select it, also make CONFIG_RTC_HCTOSYS depends
on its non-existence, which could prevent the persistent clock and RTC
code from doing similar thing twice during system's init/suspend/resume
phases.

If the CONFIG_HAS_PERSISTENT_CLOCK=n, then no change happens for kernel
which still does the persistent clock check in timekeeping_init().

Cc: Thomas Gleixner t...@linutronix.de
Suggested-by: John Stultz john.stu...@linaro.org
Signed-off-by: Feng Tang feng.t...@intel.com

Applied. I also added a dependency for Jason's CONFIG_RTC_SYSTOHC.

Sort of an ugly config name, since I gather ARM should always set this
to 'n'...

CONFIG_USE_ONLY_PERSISTENT_CLOCK ?

(Sigh. I got this seemingly microseconds after I sent the pull request :)

So yea, fair point, there could be some confusion. But 
ONLY_PERSISTENT_CLOCK isn't quite right either,  more like 
CONFIG_HAS_PERSISTENT_CLOCK_ALWAYS or something.


Hrm. Let me think on it for a bit, and feel free to suggest further 
improvements.


thanks
-john
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2 3/3] timekeeping: Add CONFIG_HAS_PERSISTENT_CLOCK option

2013-01-15 Thread John Stultz

On 01/15/2013 08:09 AM, Feng Tang wrote:

Make the persistent clock check a kernel config option, so that some
platform can explicitely select it, also make CONFIG_RTC_HCTOSYS depends
on its non-existence, which could prevent the persistent clock and RTC
code from doing similar thing twice during system's init/suspend/resume
phases.

If the CONFIG_HAS_PERSISTENT_CLOCK=n, then no change happens for kernel
which still does the persistent clock check in timekeeping_init().

Cc: Thomas Gleixner 
Suggested-by: John Stultz 
Signed-off-by: Feng Tang 


Applied. I also added a dependency for Jason's CONFIG_RTC_SYSTOHC.

thanks
-john

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH v2 3/3] timekeeping: Add CONFIG_HAS_PERSISTENT_CLOCK option

2013-01-15 Thread Feng Tang
Make the persistent clock check a kernel config option, so that some
platform can explicitely select it, also make CONFIG_RTC_HCTOSYS depends
on its non-existence, which could prevent the persistent clock and RTC
code from doing similar thing twice during system's init/suspend/resume
phases.

If the CONFIG_HAS_PERSISTENT_CLOCK=n, then no change happens for kernel
which still does the persistent clock check in timekeeping_init().

Cc: Thomas Gleixner 
Suggested-by: John Stultz 
Signed-off-by: Feng Tang 
---
 drivers/rtc/Kconfig  |1 +
 include/linux/time.h |5 +
 kernel/time/Kconfig  |5 +
 3 files changed, 11 insertions(+)

diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig
index 923a9da..5b963c6 100644
--- a/drivers/rtc/Kconfig
+++ b/drivers/rtc/Kconfig
@@ -20,6 +20,7 @@ if RTC_CLASS
 config RTC_HCTOSYS
bool "Set system time from RTC on startup and resume"
default y
+   depends on !HAS_PERSISTENT_CLOCK
help
  If you say yes here, the system time (wall clock) will be set using
  the value read from a specified RTC device. This is useful to avoid
diff --git a/include/linux/time.h b/include/linux/time.h
index 2f58603..e08051c 100644
--- a/include/linux/time.h
+++ b/include/linux/time.h
@@ -116,10 +116,15 @@ static inline bool timespec_valid_strict(const struct 
timespec *ts)
 }
 
 extern bool persistent_clock_exist;
+
+#ifdef CONFIG_HAS_PERSISTENT_CLOCK
+#define has_persistent_clock() true
+#else
 static inline bool has_persistent_clock(void)
 {
return persistent_clock_exist;
 }
+#endif
 
 extern void read_persistent_clock(struct timespec *ts);
 extern void read_boot_clock(struct timespec *ts);
diff --git a/kernel/time/Kconfig b/kernel/time/Kconfig
index 8601f0d..f7e45b9 100644
--- a/kernel/time/Kconfig
+++ b/kernel/time/Kconfig
@@ -12,6 +12,11 @@ config CLOCKSOURCE_WATCHDOG
 config ARCH_CLOCKSOURCE_DATA
bool
 
+# Platforms has a persistent clock
+config HAS_PERSISTENT_CLOCK
+   bool
+   default n
+
 # Timekeeping vsyscall support
 config GENERIC_TIME_VSYSCALL
bool
-- 
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH v2 3/3] timekeeping: Add CONFIG_HAS_PERSISTENT_CLOCK option

2013-01-15 Thread Feng Tang
Make the persistent clock check a kernel config option, so that some
platform can explicitely select it, also make CONFIG_RTC_HCTOSYS depends
on its non-existence, which could prevent the persistent clock and RTC
code from doing similar thing twice during system's init/suspend/resume
phases.

If the CONFIG_HAS_PERSISTENT_CLOCK=n, then no change happens for kernel
which still does the persistent clock check in timekeeping_init().

Cc: Thomas Gleixner t...@linutronix.de
Suggested-by: John Stultz john.stu...@linaro.org
Signed-off-by: Feng Tang feng.t...@intel.com
---
 drivers/rtc/Kconfig  |1 +
 include/linux/time.h |5 +
 kernel/time/Kconfig  |5 +
 3 files changed, 11 insertions(+)

diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig
index 923a9da..5b963c6 100644
--- a/drivers/rtc/Kconfig
+++ b/drivers/rtc/Kconfig
@@ -20,6 +20,7 @@ if RTC_CLASS
 config RTC_HCTOSYS
bool Set system time from RTC on startup and resume
default y
+   depends on !HAS_PERSISTENT_CLOCK
help
  If you say yes here, the system time (wall clock) will be set using
  the value read from a specified RTC device. This is useful to avoid
diff --git a/include/linux/time.h b/include/linux/time.h
index 2f58603..e08051c 100644
--- a/include/linux/time.h
+++ b/include/linux/time.h
@@ -116,10 +116,15 @@ static inline bool timespec_valid_strict(const struct 
timespec *ts)
 }
 
 extern bool persistent_clock_exist;
+
+#ifdef CONFIG_HAS_PERSISTENT_CLOCK
+#define has_persistent_clock() true
+#else
 static inline bool has_persistent_clock(void)
 {
return persistent_clock_exist;
 }
+#endif
 
 extern void read_persistent_clock(struct timespec *ts);
 extern void read_boot_clock(struct timespec *ts);
diff --git a/kernel/time/Kconfig b/kernel/time/Kconfig
index 8601f0d..f7e45b9 100644
--- a/kernel/time/Kconfig
+++ b/kernel/time/Kconfig
@@ -12,6 +12,11 @@ config CLOCKSOURCE_WATCHDOG
 config ARCH_CLOCKSOURCE_DATA
bool
 
+# Platforms has a persistent clock
+config HAS_PERSISTENT_CLOCK
+   bool
+   default n
+
 # Timekeeping vsyscall support
 config GENERIC_TIME_VSYSCALL
bool
-- 
1.7.9.5

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2 3/3] timekeeping: Add CONFIG_HAS_PERSISTENT_CLOCK option

2013-01-15 Thread John Stultz

On 01/15/2013 08:09 AM, Feng Tang wrote:

Make the persistent clock check a kernel config option, so that some
platform can explicitely select it, also make CONFIG_RTC_HCTOSYS depends
on its non-existence, which could prevent the persistent clock and RTC
code from doing similar thing twice during system's init/suspend/resume
phases.

If the CONFIG_HAS_PERSISTENT_CLOCK=n, then no change happens for kernel
which still does the persistent clock check in timekeeping_init().

Cc: Thomas Gleixner t...@linutronix.de
Suggested-by: John Stultz john.stu...@linaro.org
Signed-off-by: Feng Tang feng.t...@intel.com


Applied. I also added a dependency for Jason's CONFIG_RTC_SYSTOHC.

thanks
-john

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/