[PATCH] rtc: ds1307: Register offset moved to chip description

From: Austin Boyle
Date: Tue Jun 26 2012 - 18:29:23 EST


rtc: ds1307: Register offset moved to chip description

From: Austin Boyle <Austin.Boyle@xxxxxxxxxxxx>

Register offset is added to chip description instead of being hard-coded
into probe function.

Based on v3.5-rc4

Cc: Wolfram Sang <w.sang@xxxxxxxxxxxxxx>
Cc: Joakim Tjernlund <Joakim.Tjernlund@xxxxxxxxxxxx>
Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx>
Signed-off-by: Austin Boyle <Austin.Boyle@xxxxxxxxxxxx>

---

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;
}

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/