public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Alexandre Belloni <alexandre.belloni@free-electrons.com>
To: Andrey Smirnov <andrew.smirnov@gmail.com>
Cc: rtc-linux@googlegroups.com,
	Alessandro Zummo <a.zummo@towertech.it>,
	linux-kernel@vger.kernel.org, cphealy@gmail.com
Subject: Re: [PATCH v2 02/17] RTC: ds1307: Disable square wave and timers as default
Date: Tue, 21 Jun 2016 23:17:12 +0200	[thread overview]
Message-ID: <20160621211712.GZ5809@piout.net> (raw)
In-Reply-To: <1466493770-11895-1-git-send-email-andrew.smirnov@gmail.com>

On 21/06/2016 at 00:22:35 -0700, Andrey Smirnov wrote :
> Disable square wave and timers as default for DS1337/39/41 and
> DS3231. The rationale being that configuring a chip this way puts it
> into a known state with lower power consumption. While it is not very
> likely it is still possible that the code controlling RTCs that ran
> before this driver configured it to produce square wave and left it in
> such a state.
> 

The main issue being that if it has been configured that way (from the
bootloader for example). It is probably necessary for the board. There
may be users of that clock and this patch definitively breaks them.
The proper way of doing that is to add CCF support in the driver. See:
http://patchwork.ozlabs.org/patch/576201/

> Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
> ---
>  drivers/rtc/rtc-ds1307.c | 12 +++++-------
>  1 file changed, 5 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/rtc/rtc-ds1307.c b/drivers/rtc/rtc-ds1307.c
> index 7e65e2e..c618c22 100644
> --- a/drivers/rtc/rtc-ds1307.c
> +++ b/drivers/rtc/rtc-ds1307.c
> @@ -1320,19 +1320,17 @@ static int ds1307_probe(struct i2c_client *client,
>  			ds1307->regs[0] &= ~DS1337_BIT_nEOSC;
>  
>  		/*
> -		 * Using IRQ or defined as wakeup-source?
>  		 * Disable the square wave and both alarms.
>  		 * For some variants, be sure alarms can trigger when we're
>  		 * running on Vbackup (BBSQI/BBSQW)
>  		 */
> -		if (chip->alarm && (ds1307->client->irq > 0 ||
> -						ds1307_can_wakeup_device)) {
> -			ds1307->regs[0] |= DS1337_BIT_INTCN
> -					| bbsqi_bitpos[ds1307->type];
> -			ds1307->regs[0] &= ~(DS1337_BIT_A2IE | DS1337_BIT_A1IE);
> +		ds1307->regs[0] |= DS1337_BIT_INTCN
> +			| bbsqi_bitpos[ds1307->type];
> +		ds1307->regs[0] &= ~(DS1337_BIT_A2IE | DS1337_BIT_A1IE);
>  
> +		if (chip->alarm && (ds1307->client->irq > 0 ||
> +				    ds1307_can_wakeup_device))
>  			want_irq = true;
> -		}
>  
>  		i2c_smbus_write_byte_data(client, DS1337_REG_CONTROL,
>  							ds1307->regs[0]);
> -- 
> 2.5.5
> 

-- 
Alexandre Belloni, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

  parent reply	other threads:[~2016-06-21 21:17 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-21  7:22 [PATCH v2 02/17] RTC: ds1307: Disable square wave and timers as default Andrey Smirnov
2016-06-21  7:22 ` [PATCH v2 03/17] RTC: ds1307: Add devicetree bindings for DS1341 Andrey Smirnov
2016-06-21  7:22 ` [PATCH v2 04/17] RTC: ds1307: Add DS1341 specific power-saving options Andrey Smirnov
2016-06-21  7:22 ` [PATCH v2 05/17] RTC: ds1307: Convert ds1307_can_wakeup_device into a predicate Andrey Smirnov
2016-06-21  7:22 ` [PATCH v2 06/17] RTC: ds1307: Convert want_irq " Andrey Smirnov
2016-06-21  7:22 ` [PATCH v2 07/17] RTC: ds1307: Move chip configuration into a separate routine Andrey Smirnov
2016-06-21  7:22 ` [PATCH v2 08/17] RTC: ds1307: Move chip sanity checking " Andrey Smirnov
2016-06-21  7:22 ` [PATCH v2 09/17] RTC: ds1307: Remove register "cache" Andrey Smirnov
2016-06-21  7:22 ` [PATCH v2 10/17] RTC: ds1307: Constify struct ds1307 where possible Andrey Smirnov
2016-06-21  7:22 ` [PATCH v2 11/17] RTC: ds1307: Convert goto to a loop Andrey Smirnov
2016-06-21  7:22 ` [PATCH v2 12/17] RTC: ds1307: Redefine RX8025_REG_* to minimize extra code Andrey Smirnov
2016-06-21  7:22 ` [PATCH v2 13/17] RTC: ds1307: Report oscillator problems more intelligently Andrey Smirnov
2016-06-21 21:22   ` Alexandre Belloni
2016-06-21 23:06     ` Andrey Smirnov
2016-06-21  7:22 ` [PATCH v2 14/17] RTC: ds1307: Move last bits of sanity checking out of chip_configure Andrey Smirnov
2016-06-21  7:22 ` [PATCH v2 15/17] RTC: rtctest: Change alarm IRQ support detection Andrey Smirnov
2016-06-21  7:22 ` [PATCH v2 16/17] RTC: rtctest: Change no IRQ detection for RTC_IRQP_READ Andrey Smirnov
2016-06-21  7:22 ` [PATCH v2 17/17] RTC: rtctest: Change no IRQ detection for RTC_IRQP_SET Andrey Smirnov
2016-06-21 21:17 ` Alexandre Belloni [this message]
2016-06-21 23:43   ` [PATCH v2 02/17] RTC: ds1307: Disable square wave and timers as default Andrey Smirnov

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=20160621211712.GZ5809@piout.net \
    --to=alexandre.belloni@free-electrons.com \
    --cc=a.zummo@towertech.it \
    --cc=andrew.smirnov@gmail.com \
    --cc=cphealy@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox