Hello Hong, The pointers will be fixed in v4. Thank you, Kevin > -----Original Message----- > From: Hong Liu [mailto:hong.liu@xxxxxxxxx] > Sent: Monday, January 03, 2011 5:46 PM > To: Kevin McNeely > Cc: Dmitry Torokhov; David Brown; Trilok Soni; Samuel Ortiz; Eric Miao; > Mike Frysinger; Henrik Rydberg; Alan Cox; linux-input@xxxxxxxxxxxxxxx; > linux-kernel@xxxxxxxxxxxxxxx > Subject: Re: [v3 2/3] 2/3 i2c: Cypress TTSP G3 MTDEV I2C Device Driver > > On Thu, 2010-12-30 at 03:17 +0800, Kevin McNeely wrote: > [...] > > + > > +/* registered in driver struct */ > > +static int __devexit cyttsp_i2c_remove(struct i2c_client *client) > > +{ > > + struct cyttsp_i2c *ts; > > + > > + ts = i2c_get_clientdata(client); > > + cyttsp_core_release(ts->ttsp_client); > > + kfree(ts); > > + return 0; > > +} > > + > > +#ifdef CONFIG_PM > > +static int cyttsp_i2c_suspend(struct i2c_client *client, > pm_message_t message) > > +{ > > + return cyttsp_suspend(dev_get_drvdata(&client->dev)); > > +} > > + > > +static int cyttsp_i2c_resume(struct i2c_client *client) > > +{ > > + return cyttsp_resume(dev_get_drvdata(&client->dev)); > > +} > > +#endif > > I think what we get here is a pointer to cyttsp_i2c, and we need to > pass > cyttsp_i2c->ttsp_client to cyttsp_suspend/resume. > > Thanks, > Hong > > > + > > +static const struct i2c_device_id cyttsp_i2c_id[] = { > > + { CY_I2C_NAME, 0 }, { } > > +}; > > + > > +static struct i2c_driver cyttsp_i2c_driver = { > > + .driver = { > > + .name = CY_I2C_NAME, > > + .owner = THIS_MODULE, > > + }, > > + .probe = cyttsp_i2c_probe, > > + .remove = __devexit_p(cyttsp_i2c_remove), > > + .id_table = cyttsp_i2c_id, > > +#ifdef CONFIG_PM > > + .suspend = cyttsp_i2c_suspend, > > + .resume = cyttsp_i2c_resume, > > +#endif > > +}; > > + > > +static int __init cyttsp_i2c_init(void) > > +{ > > + return i2c_add_driver(&cyttsp_i2c_driver); > > +} > > + > > +static void __exit cyttsp_i2c_exit(void) > > +{ > > + return i2c_del_driver(&cyttsp_i2c_driver); > > +} > > + > > +module_init(cyttsp_i2c_init); > > +module_exit(cyttsp_i2c_exit); > > + > > +MODULE_ALIAS("i2c:cyttsp"); > > +MODULE_LICENSE("GPL"); > > +MODULE_DESCRIPTION("Cypress TrueTouch(R) Standard Product (TTSP) I2C > driver"); > > +MODULE_AUTHOR("Cypress"); > > +MODULE_DEVICE_TABLE(i2c, cyttsp_i2c_id); > --------------------------------------------------------------- This message and any attachments may contain Cypress (or its subsidiaries) confidential information. If it has been received in error, please advise the sender and immediately delete this message. --------------------------------------------------------------- ÿô.nÇ·®+%˱é¥wÿº{.nÇ·¥{±þ)éâ^nr¡öë¨è&£ûz¹Þúzf£¢·h§~Ûÿÿïÿê_èæ+v¨þ)ßø