diff options
| author | David Woodhouse <dwmw2@infradead.org> | 2006-10-01 17:55:53 +0100 |
|---|---|---|
| committer | David Woodhouse <dwmw2@infradead.org> | 2006-10-01 17:55:53 +0100 |
| commit | 8a84fc15ae5cafcc366dd85cf8e1ab2040679abc (patch) | |
| tree | 5d8dce194c9667fa92e9ec9f545cec867a9a1e0d /drivers/rtc/rtc-rs5c348.c | |
| parent | 28b79ff9661b22e4c41c0d00d4ab8503e810f13d (diff) | |
| parent | 82965addad66fce61a92c5f03104ea90b0b87124 (diff) | |
| download | linux-next-8a84fc15ae5cafcc366dd85cf8e1ab2040679abc.tar.gz linux-next-8a84fc15ae5cafcc366dd85cf8e1ab2040679abc.zip | |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Manually resolve conflict in include/mtd/Kbuild
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Diffstat (limited to 'drivers/rtc/rtc-rs5c348.c')
| -rw-r--r-- | drivers/rtc/rtc-rs5c348.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/rtc/rtc-rs5c348.c b/drivers/rtc/rtc-rs5c348.c index 0964d1dba925..f50f3fc353cd 100644 --- a/drivers/rtc/rtc-rs5c348.c +++ b/drivers/rtc/rtc-rs5c348.c @@ -23,7 +23,7 @@ #include <linux/workqueue.h> #include <linux/spi/spi.h> -#define DRV_VERSION "0.1" +#define DRV_VERSION "0.2" #define RS5C348_REG_SECS 0 #define RS5C348_REG_MINS 1 @@ -140,7 +140,7 @@ rs5c348_rtc_read_time(struct device *dev, struct rtc_time *tm) return 0; } -static struct rtc_class_ops rs5c348_rtc_ops = { +static const struct rtc_class_ops rs5c348_rtc_ops = { .read_time = rs5c348_rtc_read_time, .set_time = rs5c348_rtc_set_time, }; @@ -175,8 +175,15 @@ static int __devinit rs5c348_probe(struct spi_device *spi) goto kfree_exit; if (ret & (RS5C348_BIT_XSTP | RS5C348_BIT_VDET)) { u8 buf[2]; + struct rtc_time tm; if (ret & RS5C348_BIT_VDET) dev_warn(&spi->dev, "voltage-low detected.\n"); + if (ret & RS5C348_BIT_XSTP) + dev_warn(&spi->dev, "oscillator-stop detected.\n"); + rtc_time_to_tm(0, &tm); /* 1970/1/1 */ + ret = rs5c348_rtc_set_time(&spi->dev, &tm); + if (ret < 0) + goto kfree_exit; buf[0] = RS5C348_CMD_W(RS5C348_REG_CTL2); buf[1] = 0; ret = spi_write_then_read(spi, buf, sizeof(buf), NULL, 0); |
