Hi, Chris. On 2010-11-17 ìì 5:42, Chris Leech wrote:
Hooks for board specific setup and tear-down, to be used if the controllers reset is wired to a GPIO pin. Signed-off-by: Chris Leech<christopher.leech@xxxxxxxxxxxxxxx> --- drivers/input/touchscreen/qt602240_ts.c | 7 +++++++ include/linux/i2c/qt602240_ts.h | 4 ++++ 2 files changed, 11 insertions(+), 0 deletions(-) diff --git a/drivers/input/touchscreen/qt602240_ts.c b/drivers/input/touchscreen/qt602240_ts.c index 11055ec..efe975e 100644 --- a/drivers/input/touchscreen/qt602240_ts.c +++ b/drivers/input/touchscreen/qt602240_ts.c @@ -1307,6 +1307,11 @@ static int __devinit qt602240_probe(struct i2c_client *client, i2c_set_clientdata(client, data); + if (data->pdata->hw_setup) { + error = data->pdata->hw_setup(client); + if (error) + goto err_free_object; + } error = qt602240_initialize(data); if (error) goto err_free_object; @@ -1376,6 +1381,8 @@ static int __devexit qt602240_remove(struct i2c_client *client) sysfs_remove_group(&client->dev.kobj,&qt602240_attr_group); free_irq(data->irq, data); input_unregister_device(data->input_dev); + if (data->pdata->hw_teardown) + data->pdata->hw_teardown(client); kfree(data->object_table); kfree(data); diff --git a/include/linux/i2c/qt602240_ts.h b/include/linux/i2c/qt602240_ts.h index d2aa1b6..764dd45 100644 --- a/include/linux/i2c/qt602240_ts.h +++ b/include/linux/i2c/qt602240_ts.h @@ -41,6 +41,10 @@ struct qt602240_platform_data { * platform_data). */ unsigned char trust_nvm; + + /* Board-specific HW hooks; NULL if not needed */ + int (*hw_setup) (struct i2c_client *client); + void (*hw_teardown) (struct i2c_client *client);
Why does client need? -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html