[i2c] PCF8563 doesn't pass validation check

Jean Delvare khali at linux-fr.org
Wed Jul 2 13:25:10 CEST 2008


On Wed, 2 Jul 2008 13:17:48 +0200, Laurent Pinchart wrote:
> On Wednesday 02 July 2008, Jean Delvare wrote:
> > Hi Laurent,
> > 
> > On Wed, 2 Jul 2008 11:34:55 +0200, Laurent Pinchart wrote:
> > > I'm having issues with the PCF8563 RTC chip.
> > > 
> > > The Linux driver tries to validate the chip by checking if the
> > > BCD-coded time and date registers contain valid values.
> > > 
> > > When a low voltage condition is detected, the registers are not
> > > guaranteed to contain valid values. Experimentation showed that
> > > while the seconds, minutes, hours and day of the week registers
> > > didn't cause any issue, the months register could get out of the
> > > 01-12 range.
> > > 
> > > Has anyone experienced the same issue ?
> > 
> > This issue sounds familiar, I think Alessandro mentioned it to me a few
> > weeks ago in private already.
> > 
> > > Would it be acceptable to remove the months register check ?
> > 
> > I think you should convert rtc-pcf8563 to a new-style i2c driver. Then
> > the whole validation function becomes pointless and you can delete it.
> > I guess that the PCF8563 chip is used in embedded designs with platform
> > code to instantiate the I2C devices as needed, so it should work fine.
> > Apparently some IXP4xx platforms already expect rtc-pcf8563 to be a
> > new-style i2c driver... I'm curious if some ARM people have already
> > converted the driver. Rod?
> 
> Isn't rtc-pcf8563 a new-style i2c driver already ?

Oops. You're totally right. I was looking at kernel 2.6.25 instead
of .26-rc8, sorry.

So I'd say just go ahead and blast pcf8563_validate_client, it hardly
makes sense for a new-style driver. If the platform code says there's a
PCF8563 at a given address, it has to be there, no need to waste our
time checking.

-- 
Jean Delvare



More information about the i2c mailing list