Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 114804
b: refs/heads/master
c: 5d5b4d7
h: refs/heads/master
v: v3
  • Loading branch information
Laurent Pinchart authored and Linus Torvalds committed Oct 16, 2008
1 parent 9134bc5 commit 2d4a46a
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 59 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 8d7b48e0bc5fa01a818eac713d4cb0763090cd0e
refs/heads/master: 5d5b4d74f9ae85bbd558a708678b6927f962e75d
58 changes: 0 additions & 58 deletions trunk/drivers/rtc/rtc-pcf8563.c
Original file line number Diff line number Diff line change
Expand Up @@ -179,58 +179,6 @@ struct pcf8563_limit
unsigned char max;
};

static int pcf8563_validate_client(struct i2c_client *client)
{
int i;

static const struct pcf8563_limit pattern[] = {
/* register, mask, min, max */
{ PCF8563_REG_SC, 0x7F, 0, 59 },
{ PCF8563_REG_MN, 0x7F, 0, 59 },
{ PCF8563_REG_HR, 0x3F, 0, 23 },
{ PCF8563_REG_DM, 0x3F, 0, 31 },
{ PCF8563_REG_MO, 0x1F, 0, 12 },
};

/* check limits (only registers with bcd values) */
for (i = 0; i < ARRAY_SIZE(pattern); i++) {
int xfer;
unsigned char value;
unsigned char buf = pattern[i].reg;

struct i2c_msg msgs[] = {
{ client->addr, 0, 1, &buf },
{ client->addr, I2C_M_RD, 1, &buf },
};

xfer = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));

if (xfer != ARRAY_SIZE(msgs)) {
dev_err(&client->dev,
"%s: could not read register 0x%02X\n",
__func__, pattern[i].reg);

return -EIO;
}

value = BCD2BIN(buf & pattern[i].mask);

if (value > pattern[i].max ||
value < pattern[i].min) {
dev_dbg(&client->dev,
"%s: pattern=%d, reg=%x, mask=0x%02x, min=%d, "
"max=%d, value=%d, raw=0x%02X\n",
__func__, i, pattern[i].reg, pattern[i].mask,
pattern[i].min, pattern[i].max,
value, buf);

return -ENODEV;
}
}

return 0;
}

static int pcf8563_rtc_read_time(struct device *dev, struct rtc_time *tm)
{
return pcf8563_get_datetime(to_i2c_client(dev), tm);
Expand Down Expand Up @@ -262,12 +210,6 @@ static int pcf8563_probe(struct i2c_client *client,
if (!pcf8563)
return -ENOMEM;

/* Verify the chip is really an PCF8563 */
if (pcf8563_validate_client(client) < 0) {
err = -ENODEV;
goto exit_kfree;
}

dev_info(&client->dev, "chip found, driver version " DRV_VERSION "\n");

pcf8563->rtc = rtc_device_register(pcf8563_driver.driver.name,
Expand Down

0 comments on commit 2d4a46a

Please sign in to comment.