From: "Patil, Rachna" <rachna@ti.com> To: <linux-doc@vger.kernel.org>, <devicetree-discuss@lists.ozlabs.org>, <linux-kernel@vger.kernel.org>, <linux-input@vger.kernel.org>, <linux-iio@vger.kernel.org> Cc: Rob Landley <rob@landley.net>, Grant Likely <grant.likely@secretlab.ca>, Rob Herring <rob.herring@calxeda.com>, Samuel Ortiz <sameo@linux.intel.com>, Dmitry Torokhov <dmitry.torokhov@gmail.com>, Dmitry Torokhov <dtor@mail.ru>, Jonathan Cameron <jic23@cam.ac.uk>, "Patil, Rachna" <rachna@ti.com> Subject: [PATCH RESEND 6/7] input: ti_am335x_tsc: Add DT support Date: Wed, 7 Nov 2012 12:22:03 +0530 [thread overview] Message-ID: <1352271124-5513-7-git-send-email-rachna@ti.com> (raw) In-Reply-To: <1352271124-5513-1-git-send-email-rachna@ti.com> Add DT support for client touchscreen driver Signed-off-by: Patil, Rachna <rachna@ti.com> --- drivers/input/touchscreen/ti_am335x_tsc.c | 60 ++++++++++++++++++++++++----- 1 files changed, 50 insertions(+), 10 deletions(-) diff --git a/drivers/input/touchscreen/ti_am335x_tsc.c b/drivers/input/touchscreen/ti_am335x_tsc.c index 7a26810..c063cf6 100644 --- a/drivers/input/touchscreen/ti_am335x_tsc.c +++ b/drivers/input/touchscreen/ti_am335x_tsc.c @@ -26,6 +26,8 @@ #include <linux/io.h> #include <linux/input/ti_am335x_tsc.h> #include <linux/delay.h> +#include <linux/of.h> +#include <linux/of_device.h> #include <linux/mfd/ti_am335x_tscadc.h> @@ -398,12 +400,18 @@ static int __devinit titsc_probe(struct platform_device *pdev) struct titsc *ts_dev; struct input_dev *input_dev; struct ti_tscadc_dev *tscadc_dev = pdev->dev.platform_data; - struct mfd_tscadc_board *pdata; - int err; - - pdata = tscadc_dev->dev->platform_data; - - if (!pdata) { + int err, i; + struct mfd_tscadc_board *pdata = NULL; + struct device_node *node = NULL; + u32 val32, wires_conf[4]; + + if (tscadc_dev->dev->of_node) { + node = tscadc_dev->dev->of_node; + node = of_find_node_by_name(node, "tsc"); + } else + pdata = tscadc_dev->dev->platform_data; + + if (!pdata && !node) { dev_err(&pdev->dev, "Could not find platform data\n"); return -EINVAL; } @@ -421,11 +429,43 @@ static int __devinit titsc_probe(struct platform_device *pdev) ts_dev->mfd_tscadc = tscadc_dev; ts_dev->input = input_dev; ts_dev->irq = tscadc_dev->irq; - ts_dev->wires = pdata->tsc_init->wires; - ts_dev->x_plate_resistance = pdata->tsc_init->x_plate_resistance; - ts_dev->steps_to_configure = pdata->tsc_init->steps_to_configure; - memcpy(ts_dev->config_inp, pdata->tsc_init->wire_config, + + if (node) { + err = of_property_read_u32(node, "wires", &val32); + if (err < 0) + goto err_free_mem; + else + ts_dev->wires = val32; + + err = of_property_read_u32(node, "x-plate-resistance", &val32); + if (err < 0) + goto err_free_mem; + else + ts_dev->x_plate_resistance = val32; + + err = of_property_read_u32(node, "steps-to-configure", &val32); + if (err < 0) + goto err_free_mem; + else + ts_dev->steps_to_configure = val32; + + err = of_property_read_u32_array(node, "wire-config", + wires_conf, ARRAY_SIZE(wires_conf)); + if (err < 0) + goto err_free_mem; + else { + for (i = 0; i < ARRAY_SIZE(wires_conf); i++) + ts_dev->config_inp[i] = wires_conf[i]; + } + } else { + ts_dev->wires = pdata->tsc_init->wires; + ts_dev->x_plate_resistance = + pdata->tsc_init->x_plate_resistance; + ts_dev->steps_to_configure = + pdata->tsc_init->steps_to_configure; + memcpy(ts_dev->config_inp, pdata->tsc_init->wire_config, sizeof(pdata->tsc_init->wire_config)); + } err = request_irq(ts_dev->irq, titsc_irq, 0, pdev->dev.driver->name, ts_dev); -- 1.7.0.4
WARNING: multiple messages have this Message-ID (diff)
From: "Patil, Rachna" <rachna@ti.com> To: linux-doc@vger.kernel.org, devicetree-discuss@lists.ozlabs.org, linux-kernel@vger.kernel.org, linux-input@vger.kernel.org, linux-iio@vger.kernel.org Cc: Rob Landley <rob@landley.net>, Grant Likely <grant.likely@secretlab.ca>, Rob Herring <rob.herring@calxeda.com>, Samuel Ortiz <sameo@linux.intel.com>, Dmitry Torokhov <dmitry.torokhov@gmail.com>, Dmitry Torokhov <dtor@mail.ru>, Jonathan Cameron <jic23@cam.ac.uk>, "Patil, Rachna" <rachna@ti.com> Subject: [PATCH RESEND 6/7] input: ti_am335x_tsc: Add DT support Date: Wed, 7 Nov 2012 12:22:03 +0530 [thread overview] Message-ID: <1352271124-5513-7-git-send-email-rachna@ti.com> (raw) In-Reply-To: <1352271124-5513-1-git-send-email-rachna@ti.com> Add DT support for client touchscreen driver Signed-off-by: Patil, Rachna <rachna@ti.com> --- drivers/input/touchscreen/ti_am335x_tsc.c | 60 ++++++++++++++++++++++++----- 1 files changed, 50 insertions(+), 10 deletions(-) diff --git a/drivers/input/touchscreen/ti_am335x_tsc.c b/drivers/input/touchscreen/ti_am335x_tsc.c index 7a26810..c063cf6 100644 --- a/drivers/input/touchscreen/ti_am335x_tsc.c +++ b/drivers/input/touchscreen/ti_am335x_tsc.c @@ -26,6 +26,8 @@ #include <linux/io.h> #include <linux/input/ti_am335x_tsc.h> #include <linux/delay.h> +#include <linux/of.h> +#include <linux/of_device.h> #include <linux/mfd/ti_am335x_tscadc.h> @@ -398,12 +400,18 @@ static int __devinit titsc_probe(struct platform_device *pdev) struct titsc *ts_dev; struct input_dev *input_dev; struct ti_tscadc_dev *tscadc_dev = pdev->dev.platform_data; - struct mfd_tscadc_board *pdata; - int err; - - pdata = tscadc_dev->dev->platform_data; - - if (!pdata) { + int err, i; + struct mfd_tscadc_board *pdata = NULL; + struct device_node *node = NULL; + u32 val32, wires_conf[4]; + + if (tscadc_dev->dev->of_node) { + node = tscadc_dev->dev->of_node; + node = of_find_node_by_name(node, "tsc"); + } else + pdata = tscadc_dev->dev->platform_data; + + if (!pdata && !node) { dev_err(&pdev->dev, "Could not find platform data\n"); return -EINVAL; } @@ -421,11 +429,43 @@ static int __devinit titsc_probe(struct platform_device *pdev) ts_dev->mfd_tscadc = tscadc_dev; ts_dev->input = input_dev; ts_dev->irq = tscadc_dev->irq; - ts_dev->wires = pdata->tsc_init->wires; - ts_dev->x_plate_resistance = pdata->tsc_init->x_plate_resistance; - ts_dev->steps_to_configure = pdata->tsc_init->steps_to_configure; - memcpy(ts_dev->config_inp, pdata->tsc_init->wire_config, + + if (node) { + err = of_property_read_u32(node, "wires", &val32); + if (err < 0) + goto err_free_mem; + else + ts_dev->wires = val32; + + err = of_property_read_u32(node, "x-plate-resistance", &val32); + if (err < 0) + goto err_free_mem; + else + ts_dev->x_plate_resistance = val32; + + err = of_property_read_u32(node, "steps-to-configure", &val32); + if (err < 0) + goto err_free_mem; + else + ts_dev->steps_to_configure = val32; + + err = of_property_read_u32_array(node, "wire-config", + wires_conf, ARRAY_SIZE(wires_conf)); + if (err < 0) + goto err_free_mem; + else { + for (i = 0; i < ARRAY_SIZE(wires_conf); i++) + ts_dev->config_inp[i] = wires_conf[i]; + } + } else { + ts_dev->wires = pdata->tsc_init->wires; + ts_dev->x_plate_resistance = + pdata->tsc_init->x_plate_resistance; + ts_dev->steps_to_configure = + pdata->tsc_init->steps_to_configure; + memcpy(ts_dev->config_inp, pdata->tsc_init->wire_config, sizeof(pdata->tsc_init->wire_config)); + } err = request_irq(ts_dev->irq, titsc_irq, 0, pdev->dev.driver->name, ts_dev); -- 1.7.0.4
next prev parent reply other threads:[~2012-11-07 7:07 UTC|newest] Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top 2012-11-07 6:51 [PATCH RESEND 0/7] MFD: ti_am335x_tscadc: DT support and TSC features addition Patil, Rachna 2012-11-07 6:51 ` Patil, Rachna 2012-11-07 6:51 ` [PATCH RESEND 1/7] input: ti_am335x_tsc: Step enable bits made configurable Patil, Rachna 2012-11-07 6:51 ` Patil, Rachna 2012-11-07 6:51 ` [PATCH RESEND 2/7] input: ti_am335x_tsc: Order of TSC wires, " Patil, Rachna 2012-11-07 6:51 ` Patil, Rachna 2012-11-07 6:52 ` [PATCH RESEND 3/7] input: ti_am335x_tsc: Add variance filter Patil, Rachna 2012-11-07 6:52 ` Patil, Rachna 2012-11-21 18:33 ` Dmitry Torokhov 2012-11-27 7:07 ` Patil, Rachna 2012-11-27 7:07 ` Patil, Rachna 2012-11-27 7:07 ` Patil, Rachna 2012-11-07 6:52 ` [PATCH RESEND 4/7] MFD: ti_am335x_tscadc: add device tree binding information Patil, Rachna 2012-11-07 6:52 ` Patil, Rachna 2012-11-07 6:52 ` [PATCH RESEND 5/7] MFD: ti_am335x_tscadc: Add DT support Patil, Rachna 2012-11-07 6:52 ` Patil, Rachna 2012-11-07 6:52 ` Patil, Rachna [this message] 2012-11-07 6:52 ` [PATCH RESEND 6/7] input: ti_am335x_tsc: " Patil, Rachna 2012-11-21 18:32 ` Dmitry Torokhov 2012-11-21 18:32 ` Dmitry Torokhov 2012-11-27 7:11 ` Patil, Rachna 2012-11-27 7:11 ` Patil, Rachna 2012-11-27 7:11 ` Patil, Rachna 2012-11-07 6:52 ` [PATCH RESEND 7/7] IIO: ti_am335x_adc: " Patil, Rachna 2012-11-07 6:52 ` Patil, Rachna 2012-11-16 10:33 ` [PATCH RESEND 0/7] MFD: ti_am335x_tscadc: DT support and TSC features addition Patil, Rachna 2012-11-16 10:33 ` Patil, Rachna 2012-11-21 17:00 ` Samuel Ortiz 2012-11-21 17:00 ` Samuel Ortiz 2012-11-21 17:00 ` Samuel Ortiz 2012-11-27 7:14 ` Patil, Rachna 2012-11-27 7:14 ` Patil, Rachna 2012-11-27 7:14 ` Patil, Rachna
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=1352271124-5513-7-git-send-email-rachna@ti.com \ --to=rachna@ti.com \ --cc=devicetree-discuss@lists.ozlabs.org \ --cc=dmitry.torokhov@gmail.com \ --cc=dtor@mail.ru \ --cc=grant.likely@secretlab.ca \ --cc=jic23@cam.ac.uk \ --cc=linux-doc@vger.kernel.org \ --cc=linux-iio@vger.kernel.org \ --cc=linux-input@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=rob.herring@calxeda.com \ --cc=rob@landley.net \ --cc=sameo@linux.intel.com \ /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.