diff options
author | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2013-06-27 23:29:25 -0700 |
---|---|---|
committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2013-07-02 20:40:47 -0700 |
commit | 57691a1e27a7d1995775b7e25e2ec0d7a415edc0 (patch) | |
tree | 676c2aac68b0459803a8ceb626a8a23ab39f9d9f /drivers/input | |
parent | 67bf12ca50d524f9e225347fe63533562e2004de (diff) | |
download | linux-57691a1e27a7d1995775b7e25e2ec0d7a415edc0.tar.gz linux-57691a1e27a7d1995775b7e25e2ec0d7a415edc0.tar.bz2 linux-57691a1e27a7d1995775b7e25e2ec0d7a415edc0.zip |
Input: ads7846 - make sure we do not change platform data
Let's declare platform data a const pointer so that we don't accitentally
change it. Also fetch it with dev_get_platdata().
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Diffstat (limited to 'drivers/input')
-rw-r--r-- | drivers/input/touchscreen/ads7846.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/input/touchscreen/ads7846.c b/drivers/input/touchscreen/ads7846.c index 84ccf140c1bb..5ff041995198 100644 --- a/drivers/input/touchscreen/ads7846.c +++ b/drivers/input/touchscreen/ads7846.c @@ -961,9 +961,9 @@ static int ads7846_resume(struct device *dev) static SIMPLE_DEV_PM_OPS(ads7846_pm, ads7846_suspend, ads7846_resume); static int ads7846_setup_pendown(struct spi_device *spi, - struct ads7846 *ts) + struct ads7846 *ts, + const struct ads7846_platform_data *pdata) { - struct ads7846_platform_data *pdata = spi->dev.platform_data; int err; /* @@ -1003,7 +1003,7 @@ static int ads7846_setup_pendown(struct spi_device *spi, * use formula #2 for pressure, not #3. */ static void ads7846_setup_spi_msg(struct ads7846 *ts, - const struct ads7846_platform_data *pdata) + const struct ads7846_platform_data *pdata) { struct spi_message *m = &ts->msg[0]; struct spi_transfer *x = ts->xfer; @@ -1203,10 +1203,10 @@ static void ads7846_setup_spi_msg(struct ads7846 *ts, static int ads7846_probe(struct spi_device *spi) { + const struct ads7846_platform_data *pdata = dev_get_platdata(&spi->dev); struct ads7846 *ts; struct ads7846_packet *packet; struct input_dev *input_dev; - struct ads7846_platform_data *pdata = spi->dev.platform_data; unsigned long irq_flags; int err; @@ -1281,7 +1281,7 @@ static int ads7846_probe(struct spi_device *spi) ts->filter = ads7846_no_filter; } - err = ads7846_setup_pendown(spi, ts); + err = ads7846_setup_pendown(spi, ts, pdata); if (err) goto err_cleanup_filter; |