From: Daniel Mack <daniel@zonque.org>
To: linux-input@vger.kernel.org
Cc: dmitry.torokhov@gmail.com, m.felsch@pengutronix.de
Subject: Re: [PATCH v3 2/3] Input: ads7846: remove custom filter handling functions from pdata
Date: Thu, 7 May 2020 08:22:11 +0200 [thread overview]
Message-ID: <fc7df843-16f4-741a-c2e7-79f228136bbc@zonque.org> (raw)
In-Reply-To: <20200507062014.1780360-3-daniel@zonque.org>
On 5/7/20 8:20 AM, Daniel Mack wrote:
> The functions in the platform data struct to initialize, cleanup and
> apply custom filters are not in use by any mainline board.
>
> Remove support for them to pave the road for more cleanups to come.
>
> The enum was moved as it has no users outside of the driver code
> itself.
>
> Signed-off-by: Daniel Mack <daniel@zonque.org>
Ah damn, a stray file in the folder. Ignore this one please and use the
other one. Sorry.
Daniel
> ---
> drivers/input/touchscreen/ads7846.c | 25 ++++++++-----------------
> include/linux/spi/ads7846.h | 15 ---------------
> 2 files changed, 8 insertions(+), 32 deletions(-)
>
> diff --git a/drivers/input/touchscreen/ads7846.c b/drivers/input/touchscreen/ads7846.c
> index 0fd0037ef226..4635e8867d10 100644
> --- a/drivers/input/touchscreen/ads7846.c
> +++ b/drivers/input/touchscreen/ads7846.c
> @@ -139,13 +139,18 @@ struct ads7846 {
>
> int (*filter)(void *data, int data_idx, int *val);
> void *filter_data;
> - void (*filter_cleanup)(void *data);
> int (*get_pendown_state)(void);
> int gpio_pendown;
>
> void (*wait_for_sync)(void);
> };
>
> +enum ads7846_filter {
> + ADS7846_FILTER_OK,
> + ADS7846_FILTER_REPEAT,
> + ADS7846_FILTER_IGNORE,
> +};
> +
> /* leave chip selected when we're done, for quicker re-select? */
> #if 0
> #define CS_CHANGE(xfer) ((xfer).cs_change = 1)
> @@ -1325,15 +1330,7 @@ static int ads7846_probe(struct spi_device *spi)
> ts->x_plate_ohms = pdata->x_plate_ohms ? : 400;
> ts->vref_mv = pdata->vref_mv;
>
> - if (pdata->filter != NULL) {
> - if (pdata->filter_init != NULL) {
> - err = pdata->filter_init(pdata, &ts->filter_data);
> - if (err < 0)
> - goto err_free_mem;
> - }
> - ts->filter = pdata->filter;
> - ts->filter_cleanup = pdata->filter_cleanup;
> - } else if (pdata->debounce_max) {
> + if (pdata->debounce_max) {
> ts->debounce_max = pdata->debounce_max;
> if (ts->debounce_max < 2)
> ts->debounce_max = 2;
> @@ -1347,7 +1344,7 @@ static int ads7846_probe(struct spi_device *spi)
>
> err = ads7846_setup_pendown(spi, ts, pdata);
> if (err)
> - goto err_cleanup_filter;
> + goto err_free_mem;
>
> if (pdata->penirq_recheck_delay_usecs)
> ts->penirq_recheck_delay_usecs =
> @@ -1473,9 +1470,6 @@ static int ads7846_probe(struct spi_device *spi)
> err_free_gpio:
> if (!ts->get_pendown_state)
> gpio_free(ts->gpio_pendown);
> - err_cleanup_filter:
> - if (ts->filter_cleanup)
> - ts->filter_cleanup(ts->filter_data);
> err_free_mem:
> input_free_device(input_dev);
> kfree(packet);
> @@ -1506,9 +1500,6 @@ static int ads7846_remove(struct spi_device *spi)
> gpio_free(ts->gpio_pendown);
> }
>
> - if (ts->filter_cleanup)
> - ts->filter_cleanup(ts->filter_data);
> -
> kfree(ts->packet);
> kfree(ts);
>
> diff --git a/include/linux/spi/ads7846.h b/include/linux/spi/ads7846.h
> index 1a5eaef3b7f2..d424c1aadf38 100644
> --- a/include/linux/spi/ads7846.h
> +++ b/include/linux/spi/ads7846.h
> @@ -1,17 +1,6 @@
> /* SPDX-License-Identifier: GPL-2.0 */
> /* linux/spi/ads7846.h */
>
> -/* Touchscreen characteristics vary between boards and models. The
> - * platform_data for the device's "struct device" holds this information.
> - *
> - * It's OK if the min/max values are zero.
> - */
> -enum ads7846_filter {
> - ADS7846_FILTER_OK,
> - ADS7846_FILTER_REPEAT,
> - ADS7846_FILTER_IGNORE,
> -};
> -
> struct ads7846_platform_data {
> u16 model; /* 7843, 7845, 7846, 7873. */
> u16 vref_delay_usecs; /* 0 for external vref; etc */
> @@ -51,10 +40,6 @@ struct ads7846_platform_data {
> int gpio_pendown_debounce; /* platform specific debounce time for
> * the gpio_pendown */
> int (*get_pendown_state)(void);
> - int (*filter_init) (const struct ads7846_platform_data *pdata,
> - void **filter_data);
> - int (*filter) (void *filter_data, int data_idx, int *val);
> - void (*filter_cleanup)(void *filter_data);
> void (*wait_for_sync)(void);
> bool wakeup;
> unsigned long irq_flags;
>
next prev parent reply other threads:[~2020-05-07 6:22 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-07 6:20 [PATCH v3 0/3] Input: ads7846: pdata cleanups and devm init Daniel Mack
2020-05-07 6:20 ` [PATCH v3 1/3] Input: ads7846: Add short-hand for spi->dev in probe() function Daniel Mack
2020-05-07 8:07 ` Marco Felsch
2020-05-07 6:20 ` [PATCH v3 2/3] Input: ads7846: remove custom filter handling functions from pdata Daniel Mack
2020-05-07 6:22 ` Daniel Mack [this message]
2020-05-07 6:20 ` [PATCH v3 2/3] Input: ads7846: Remove " Daniel Mack
2020-05-07 8:15 ` Marco Felsch
2020-05-07 6:20 ` [PATCH v3 3/3] Input: ads7846: Switch to devm initialization Daniel Mack
2020-05-19 9:18 ` Marco Felsch
2020-05-19 9:29 ` Daniel Mack
2020-05-19 9:03 ` [PATCH v3 0/3] Input: ads7846: pdata cleanups and devm init Daniel Mack
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=fc7df843-16f4-741a-c2e7-79f228136bbc@zonque.org \
--to=daniel@zonque.org \
--cc=dmitry.torokhov@gmail.com \
--cc=linux-input@vger.kernel.org \
--cc=m.felsch@pengutronix.de \
/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: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).