On Thu, Nov 18, 2010 at 08:32:39PM +0900, Joonyoung Shim wrote: > 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? I'm not sure I understand your question. If it's why are these hooks needed, I want to make sure that if the reset pin is hooked up to a gpio the device is taken out of reset properly. If it's why the client argument is passed, it seemed like there should be some way to identify the device. You could have a platform with multiple touchscreens. - Chris -- 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