From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752708AbcFOGAQ (ORCPT ); Wed, 15 Jun 2016 02:00:16 -0400 Received: from mail-pf0-f193.google.com ([209.85.192.193]:34851 "EHLO mail-pf0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750882AbcFOGAH (ORCPT ); Wed, 15 Jun 2016 02:00:07 -0400 From: Andrey Smirnov To: rtc-linux@googlegroups.com Cc: Alessandro Zummo , Alexandre Belloni , linux-kernel@vger.kernel.org, Andrey Smirnov Subject: [PATCH 02/13] RTC: ds1307: Disable square wave and timers as default Date: Tue, 14 Jun 2016 22:59:28 -0700 Message-Id: <1465970379-14703-3-git-send-email-andrew.smirnov@gmail.com> X-Mailer: git-send-email 2.5.5 In-Reply-To: <1465970379-14703-1-git-send-email-andrew.smirnov@gmail.com> References: <1465970379-14703-1-git-send-email-andrew.smirnov@gmail.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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. Signed-off-by: Andrey Smirnov --- 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 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Sender: rtc-linux@googlegroups.com MIME-Version: 1.0 Received: from mail-pf0-x242.google.com (mail-pf0-x242.google.com. [2607:f8b0:400e:c00::242]) by gmr-mx.google.com with ESMTPS id tp10si3983394pac.2.2016.06.14.23.00.06 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 14 Jun 2016 23:00:06 -0700 (PDT) Received: by mail-pf0-x242.google.com with SMTP id c74so998094pfb.0 for ; Tue, 14 Jun 2016 23:00:06 -0700 (PDT) From: Andrey Smirnov To: rtc-linux@googlegroups.com Cc: Alessandro Zummo , Alexandre Belloni , linux-kernel@vger.kernel.org, Andrey Smirnov Subject: [rtc-linux] [PATCH 02/13] RTC: ds1307: Disable square wave and timers as default Date: Tue, 14 Jun 2016 22:59:28 -0700 Message-Id: <1465970379-14703-3-git-send-email-andrew.smirnov@gmail.com> In-Reply-To: <1465970379-14703-1-git-send-email-andrew.smirnov@gmail.com> References: <1465970379-14703-1-git-send-email-andrew.smirnov@gmail.com> Reply-To: rtc-linux@googlegroups.com Content-Type: text/plain; charset=UTF-8 List-ID: List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , 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. Signed-off-by: Andrey Smirnov --- 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 -- You received this message because you are subscribed to "rtc-linux". Membership options at http://groups.google.com/group/rtc-linux . Please read http://groups.google.com/group/rtc-linux/web/checklist before submitting a driver. --- You received this message because you are subscribed to the Google Groups "rtc-linux" group. To unsubscribe from this group and stop receiving emails from it, send an email to rtc-linux+unsubscribe@googlegroups.com. For more options, visit https://groups.google.com/d/optout.