From patchwork Wed Nov 18 19:45:09 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sergey Matyukevich X-Patchwork-Id: 38786 Return-Path: <3RVAESwgJCeQMKUSGZYOMSGOR.IUSXZI-ROTadMUUMRKMXUaVY.IUS@listserv.bounces.google.com> X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from mail-yw0-f159.google.com (mail-yw0-f159.google.com [209.85.211.159]) by ozlabs.org (Postfix) with ESMTP id 5872F1007D1 for ; Thu, 19 Nov 2009 06:51:35 +1100 (EST) Received: by ywh31 with SMTP id 31sf2228333ywh.29 for ; Wed, 18 Nov 2009 11:51:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:mime-version:x-beenthere:received :received:received:received:received-spf:received:received:received :from:to:cc:subject:date:message-id:x-mailer:in-reply-to:references :x-original-authentication-results:reply-to:precedence:mailing-list :list-id:list-post:list-help:list-archive:x-thread-url:x-message-url :content-type; bh=hyFpoukBW7uPpEP8NrVQ3g1FOBZ20f85vVGEa6SP8nQ=; b=uqAoL4C3xkOVlqKrDqRPeiHKM9c7Cxw52oZW9rUOJw0rNJfvcYEhxNd3ehydG0k8Lf WEaVLoK5aEYBfnksb88dqLgup4aSuwKjR3W0+6sRk6cLRnZiPVhhl4sJe8BduxjKet2n xYDg9ccB7e9IGl5oXk3l2yNUbPoaSLjPjzHj0= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:x-beenthere:received-spf:from:to:cc:subject:date :message-id:x-mailer:in-reply-to:references :x-original-authentication-results:reply-to:precedence:mailing-list :list-id:list-post:list-help:list-archive:x-thread-url:x-message-url :content-type; b=ianiACduVG6IhVVseeip35U+cg7aLrSAfCViPmnF0kxZjpPUCbdtoo8WKBzcF9wFEs NllwVIrqMRwG5/XamZBNU5qO1RAPByrdW7JFqf5CACmQQyoHbKwSFCjdy7pCtb/Ui2Q9 5fxbn5HiiwvlYpmXPqYFEDk5+EZNVHVL1e2w4= Received: by 10.90.142.5 with SMTP id p5mr276183agd.4.1258573893545; Wed, 18 Nov 2009 11:51:33 -0800 (PST) MIME-Version: 1.0 X-BeenThere: rtc-linux@googlegroups.com Received: by 10.213.1.199 with SMTP id 7ls35199ebg.2.p; Wed, 18 Nov 2009 11:51:32 -0800 (PST) Received: by 10.213.23.215 with SMTP id s23mr755900ebb.12.1258573892335; Wed, 18 Nov 2009 11:51:32 -0800 (PST) Received: by 10.213.23.215 with SMTP id s23mr755898ebb.12.1258573892310; Wed, 18 Nov 2009 11:51:32 -0800 (PST) Received: from ey-out-1920.google.com (ey-out-1920.google.com [74.125.78.144]) by gmr-mx.google.com with ESMTP id 17si13968ewy.11.2009.11.18.11.51.31; Wed, 18 Nov 2009 11:51:31 -0800 (PST) Received-SPF: pass (google.com: domain of geomatsi@gmail.com designates 74.125.78.144 as permitted sender) client-ip=74.125.78.144; Received: by ey-out-1920.google.com with SMTP id 4so225281eyg.44 for ; Wed, 18 Nov 2009 11:51:31 -0800 (PST) Received: by 10.213.2.84 with SMTP id 20mr500781ebi.90.1258573890947; Wed, 18 Nov 2009 11:51:30 -0800 (PST) Received: from localhost.localdomain (ppp78-37-170-87.pppoe.avangarddsl.ru [78.37.170.87]) by mx.google.com with ESMTPS id 13sm69099ewy.9.2009.11.18.11.51.30 (version=TLSv1/SSLv3 cipher=RC4-MD5); Wed, 18 Nov 2009 11:51:30 -0800 (PST) From: Sergey Matyukevich To: rtc-linux@googlegroups.com Cc: Alessandro Zummo , Sergey Lapin , Sergey Matyukevich Subject: [rtc-linux] [PATCH 3/3] rtc-fm3130: improve readability Date: Wed, 18 Nov 2009 22:45:09 +0300 Message-Id: <1258573509-12263-4-git-send-email-geomatsi@gmail.com> X-Mailer: git-send-email 1.6.2.5 In-Reply-To: <1258573509-12263-3-git-send-email-geomatsi@gmail.com> References: <1256408743-6644-1-git-send-email-geomatsi@gmail.com> <1258573509-12263-1-git-send-email-geomatsi@gmail.com> <1258573509-12263-2-git-send-email-geomatsi@gmail.com> <1258573509-12263-3-git-send-email-geomatsi@gmail.com> X-Original-Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of geomatsi@gmail.com designates 74.125.78.144 as permitted sender) smtp.mail=geomatsi@gmail.com; dkim=pass (test mode) header.i=@gmail.com Reply-To: rtc-linux@googlegroups.com Precedence: list Mailing-list: list rtc-linux@googlegroups.com; contact rtc-linux+owners@googlegroups.com List-ID: List-Post: , List-Help: , List-Archive: X-Thread-Url: http://groups.google.com/group/rtc-linux/t/740ba9cd535b6cee X-Message-Url: http://groups.google.com/group/rtc-linux/msg/110305984550222 add whitespaces and empty lines to improve code readability Signed-off-by: Sergey Matyukevich --- drivers/rtc/rtc-fm3130.c | 40 +++++++++++++++++++++++++--------------- 1 files changed, 25 insertions(+), 15 deletions(-) diff --git a/drivers/rtc/rtc-fm3130.c b/drivers/rtc/rtc-fm3130.c index e18aed3..b497dfa 100644 --- a/drivers/rtc/rtc-fm3130.c +++ b/drivers/rtc/rtc-fm3130.c @@ -31,15 +31,15 @@ #define FM3130_ALARM_MONTHS (0xd) #define FM3130_ALARM_WP_CONTROL (0xe) -#define FM3130_CAL_CONTROL_BIT_nOSCEN (1 << 7) /* Osciallator enabled */ -#define FM3130_RTC_CONTROL_BIT_LB (1 << 7) /* Low battery */ -#define FM3130_RTC_CONTROL_BIT_AF (1 << 6) /* Alarm flag */ -#define FM3130_RTC_CONTROL_BIT_CF (1 << 5) /* Century overflow */ -#define FM3130_RTC_CONTROL_BIT_POR (1 << 4) /* Power on reset */ -#define FM3130_RTC_CONTROL_BIT_AEN (1 << 3) /* Alarm enable */ -#define FM3130_RTC_CONTROL_BIT_CAL (1 << 2) /* Calibration mode */ -#define FM3130_RTC_CONTROL_BIT_WRITE (1 << 1) /* W=1 -> write mode W=0 normal */ -#define FM3130_RTC_CONTROL_BIT_READ (1 << 0) /* R=1 -> read mode R=0 normal */ +#define FM3130_CAL_CONTROL_BIT_nOSCEN (1 << 7) /* Osciallator enabled */ +#define FM3130_RTC_CONTROL_BIT_LB (1 << 7) /* Low battery */ +#define FM3130_RTC_CONTROL_BIT_AF (1 << 6) /* Alarm flag */ +#define FM3130_RTC_CONTROL_BIT_CF (1 << 5) /* Century overflow */ +#define FM3130_RTC_CONTROL_BIT_POR (1 << 4) /* Power on reset */ +#define FM3130_RTC_CONTROL_BIT_AEN (1 << 3) /* Alarm enable */ +#define FM3130_RTC_CONTROL_BIT_CAL (1 << 2) /* Calibration mode */ +#define FM3130_RTC_CONTROL_BIT_WRITE (1 << 1) /* Write RTC */ +#define FM3130_RTC_CONTROL_BIT_READ (1 << 0) /* Read RTC */ #define FM3130_CLOCK_REGS 7 #define FM3130_ALARM_REGS 5 @@ -54,10 +54,12 @@ struct fm3130 { int alarm_valid; int data_valid; }; + static const struct i2c_device_id fm3130_id[] = { { "fm3130", 0 }, { } }; + MODULE_DEVICE_TABLE(i2c, fm3130_id); #define FM3130_MODE_NORMAL 0 @@ -74,7 +76,7 @@ static void fm3130_rtc_mode(struct device *dev, int mode) case FM3130_MODE_NORMAL: fm3130->regs[FM3130_RTC_CONTROL] &= ~(FM3130_RTC_CONTROL_BIT_WRITE | - FM3130_RTC_CONTROL_BIT_READ); + FM3130_RTC_CONTROL_BIT_READ); break; case FM3130_MODE_WRITE: fm3130->regs[FM3130_RTC_CONTROL] |= FM3130_RTC_CONTROL_BIT_WRITE; @@ -99,7 +101,7 @@ static int fm3130_get_time(struct device *dev, struct rtc_time *t) if (!fm3130->data_valid) { /* We have invalid data in RTC, probably due to battery faults or other problems. Return EIO - for now, it will allow us to set data later insted + for now, it will allow us to set data later instead of error during probing which disables device */ return -EIO; } @@ -149,12 +151,11 @@ static int fm3130_get_time(struct device *dev, struct rtc_time *t) return rtc_valid_tm(t); } - static int fm3130_set_time(struct device *dev, struct rtc_time *t) { struct fm3130 *fm3130 = dev_get_drvdata(dev); - int tmp, i; - u8 *buf = fm3130->regs; + u8 *buf = fm3130->regs; + int tmp, i; dev_dbg(dev, "%s secs=%d, mins=%d, " "hours=%d, mday=%d, mon=%d, year=%d, wday=%d\n", @@ -201,8 +202,8 @@ static int fm3130_set_time(struct device *dev, struct rtc_time *t) static int fm3130_read_alarm(struct device *dev, struct rtc_wkalrm *alrm) { struct fm3130 *fm3130 = dev_get_drvdata(dev); - int tmp; struct rtc_time *tm = &alrm->time; + int tmp; if (!fm3130->alarm_valid) { /* We have invalid alarm in RTC, probably due @@ -215,10 +216,12 @@ static int fm3130_read_alarm(struct device *dev, struct rtc_wkalrm *alrm) /* read the RTC alarm registers all at once */ tmp = i2c_transfer(to_i2c_adapter(fm3130->client->dev.parent), &fm3130->msg[2], 2); + if (tmp != 2) { dev_err(dev, "%s error %d\n", "read", tmp); return -EIO; } + dev_dbg(dev, "alarm read %02x %02x %02x %02x %02x\n", fm3130->regs[FM3130_ALARM_SECONDS], fm3130->regs[FM3130_ALARM_MINUTES], @@ -287,12 +290,14 @@ static int fm3130_set_alarm(struct device *dev, struct rtc_wkalrm *alrm) fm3130->regs[FM3130_ALARM_HOURS], fm3130->regs[FM3130_ALARM_DATE], fm3130->regs[FM3130_ALARM_MONTHS]); + /* Writing time registers, we don't support multibyte transfers */ for (i = 0; i < FM3130_ALARM_REGS; i++) { i2c_smbus_write_byte_data(fm3130->client, FM3130_ALARM_SECONDS + i, fm3130->regs[FM3130_ALARM_SECONDS + i]); } + fm3130->regs[FM3130_RTC_CONTROL] = i2c_smbus_read_byte_data(fm3130->client, FM3130_RTC_CONTROL); @@ -415,6 +420,7 @@ static int __devinit fm3130_probe(struct i2c_client *client, fm3130->regs[FM3130_RTC_CONTROL] = i2c_smbus_read_byte_data(client, FM3130_RTC_CONTROL); + fm3130->regs[FM3130_CAL_CONTROL] = i2c_smbus_read_byte_data(client, FM3130_CAL_CONTROL); @@ -457,6 +463,7 @@ static int __devinit fm3130_probe(struct i2c_client *client, ~FM3130_RTC_CONTROL_BIT_POR); dev_dbg(&client->dev, "POR bit is set\n"); } + /* ACS is controlled by alarm */ i2c_smbus_write_byte_data(client, FM3130_ALARM_WP_CONTROL, 0x80); @@ -532,13 +539,16 @@ bad_clock: Time setting from u-boot doesn't work anyway */ fm3130->rtc = rtc_device_register(client->name, &client->dev, &fm3130_rtc_ops, THIS_MODULE); + if (IS_ERR(fm3130->rtc)) { err = PTR_ERR(fm3130->rtc); dev_err(&client->dev, "unable to register the class device\n"); goto exit_free; } + return 0; + exit_free: kfree(fm3130); return err;