The patch titled Subject: rtc_sysfs_show_hctosys(): display 0 if resume failed has been removed from the -mm tree. Its filename was rtc_sysfs_show_hctosys-return-0-if-resume-failed.patch This patch was dropped because it was merged into mainline or a subsystem tree ------------------------------------------------------ From: David Fries <david@xxxxxxxxx> Subject: rtc_sysfs_show_hctosys(): display 0 if resume failed Without this patch /sys/class/rtc/$CONFIG_RTC_HCTOSYS_DEVICE/hctosys contains a 1 (meaning "This rtc was used to initialize the system clock") even if setting the time by do_settimeofday() at bootup failed. The RTC can also be used to set the clock on resume, if it did 1, otherwise 0. Previously there was no indication if the RTC was used to set the clock in resume. This uses only CONFIG_RTC_HCTOSYS_DEVICE for conditional compilation instead of it and CONFIG_RTC_HCTOSYS to be more consistent. rtc_hctosys_ret was moved to class.c so class.c no longer depends on hctosys.c. [sfr@xxxxxxxxxxxxxxxx: fix build] Signed-off-by: David Fries <David@xxxxxxxxx> Cc: Matthew Garrett <mjg@xxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- drivers/rtc/class.c | 8 +++++++- drivers/rtc/hctosys.c | 4 +--- drivers/rtc/rtc-sysfs.c | 6 ++++++ include/linux/rtc.h | 2 +- 4 files changed, 15 insertions(+), 5 deletions(-) diff -puN drivers/rtc/class.c~rtc_sysfs_show_hctosys-return-0-if-resume-failed drivers/rtc/class.c --- a/drivers/rtc/class.c~rtc_sysfs_show_hctosys-return-0-if-resume-failed +++ a/drivers/rtc/class.c @@ -31,8 +31,12 @@ static void rtc_device_release(struct de kfree(rtc); } -#if defined(CONFIG_PM) && defined(CONFIG_RTC_HCTOSYS_DEVICE) +#ifdef CONFIG_RTC_HCTOSYS_DEVICE +/* Result of the last RTC to system clock attempt. */ +int rtc_hctosys_ret = -ENODEV; +#endif +#if defined(CONFIG_PM) && defined(CONFIG_RTC_HCTOSYS_DEVICE) /* * On suspend(), measure the delta between one RTC and the * system's wall clock; restore it on resume(). @@ -84,6 +88,7 @@ static int rtc_resume(struct device *dev struct timespec new_system, new_rtc; struct timespec sleep_time; + rtc_hctosys_ret = -ENODEV; if (strcmp(dev_name(&rtc->dev), CONFIG_RTC_HCTOSYS_DEVICE) != 0) return 0; @@ -117,6 +122,7 @@ static int rtc_resume(struct device *dev if (sleep_time.tv_sec >= 0) timekeeping_inject_sleeptime(&sleep_time); + rtc_hctosys_ret = 0; return 0; } diff -puN drivers/rtc/hctosys.c~rtc_sysfs_show_hctosys-return-0-if-resume-failed drivers/rtc/hctosys.c --- a/drivers/rtc/hctosys.c~rtc_sysfs_show_hctosys-return-0-if-resume-failed +++ a/drivers/rtc/hctosys.c @@ -22,8 +22,6 @@ * the best guess is to add 0.5s. */ -int rtc_hctosys_ret = -ENODEV; - static int __init rtc_hctosys(void) { int err = -ENODEV; @@ -56,7 +54,7 @@ static int __init rtc_hctosys(void) rtc_tm_to_time(&tm, &tv.tv_sec); - do_settimeofday(&tv); + err = do_settimeofday(&tv); dev_info(rtc->dev.parent, "setting system clock to " diff -puN drivers/rtc/rtc-sysfs.c~rtc_sysfs_show_hctosys-return-0-if-resume-failed drivers/rtc/rtc-sysfs.c --- a/drivers/rtc/rtc-sysfs.c~rtc_sysfs_show_hctosys-return-0-if-resume-failed +++ a/drivers/rtc/rtc-sysfs.c @@ -102,6 +102,12 @@ rtc_sysfs_set_max_user_freq(struct devic return n; } +/** + * rtc_sysfs_show_hctosys - indicate if the given RTC set the system time + * + * Returns 1 if the system clock was set by this RTC at the last + * boot or resume event. + */ static ssize_t rtc_sysfs_show_hctosys(struct device *dev, struct device_attribute *attr, char *buf) diff -puN include/linux/rtc.h~rtc_sysfs_show_hctosys-return-0-if-resume-failed include/linux/rtc.h --- a/include/linux/rtc.h~rtc_sysfs_show_hctosys-return-0-if-resume-failed +++ a/include/linux/rtc.h @@ -276,7 +276,7 @@ static inline bool is_leap_year(unsigned return (!(year % 4) && (year % 100)) || !(year % 400); } -#ifdef CONFIG_RTC_HCTOSYS +#ifdef CONFIG_RTC_HCTOSYS_DEVICE extern int rtc_hctosys_ret; #else #define rtc_hctosys_ret -ENODEV _ Patches currently in -mm which might be from david@xxxxxxxxx are origin.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html