All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@linux-foundation.org>
To: Devendra Naga <devendra.aaru@gmail.com>
Cc: Alessandro Zummo <a.zummo@towertech.it>,
	Anatolij Gustschin <agust@denx.de>,
	Andreas Dumberger <andreas.dumberger@tqs.de>,
	rtc-linux@googlegroups.com, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] rtc/r9701: avoid second call to the rtc_valid_tm
Date: Thu, 21 Jun 2012 13:51:36 -0700	[thread overview]
Message-ID: <20120621135136.1e2ff338.akpm@linux-foundation.org> (raw)
In-Reply-To: <1340262280-15096-1-git-send-email-devendra.aaru@gmail.com>

On Thu, 21 Jun 2012 12:34:40 +0530
Devendra Naga <devendra.aaru@gmail.com> wrote:

> r9701_get_datetime will call the rtc_valid_tm and it returns the
> value returned by rtc_valid_tm, which anyway can be used in the if
> 
> so calling rtc_valid_tm is not required.
> 
> Signed-off-by: Devendra Naga <devendra.aaru@gmail.com>
> ---
> 
> 
> This change is compiled tested only using gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3 on x86_64 (intel core i3).
> 
>  drivers/rtc/rtc-r9701.c |    3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/drivers/rtc/rtc-r9701.c b/drivers/rtc/rtc-r9701.c
> index 33b6ba0..e6c34c0 100644
> --- a/drivers/rtc/rtc-r9701.c
> +++ b/drivers/rtc/rtc-r9701.c
> @@ -138,8 +138,7 @@ static int __devinit r9701_probe(struct spi_device *spi)
>  	 * contain invalid values. If so, try to write a default date:
>  	 * 2000/1/1 00:00:00
>  	 */
> -	r9701_get_datetime(&spi->dev, &dt);
> -	if (rtc_valid_tm(&dt)) {
> +	if (r9701_get_datetime(&spi->dev, &dt)) {
>  		dev_info(&spi->dev, "trying to repair invalid date/time\n");
>  		dt.tm_sec  = 0;
>  		dt.tm_min  = 0;

Looks OK.


I think the driver would be better if we were to do this:


From: Andrew Morton <akpm@linux-foundation.org>
Subject: drivers/rtc/rtc-r9701.c: check that r9701_set_datetime() succeeded

When the driver detects that the clock time is invalid, it attempts to
write a sane time into the hardware.  We curently assume that everything
is OK is those writes succeeded.  But it is better to re-read the time
from the hardware to ensure that the new settings got there OK.

Cc: Devendra Naga <devendra.aaru@gmail.com>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Cc: Anatolij Gustschin <agust@denx.de>
Cc: Andreas Dumberger <andreas.dumberger@tqs.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---

 drivers/rtc/rtc-r9701.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff -puN drivers/rtc/rtc-r9701.c~a drivers/rtc/rtc-r9701.c
--- a/drivers/rtc/rtc-r9701.c~a
+++ a/drivers/rtc/rtc-r9701.c
@@ -147,7 +147,8 @@ static int __devinit r9701_probe(struct 
 		dt.tm_mon  = 0;
 		dt.tm_year = 100;
 
-		if (r9701_set_datetime(&spi->dev, &dt)) {
+		if (r9701_set_datetime(&spi->dev, &dt) ||
+				r9701_get_datetime(&spi->dev, &dt)) {
 			dev_err(&spi->dev, "cannot repair RTC register\n");
 			return -ENODEV;
 		}
_


But I can't test this :(

  reply	other threads:[~2012-06-21 20:51 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-21  7:04 [PATCH] rtc/r9701: avoid second call to the rtc_valid_tm Devendra Naga
2012-06-21 20:51 ` Andrew Morton [this message]
2012-06-22  5:45   ` devendra.aaru

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120621135136.1e2ff338.akpm@linux-foundation.org \
    --to=akpm@linux-foundation.org \
    --cc=a.zummo@towertech.it \
    --cc=agust@denx.de \
    --cc=andreas.dumberger@tqs.de \
    --cc=devendra.aaru@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rtc-linux@googlegroups.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.