lkml.org 
[lkml]   [2011]   [Jan]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRE: [v3 2/3] 2/3 i2c: Cypress TTSP G3 MTDEV I2C Device Driver
    Date
    From
    Hello Hong,

    The pointers will be fixed in v4.

    Thank you,
    Kevin

    > -----Original Message-----
    > From: Hong Liu [mailto:hong.liu@intel.com]
    > 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@vger.kernel.org;
    > linux-kernel@vger.kernel.org
    > 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.
    ---------------------------------------------------------------

    \
     
     \ /
      Last update: 2011-01-05 01:43    [W:0.032 / U:0.276 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site