Re: [PATCH 4/5] qt602240_ts: add optional hooks for board specific reset logic

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux