From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752597AbbDBX6I (ORCPT ); Thu, 2 Apr 2015 19:58:08 -0400 Received: from mailout3.samsung.com ([203.254.224.33]:21976 "EHLO mailout3.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751344AbbDBX6F (ORCPT ); Thu, 2 Apr 2015 19:58:05 -0400 X-AuditID: cbfee68e-f79b46d000002b74-de-551dd78bfb34 Message-id: <551DD78A.1000502@samsung.com> Date: Fri, 03 Apr 2015 08:58:02 +0900 From: Chanwoo Choi User-Agent: Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130106 Thunderbird/17.0.2 MIME-version: 1.0 To: Krzysztof Kozlowski Cc: Alessandro Zummo , rtc-linux@googlegroups.com, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, Alexandre Belloni , Marek Szyprowski Subject: Re: [PATCH] rtc: rtc-s3c: Fix failed first read of RTC time References: <1427972459-6480-1-git-send-email-k.kozlowski@samsung.com> In-reply-to: <1427972459-6480-1-git-send-email-k.kozlowski@samsung.com> Content-type: text/plain; charset=ISO-8859-1 Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrEIsWRmVeSWpSXmKPExsWyRsSkULf7umyoQetZQYslF6+yW3RcW8xk 8fqFocXlXXPYLGac38dksfbIXXaL/Z0djA7sHk82XWT02DPxJJtH35ZVjB7T5/1k8vi8SS6A NYrLJiU1J7MstUjfLoErY/rryoIWoYqLl7cxNjAu4+ti5OCQEDCRWHTYqouRE8gUk7hwbz1b FyMXh5DAUkaJHSc7mCASJhIrd61lhEhMZ5SY9f0aVNUDRokX74+yglTxCmhJfJtzggXEZhFQ lfixfhYziM0GFN//4gYbiC0qECaxcvoVFoh6QYkfk++B2SIChhIHd29nAhnKLPCVUWLp33fs IAlhAReJXSvmgzULCbhJfDr5E6yBU8BdYtbtLWA2s4COxP7WaWwQtrzE5jVvmUEGSQicY5dY tv87O8RFAhLfJh9igfhZVmLTAWaI1yQlDq64wTKBUWwWkptmIRk7C8nYBYzMqxhFUwuSC4qT 0ouM9IoTc4tL89L1kvNzNzECo+70v2d9OxhvHrA+xCjAwajEw5uxRyZUiDWxrLgy9xCjKdAV E5mlRJPzgbGdVxJvaGxmZGFqYmpsZG5ppiTOmyD1M1hIID2xJDU7NbUgtSi+qDQntfgQIxMH p1QDY8G9C3720RbBM5O29mgWqh58tLFkxl0b2Xs1lsWTlOQFXH5NsNnHa/V5k7KkfcG7HcWx /1X4ft1qZDC5bJuk3dEcUiYn2ZT+g3GTcSKz4HuF9qNfIhzfLc1+/ia/6iND0h39BEtV5pPP Es9XXzO/ZHuk989Hz24r848CHvuevfMTYVQxsfBTYinOSDTUYi4qTgQAGWit+rUCAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrLIsWRmVeSWpSXmKPExsVy+t9jQd3u67KhBq+OclosuXiV3aLj2mIm i9cvDC0u75rDZjHj/D4mi7VH7rJb7O/sYHRg93iy6SKjx56JJ9k8+rasYvSYPu8nk8fnTXIB rFENjDYZqYkpqUUKqXnJ+SmZeem2St7B8c7xpmYGhrqGlhbmSgp5ibmptkouPgG6bpk5QGco KZQl5pQChQISi4uV9O0wTQgNcdO1gGmM0PUNCYLrMTJAAwlrGDOmv64saBGquHh5G2MD4zK+ LkZODgkBE4mVu9YyQthiEhfurWfrYuTiEBKYzigx6/s1KOcBo8SL90dZQap4BbQkvs05wQJi swioSvxYP4sZxGYDiu9/cYMNxBYVCJNYOf0KC0S9oMSPyffAbBEBQ4mDu7czgQxlFvjKKLH0 7zt2kISwgIvErhXzwZqFBNwkPp38CdbAKeAuMev2FjCbWUBHYn/rNDYIW15i85q3zBMYBWYh 2TELSdksJGULGJlXMYqmFiQXFCel5xrqFSfmFpfmpesl5+duYgRH9TOpHYwrGywOMQpwMCrx 8GbskQkVYk0sK67MPcQowcGsJMK7YrdsqBBvSmJlVWpRfnxRaU5q8SFGU2AQTGSWEk3OByac vJJ4Q2MTMyNLI3NDCyNjcyVxXiX7thAhgfTEktTs1NSC1CKYPiYOTqkGRuG3kz/GfP/q4uyW +//Amesn5rf+OJnM/v9eieYN2x+TzjzJvFijMH/fm38iurOrr+wTzl41c8nrUz/cHyz8GjX5 1A1/u4v8G2NMgndwiMo8SXvOEV98qnv1hQmPJeNt5hn6L9z7PsD/wWaB499Teg/F8TwQeifX d2x21N07+T61rUeNF0+KW7xUiaU4I9FQi7moOBEAbEZYHAADAAA= DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 04/02/2015 08:00 PM, Krzysztof Kozlowski wrote: > Initialize the device time (if it is wrong) before registering RTC > device to fix following error message during rtc-s3c probe: > > [ 2.215414] rtc (null): read_time: fail to read > [ 2.216322] s3c-rtc 10070000.rtc: rtc core: registered s3c as rtc1 > > Signed-off-by: Krzysztof Kozlowski > --- > drivers/rtc/rtc-s3c.c | 32 ++++++++++++++++---------------- > 1 file changed, 16 insertions(+), 16 deletions(-) > > diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c > index 5e162eaad277..1d3a4c58fec4 100644 > --- a/drivers/rtc/rtc-s3c.c > +++ b/drivers/rtc/rtc-s3c.c > @@ -496,6 +496,22 @@ static int s3c_rtc_probe(struct platform_device *pdev) > > device_init_wakeup(&pdev->dev, 1); > > + /* Check RTC Time */ > + s3c_rtc_gettime(&pdev->dev, &rtc_tm); > + > + if (rtc_valid_tm(&rtc_tm)) { > + rtc_tm.tm_year = 100; > + rtc_tm.tm_mon = 0; > + rtc_tm.tm_mday = 1; > + rtc_tm.tm_hour = 0; > + rtc_tm.tm_min = 0; > + rtc_tm.tm_sec = 0; > + > + s3c_rtc_settime(&pdev->dev, &rtc_tm); > + > + dev_warn(&pdev->dev, "warning: invalid RTC value so initializing it\n"); > + } > + > /* register RTC and exit */ > info->rtc = devm_rtc_device_register(&pdev->dev, "s3c", &s3c_rtcops, > THIS_MODULE); > @@ -519,22 +535,6 @@ static int s3c_rtc_probe(struct platform_device *pdev) > goto err_nortc; > } > > - /* Check RTC Time */ > - s3c_rtc_gettime(&pdev->dev, &rtc_tm); > - > - if (rtc_valid_tm(&rtc_tm)) { > - rtc_tm.tm_year = 100; > - rtc_tm.tm_mon = 0; > - rtc_tm.tm_mday = 1; > - rtc_tm.tm_hour = 0; > - rtc_tm.tm_min = 0; > - rtc_tm.tm_sec = 0; > - > - s3c_rtc_settime(&pdev->dev, &rtc_tm); > - > - dev_warn(&pdev->dev, "warning: invalid RTC value so initializing it\n"); > - } > - > if (info->data->select_tick_clk) > info->data->select_tick_clk(info); > > When registering RTC device by using devm_rtc_device_register(), rtc_device_register() read the time as following. Looks good to me. devm_rtc_device_register() rtc_device_register() __rtc_read_alarm() rtc_read_time() __rtc_read_time() Reviewed-by: Chanwoo Choi Thanks, Chanwoo Choi