From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756577AbbFBJHt (ORCPT ); Tue, 2 Jun 2015 05:07:49 -0400 Received: from m50-110.126.com ([123.125.50.110]:44317 "EHLO m50-110.126.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755176AbbFBJH0 (ORCPT ); Tue, 2 Jun 2015 05:07:26 -0400 From: Xunlei Pang To: linux-kernel@vger.kernel.org Cc: rtc-linux@googlegroups.com, Alessandro Zummo , Alexandre Belloni , John Stultz , Arnd Bergmann , Xunlei Pang Subject: [PATCH v2 2/4] rtc/lib: Introduce rtc_tm_subtract() helper function Date: Tue, 2 Jun 2015 17:04:20 +0800 Message-Id: <1433235862-1638-2-git-send-email-xlpang@126.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1433235862-1638-1-git-send-email-xlpang@126.com> References: <1433235862-1638-1-git-send-email-xlpang@126.com> X-CM-TRANSID: jdKowADHAkWqcW1V1JEqAQ--.1798S3 X-Coremail-Antispam: 1Uf129KBjvJXoW7tF48Xr4rKFWfJFyxJw1UWrg_yoW8ArWfpF 4Duw1DGr4kKrnYgF9rGws7Za13W3y8Jr4kWF98Jws3Za48ta4kGFykC3WUtryDta95CF4a qF4rZrn8Wr1UW37anT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x07jT7KsUUUUU= X-Originating-IP: [210.21.223.3] X-CM-SenderInfo: p0ost0bj6rjloofrz/1tbi6BENv1UJQRZYMQAAsp Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Xunlei Pang There're many sites need comparing the two rtc_time variants for many rtc drivers, especially in the instances of rtc_class_ops::set_alarm(). So add this common helper function to make things easy. Suggested-by: Arnd Bergmann Signed-off-by: Xunlei Pang --- drivers/rtc/rtc-lib.c | 9 +++++++++ include/linux/rtc.h | 2 ++ 2 files changed, 11 insertions(+) diff --git a/drivers/rtc/rtc-lib.c b/drivers/rtc/rtc-lib.c index e6bfb9c..fdb94cc 100644 --- a/drivers/rtc/rtc-lib.c +++ b/drivers/rtc/rtc-lib.c @@ -124,6 +124,15 @@ time64_t rtc_tm_to_time64(struct rtc_time *tm) EXPORT_SYMBOL(rtc_tm_to_time64); /* + * rtc_tm_subtract - Return the difference in seconds. + */ +time64_t rtc_tm_subtract(struct rtc_time *minuend, struct rtc_time *subtrahend) +{ + return rtc_tm_to_time64(minuend) - rtc_tm_to_time64(subtrahend); +} +EXPORT_SYMBOL_GPL(rtc_tm_subtract); + +/* * Convert rtc_time to ktime */ ktime_t rtc_tm_to_ktime(struct rtc_time tm) diff --git a/include/linux/rtc.h b/include/linux/rtc.h index 8dcf682..13e4138 100644 --- a/include/linux/rtc.h +++ b/include/linux/rtc.h @@ -21,6 +21,8 @@ extern int rtc_year_days(unsigned int day, unsigned int month, unsigned int year extern int rtc_valid_tm(struct rtc_time *tm); extern time64_t rtc_tm_to_time64(struct rtc_time *tm); extern void rtc_time64_to_tm(time64_t time, struct rtc_time *tm); +extern time64_t rtc_tm_subtract(struct rtc_time *minuend, + struct rtc_time *subtrahend); ktime_t rtc_tm_to_ktime(struct rtc_time tm); struct rtc_time rtc_ktime_to_tm(ktime_t kt); -- 1.9.1