From: Roger Quadros <rogerq@ti.com> To: <dmitry.torokhov@gmail.com> Cc: <rydberg@euromail.se>, <jcbian@pixcir.com.cn>, <linux-input@vger.kernel.org>, <linux-kernel@vger.kernel.org>, <devicetree@vger.kernel.org>, Roger Quadros <rogerq@ti.com> Subject: [PATCH 6/9] Input: pixcir_i2c_ts: Add chip specific data structure Date: Wed, 18 Dec 2013 14:51:17 +0530 [thread overview] Message-ID: <1387358480-8313-7-git-send-email-rogerq@ti.com> (raw) In-Reply-To: <1387358480-8313-1-git-send-email-rogerq@ti.com> This is the data that differentiates different pixcir chips. Signed-off-by: Roger Quadros <rogerq@ti.com> Acked-by: Mugunthan V N <mugunthanvnm@ti.com> --- drivers/input/touchscreen/pixcir_i2c_ts.c | 8 +++++--- include/linux/input/pixcir_ts.h | 11 +++++++++++ 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/drivers/input/touchscreen/pixcir_i2c_ts.c b/drivers/input/touchscreen/pixcir_i2c_ts.c index a783d94..ff68246 100644 --- a/drivers/input/touchscreen/pixcir_i2c_ts.c +++ b/drivers/input/touchscreen/pixcir_i2c_ts.c @@ -32,7 +32,7 @@ struct pixcir_i2c_ts_data { struct i2c_client *client; struct input_dev *input; - const struct pixcir_ts_platform_data *chip; + const struct pixcir_ts_platform_data *pdata; bool exiting; }; @@ -91,7 +91,7 @@ static void pixcir_ts_poscheck(struct pixcir_i2c_ts_data *data) static irqreturn_t pixcir_ts_isr(int irq, void *dev_id) { struct pixcir_i2c_ts_data *tsdata = dev_id; - const struct pixcir_ts_platform_data *pdata = tsdata->chip; + const struct pixcir_ts_platform_data *pdata = tsdata->pdata; while (!tsdata->exiting) { pixcir_ts_poscheck(tsdata); @@ -301,6 +301,8 @@ static struct pixcir_ts_platform_data *pixcir_parse_dt(struct device *dev) if (!pdata) return ERR_PTR(-ENOMEM); + pdata->chip = *(const struct pixcir_i2c_chip_data *)match->data; + pdata->gpio_attb = of_get_named_gpio(np, "attb-gpio", 0); if (!gpio_is_valid(pdata->gpio_attb)) { dev_err(dev, "Failed to get ATTB GPIO\n"); @@ -366,7 +368,7 @@ static int pixcir_i2c_ts_probe(struct i2c_client *client, tsdata->client = client; tsdata->input = input; - tsdata->chip = pdata; + tsdata->pdata = pdata; input->name = client->name; input->id.bustype = BUS_I2C; diff --git a/include/linux/input/pixcir_ts.h b/include/linux/input/pixcir_ts.h index 88ffdb50..b9a2f6f 100644 --- a/include/linux/input/pixcir_ts.h +++ b/include/linux/input/pixcir_ts.h @@ -43,10 +43,21 @@ enum pixcir_int_mode { #define PIXCIR_INT_ENABLE (1UL << 3) #define PIXCIR_INT_POL_HIGH (1UL << 2) +/** + * struct pixcir_irc_chip_data - chip related data + * @num_report_ids: Max number of finger ids reported simultaneously. + * if 0 it means chip doesn't support finger id reporting + * and driver will resort to Type A Multi-Touch reporting. + */ +struct pixcir_i2c_chip_data { + u8 num_report_ids; +}; + struct pixcir_ts_platform_data { unsigned int x_size; /* X axis resolution */ unsigned int y_size; /* Y axis resolution */ int gpio_attb; /* GPIO connected to ATTB line */ + struct pixcir_i2c_chip_data chip; }; #endif -- 1.8.3.2
WARNING: multiple messages have this Message-ID (diff)
From: Roger Quadros <rogerq@ti.com> To: dmitry.torokhov@gmail.com Cc: rydberg@euromail.se, jcbian@pixcir.com.cn, linux-input@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Roger Quadros <rogerq@ti.com> Subject: [PATCH 6/9] Input: pixcir_i2c_ts: Add chip specific data structure Date: Wed, 18 Dec 2013 14:51:17 +0530 [thread overview] Message-ID: <1387358480-8313-7-git-send-email-rogerq@ti.com> (raw) In-Reply-To: <1387358480-8313-1-git-send-email-rogerq@ti.com> This is the data that differentiates different pixcir chips. Signed-off-by: Roger Quadros <rogerq@ti.com> Acked-by: Mugunthan V N <mugunthanvnm@ti.com> --- drivers/input/touchscreen/pixcir_i2c_ts.c | 8 +++++--- include/linux/input/pixcir_ts.h | 11 +++++++++++ 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/drivers/input/touchscreen/pixcir_i2c_ts.c b/drivers/input/touchscreen/pixcir_i2c_ts.c index a783d94..ff68246 100644 --- a/drivers/input/touchscreen/pixcir_i2c_ts.c +++ b/drivers/input/touchscreen/pixcir_i2c_ts.c @@ -32,7 +32,7 @@ struct pixcir_i2c_ts_data { struct i2c_client *client; struct input_dev *input; - const struct pixcir_ts_platform_data *chip; + const struct pixcir_ts_platform_data *pdata; bool exiting; }; @@ -91,7 +91,7 @@ static void pixcir_ts_poscheck(struct pixcir_i2c_ts_data *data) static irqreturn_t pixcir_ts_isr(int irq, void *dev_id) { struct pixcir_i2c_ts_data *tsdata = dev_id; - const struct pixcir_ts_platform_data *pdata = tsdata->chip; + const struct pixcir_ts_platform_data *pdata = tsdata->pdata; while (!tsdata->exiting) { pixcir_ts_poscheck(tsdata); @@ -301,6 +301,8 @@ static struct pixcir_ts_platform_data *pixcir_parse_dt(struct device *dev) if (!pdata) return ERR_PTR(-ENOMEM); + pdata->chip = *(const struct pixcir_i2c_chip_data *)match->data; + pdata->gpio_attb = of_get_named_gpio(np, "attb-gpio", 0); if (!gpio_is_valid(pdata->gpio_attb)) { dev_err(dev, "Failed to get ATTB GPIO\n"); @@ -366,7 +368,7 @@ static int pixcir_i2c_ts_probe(struct i2c_client *client, tsdata->client = client; tsdata->input = input; - tsdata->chip = pdata; + tsdata->pdata = pdata; input->name = client->name; input->id.bustype = BUS_I2C; diff --git a/include/linux/input/pixcir_ts.h b/include/linux/input/pixcir_ts.h index 88ffdb50..b9a2f6f 100644 --- a/include/linux/input/pixcir_ts.h +++ b/include/linux/input/pixcir_ts.h @@ -43,10 +43,21 @@ enum pixcir_int_mode { #define PIXCIR_INT_ENABLE (1UL << 3) #define PIXCIR_INT_POL_HIGH (1UL << 2) +/** + * struct pixcir_irc_chip_data - chip related data + * @num_report_ids: Max number of finger ids reported simultaneously. + * if 0 it means chip doesn't support finger id reporting + * and driver will resort to Type A Multi-Touch reporting. + */ +struct pixcir_i2c_chip_data { + u8 num_report_ids; +}; + struct pixcir_ts_platform_data { unsigned int x_size; /* X axis resolution */ unsigned int y_size; /* Y axis resolution */ int gpio_attb; /* GPIO connected to ATTB line */ + struct pixcir_i2c_chip_data chip; }; #endif -- 1.8.3.2
next prev parent reply other threads:[~2013-12-18 9:22 UTC|newest] Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top 2013-12-18 9:21 [PATCH 0/9] Input: pixcir_i2c_ts: Add Type-B Multitouch support Roger Quadros 2013-12-18 9:21 ` Roger Quadros 2013-12-18 9:21 ` [PATCH 1/9] Input: pixcir_i2c_ts: Add device tree support Roger Quadros 2013-12-18 9:21 ` Roger Quadros 2013-12-18 14:09 ` Dmitry Torokhov 2013-12-19 6:12 ` Roger Quadros 2013-12-19 6:12 ` Roger Quadros 2013-12-18 9:21 ` [PATCH 2/9] Input: pixcir_i2c_ts: Add register definitions Roger Quadros 2013-12-18 9:21 ` Roger Quadros 2013-12-18 14:09 ` Dmitry Torokhov 2013-12-18 9:21 ` [PATCH 3/9] Input: pixcir_i2c_ts: Initialize interrupt mode and power mode Roger Quadros 2013-12-18 9:21 ` Roger Quadros 2013-12-18 14:14 ` Dmitry Torokhov 2013-12-18 14:14 ` Dmitry Torokhov 2013-12-19 5:57 ` Roger Quadros 2013-12-19 5:57 ` Roger Quadros 2013-12-18 9:21 ` [PATCH 4/9] Input: pixcir_i2c_ts: Use devres managed resource allocations Roger Quadros 2013-12-18 9:21 ` Roger Quadros 2013-12-18 14:15 ` Dmitry Torokhov 2013-12-18 9:21 ` [PATCH 5/9] Input: pixcir_i2c_ts: Get rid of pdata->attb_read_val() Roger Quadros 2013-12-18 9:21 ` Roger Quadros 2013-12-18 14:20 ` Dmitry Torokhov 2013-12-19 5:54 ` Roger Quadros 2013-12-19 5:54 ` Roger Quadros 2013-12-18 9:21 ` Roger Quadros [this message] 2013-12-18 9:21 ` [PATCH 6/9] Input: pixcir_i2c_ts: Add chip specific data structure Roger Quadros 2013-12-18 9:21 ` [PATCH 7/9] Input: pixcir_i2c_ts: Implement Type B Multi Touch reporting Roger Quadros 2013-12-18 9:21 ` Roger Quadros 2013-12-18 14:18 ` Dmitry Torokhov 2013-12-19 5:49 ` Roger Quadros 2013-12-19 5:49 ` Roger Quadros 2013-12-21 20:02 ` Henrik Rydberg 2013-12-18 9:21 ` [PATCH 8/9] Input: pixcir_i2c_ts: Add support for TangoC family Roger Quadros 2013-12-18 9:21 ` Roger Quadros 2013-12-18 9:21 ` [PATCH 9/9] Input: pixcir_i2c_ts: Implement wakeup from suspend Roger Quadros 2013-12-18 9:21 ` Roger Quadros
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1387358480-8313-7-git-send-email-rogerq@ti.com \ --to=rogerq@ti.com \ --cc=devicetree@vger.kernel.org \ --cc=dmitry.torokhov@gmail.com \ --cc=jcbian@pixcir.com.cn \ --cc=linux-input@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=rydberg@euromail.se \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.