[PATCH 1/2] I2C: Convert PCF50606 to I2C device

Balaji Rao balaji at raobalaji.com
Fri Oct 3 15:23:15 CEST 2008


On Fri, 03 Oct 2008 12:11:24 +0100
Andy Green <andy at openmoko.com> wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Jonas Bonn wrote:
> > This chip is a regular I2C device and does not really need to be
> > set up as a platform device.  This patch thus changes the driver
> > definition and converts the I2C bits to the new-style I2C interface
> > at the same time.
> 
> >  	/* now we try to detect the chip */
> > -
> > -	/* register with i2c core */
> > -	err = i2c_attach_client(new_client);
> > -	if (err) {
> > -		dev_err(&new_client->dev,
> > -			"error during i2c_attach_client()\n");
> > -		goto exit_free;
> > -	}
> > +	// FIXME: Detect chip????
> > +	/* */
> 
> In I2C protocol if the chip at the address is not present it won't ACK
> at the first opportunity and transactions will fail.  So all that's
> needed here is first regular register transaction should bail from
> probe if it returned -E*.
> 
> > -/* We have this purely to capture an early indication that we are
> > coming out
> > - * of suspend, before our device resume got called; async
> > interrupt service is
> > - * interested in this.
> > - */
> > -
> > -static int pcf50606_plat_resume(struct platform_device *pdev)
> > -{
> > -	/* i2c_get_clientdata(to_i2c_client(&pdev->dev)) returns
> > NULL at this
> > -	 * early resume time so we have to use pcf50606_global
> > -	 */
> > -	pcf50606_global->suspend_state =
> > PCF50606_SS_RESUMING_BUT_NOT_US_YET; -
> > -	return 0;
> > -}
> 
> Dunno about 50606 but I think the equivalent was important on 50633
> resume sequencing.  Did you confirm it suspend / resumes OK still?

Andy,

Let me see if suspend/resume plays well with the changes I've
introduced. I forgot to test that one.

	- Balaji



More information about the openmoko-kernel mailing list