]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
Input: ads7846 - fix gpiod allocation
authorH. Nikolaus Schaller <hns@goldelico.com>
Sat, 1 Feb 2025 11:43:24 +0000 (12:43 +0100)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Mon, 3 Feb 2025 12:37:57 +0000 (04:37 -0800)
commit 767d83361aaa ("Input: ads7846 - Convert to use software nodes")

has simplified the code but accidentially converted a devm_gpiod_get()
to gpiod_get(). This leaves the gpio reserved on module remove and the
driver can no longer be loaded again.

Fixes: 767d83361aaa ("Input: ads7846 - Convert to use software nodes")
Cc: stable@vger.kernel.org
Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
Link: https://lore.kernel.org/r/6e9b143f19cdfda835711a8a7a3966e5a2494cff.1738410204.git.hns@goldelico.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/touchscreen/ads7846.c

index 066dc04003fa83ca22e9783e95ba23689ab01285..67264c5b49cb4a949b7a056c7981aefe8dc51e0f 100644 (file)
@@ -1021,7 +1021,7 @@ static int ads7846_setup_pendown(struct spi_device *spi,
        if (pdata->get_pendown_state) {
                ts->get_pendown_state = pdata->get_pendown_state;
        } else {
-               ts->gpio_pendown = gpiod_get(&spi->dev, "pendown", GPIOD_IN);
+               ts->gpio_pendown = devm_gpiod_get(&spi->dev, "pendown", GPIOD_IN);
                if (IS_ERR(ts->gpio_pendown)) {
                        dev_err(&spi->dev, "failed to request pendown GPIO\n");
                        return PTR_ERR(ts->gpio_pendown);