From patchwork Wed Jul 12 05:49:47 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Heiner Kallweit X-Patchwork-Id: 787015 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3x6p2D5vW3z9sRV for ; Wed, 12 Jul 2017 15:50:12 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="rMISNg44"; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756695AbdGLFuM (ORCPT ); Wed, 12 Jul 2017 01:50:12 -0400 Received: from mail-wr0-f196.google.com ([209.85.128.196]:35567 "EHLO mail-wr0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756689AbdGLFuL (ORCPT ); Wed, 12 Jul 2017 01:50:11 -0400 Received: by mail-wr0-f196.google.com with SMTP id z45so3219745wrb.2 for ; Tue, 11 Jul 2017 22:50:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:subject:to:cc:references:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding; bh=NsClihjeV6J5I6YMHGoR7NHGrim2AknpVASwfutIfns=; b=rMISNg44wKZZNfSX7eKVRwfs6OoKYvZnGh+t6fbeVw0kGIzlnzC6qDOhORFSjoSMLt QvsY5wvdSu+Vk/xq+0G1vbMg7MI1Bgqmz46LqeD+9W75jz+4j8XiAmNeBDinV9Y1Q9Ac 1CL0okvVtzrMsA/lIT0Nk0IX8oPdf8U8nFdeW0aJcmWaurpEHJ9TYrWHIBmP5Ej3VvJ0 WLwsGBm6ze9xZ4qVvRiNwrDSf7eiyiATNZI0Y0j1xW9OhyuzwSrgvYLDiwTLCoHn3G8i YF8zvL3U52ZLSxWZbpoh4djkq5JasO5QCK1XYhrA6Vlb6FLGHf74QgebuxVawnD07oMr 8jCA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:subject:to:cc:references:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=NsClihjeV6J5I6YMHGoR7NHGrim2AknpVASwfutIfns=; b=pYDe17YPQ7ZWUysZhcr0THQQK6GLdiIHZbqEo2t7i5hJl767B2dnmyQ7XdTuNSQ+mo OkLQ1sS0aAGYBUilTRzfbsIY6VLosETcAp2NyDAr8VXYztLDFh+mNxAepmq8YimBRQJz i/ljxUXEUWC+fRfQaTVTDP4kLFE0Jf4q3vMga+Df8ExrrudWlZCHb7sXTcaVSx7QFOkc 62oGPJhMDYwIiKiKG53mxuvz2T1udQ203qxJdeS/w1B6RcyT/lvm4vwaeHv4y81lXG0D wnNd7FhlBoRbtpeF/Z2pN9URzMdmVGCGP/pcQIsARFPedGjOH0wDzKv7h3f85AObjhA+ opfw== X-Gm-Message-State: AIVw111rp0En9+tnBeyyc/WYzqtv08lspez+g0imiLep0OtBqcRtkaPP xyRhGPMKhrk5AtKO X-Received: by 10.28.72.213 with SMTP id v204mr1138536wma.31.1499838609976; Tue, 11 Jul 2017 22:50:09 -0700 (PDT) Received: from ?IPv6:2003:c6:ebc1:e200:4:ce91:c82d:34f2? (p200300C6EBC1E2000004CE91C82D34F2.dip0.t-ipconnect.de. [2003:c6:ebc1:e200:4:ce91:c82d:34f2]) by smtp.googlemail.com with ESMTPSA id z190sm1699523wmz.31.2017.07.11.22.50.09 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 11 Jul 2017 22:50:09 -0700 (PDT) From: Heiner Kallweit Subject: [PATCH 8/9] rtc: ds1307: factor out offset to struct chip_desc To: Alexandre Belloni Cc: linux-rtc@vger.kernel.org References: Message-ID: Date: Wed, 12 Jul 2017 07:49:47 +0200 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: Sender: linux-rtc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rtc@vger.kernel.org Factor out offset to struct chip_desc and remove it from struct ds1307. Signed-off-by: Heiner Kallweit --- drivers/rtc/rtc-ds1307.c | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/drivers/rtc/rtc-ds1307.c b/drivers/rtc/rtc-ds1307.c index 4083464f..43babd74 100644 --- a/drivers/rtc/rtc-ds1307.c +++ b/drivers/rtc/rtc-ds1307.c @@ -115,7 +115,6 @@ enum ds_type { struct ds1307 { - u8 offset; /* register's offset */ u8 regs[11]; u16 nvram_offset; struct nvmem_config nvmem_cfg; @@ -136,6 +135,7 @@ struct chip_desc { unsigned alarm:1; u16 nvram_offset; u16 nvram_size; + u8 offset; /* register's offset */ u8 century_reg; u8 century_enable_bit; u8 century_bit; @@ -208,6 +208,7 @@ static const struct chip_desc chips[last_ds_type] = { .trickle_charger_reg = 0x08, }, [ds_1388] = { + .offset = 1, .trickle_charger_reg = 0x0a, }, [ds_3231] = { @@ -221,6 +222,7 @@ static const struct chip_desc chips[last_ds_type] = { /* this is battery backed SRAM */ .nvram_offset = 0x20, .nvram_size = 4, /* 32bit (4 word x 8 bit) */ + .offset = 0x10, .irq_handler = rx8130_irq, .rtc_ops = &rx8130_rtc_ops, }, @@ -387,7 +389,7 @@ static int ds1307_get_time(struct device *dev, struct rtc_time *t) const struct chip_desc *chip = &chips[ds1307->type]; /* read the RTC date and time registers all at once */ - ret = regmap_bulk_read(ds1307->regmap, ds1307->offset, ds1307->regs, 7); + ret = regmap_bulk_read(ds1307->regmap, chip->offset, ds1307->regs, 7); if (ret) { dev_err(dev, "%s error %d\n", "read", ret); return ret; @@ -479,7 +481,7 @@ static int ds1307_set_time(struct device *dev, struct rtc_time *t) dev_dbg(dev, "%s: %7ph\n", "write", buf); - result = regmap_bulk_write(ds1307->regmap, ds1307->offset, buf, 7); + result = regmap_bulk_write(ds1307->regmap, chip->offset, buf, 7); if (result) { dev_err(dev, "%s error %d\n", "write", result); return result; @@ -1502,19 +1504,13 @@ static int ds1307_probe(struct i2c_client *client, DS1307_REG_HOUR << 4 | 0x08, hour); } break; - case rx_8130: - ds1307->offset = 0x10; /* Seconds starts at 0x10 */ - break; - case ds_1388: - ds1307->offset = 1; /* Seconds starts at 1 */ - break; default: break; } read_rtc: /* read RTC registers */ - err = regmap_bulk_read(ds1307->regmap, ds1307->offset, buf, 8); + err = regmap_bulk_read(ds1307->regmap, chip->offset, buf, 8); if (err) { dev_dbg(ds1307->dev, "read error %d\n", err); goto exit; @@ -1615,7 +1611,7 @@ static int ds1307_probe(struct i2c_client *client, tmp = 0; if (ds1307->regs[DS1307_REG_HOUR] & DS1307_BIT_PM) tmp += 12; - regmap_write(ds1307->regmap, ds1307->offset + DS1307_REG_HOUR, + regmap_write(ds1307->regmap, chip->offset + DS1307_REG_HOUR, bin2bcd(tmp)); }