From patchwork Tue Jun 26 22:24:02 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: rtc: ds1307: Register offset moved to chip description Date: Tue, 26 Jun 2012 12:24:02 -0000 From: Austin Boyle X-Patchwork-Id: 167469 Message-Id: <1340749442.3241.4046.camel@pc786-ubu.gnet.global.vpn> To: Wolfram Sang Cc: , Joakim Tjernlund , Alessandro Zummo , rtc: ds1307: Register offset moved to chip description From: Austin Boyle Register offset is added to chip description instead of being hard-coded into probe function. Based on v3.5-rc4 Cc: Wolfram Sang Cc: Joakim Tjernlund Cc: Alessandro Zummo Signed-off-by: Austin Boyle --- diff --git a/a/drivers/rtc/rtc-ds1307.c b/b/drivers/rtc/rtc-ds1307.c index 836710c..abf837b 100644 --- a/a/drivers/rtc/rtc-ds1307.c +++ b/b/drivers/rtc/rtc-ds1307.c @@ -122,6 +122,7 @@ struct ds1307 { struct chip_desc { unsigned alarm:1; + u8 offset; u16 nvram_offset; u16 nvram_size; u16 trickle_charger_reg; @@ -149,6 +150,9 @@ static const struct chip_desc chips[last_ds_type] = { [ds_1388] = { .trickle_charger_reg = 0x0a, }, + [ds_1388] = { + .offset = 1, /* seconds field starts at 1 */ + }, [ds_3231] = { .alarm = 1, }, @@ -646,6 +650,7 @@ static int __devinit ds1307_probe(struct i2c_client *client, ds1307->client = client; ds1307->type = id->driver_data; + ds1307->offset = chip->offset; if (pdata && pdata->trickle_charger_setup && chip->trickle_charger_reg) i2c_smbus_write_byte_data(client, chip->trickle_charger_reg, @@ -768,9 +773,6 @@ static int __devinit ds1307_probe(struct i2c_client *client, hour); } break; - case ds_1388: - ds1307->offset = 1; /* Seconds starts at 1 */ - break; default: break; }