linux/drivers/i2c/chips
Dirk Eibach 763d9c046a i2c: fix broken ds1337 initialization
On a custom board with ds1337 RTC I found that upgrade from 2.6.15 to
2.6.18 broke RTC support.

The main problem are changes to ds1337_init_client().
When a ds1337 recognizes a problem (e.g. power or clock failure) bit 7
in status register is set. This has to be reset by writing 0 to status
register. But since there are only 16 byte written to the chip and the
first byte is interpreted as an address, the status register (which is
the 16th) is never written.
The other problem is, that initializing all registers to zero is not
valid for day, date and month register. Funny enough this is checked by
ds1337_detect(), which depends on this values not being zero. So then
treated by ds1337_init_client() the ds1337 is not detected anymore,
whereas the failure bit in the status register is still set.

Signed-off-by: Dirk Stieler <stieler@gdsys.de>
Signed-off-by: Dirk Eibach <eibach@gdsys.de>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
2006-12-10 21:21:31 +01:00
..
ds1337.c i2c: fix broken ds1337 initialization 2006-12-10 21:21:31 +01:00
ds1374.c WorkStruct: make allyesconfig 2006-11-22 14:57:56 +00:00
eeprom.c i2c: __must_check fixes (chip drivers) 2006-09-26 15:38:51 -07:00
isp1301_omap.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
Kconfig [PATCH] i2c: Suggest N for rare devices in Kconfig 2006-06-22 11:10:33 -07:00
m41t00.c [PATCH] ... and more work_struct-induced breakage (mips) 2006-12-06 14:51:14 -08:00
Makefile [PATCH] RTC subsystem: I2C cleanup 2006-03-27 08:44:51 -08:00
max6875.c i2c: __must_check fixes (chip drivers) 2006-09-26 15:38:51 -07:00
pca9539.c i2c: __must_check fixes (chip drivers) 2006-09-26 15:38:51 -07:00
pcf8574.c i2c: __must_check fixes (chip drivers) 2006-09-26 15:38:51 -07:00
pcf8591.c i2c: __must_check fixes (chip drivers) 2006-09-26 15:38:51 -07:00
tps65010.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00