]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
Input: zforce_ts - switch to using devm_regulator_get_enable()
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Sat, 24 Aug 2024 05:50:39 +0000 (22:50 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Fri, 6 Sep 2024 05:56:47 +0000 (22:56 -0700)
The driver does not actively manage regulator state past probe() time,
so we can use devm_regulator_get_enable() to simplify the code.

Tested-by: Andreas Kemnade <andreas@kemnade.info> # Tolino Shine2HD
Link: https://lore.kernel.org/r/20240824055047.1706392-16-dmitry.torokhov@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/touchscreen/zforce_ts.c

index c6b506a01b2aeba990bdb24d607847d2dd38a222..316901c751c0a6e857b0e3a983b2ab53dc62c24f 100644 (file)
@@ -107,8 +107,6 @@ struct zforce_ts {
        struct touchscreen_properties prop;
        char                    phys[32];
 
-       struct regulator        *reg_vdd;
-
        struct gpio_desc        *gpio_int;
        struct gpio_desc        *gpio_rst;
 
@@ -675,11 +673,7 @@ static void zforce_reset(void *data)
        struct zforce_ts *ts = data;
 
        zforce_reset_assert(ts);
-
        udelay(10);
-
-       if (!IS_ERR(ts->reg_vdd))
-               regulator_disable(ts->reg_vdd);
 }
 
 static void zforce_ts_parse_legacy_properties(struct zforce_ts *ts)
@@ -742,16 +736,11 @@ static int zforce_probe(struct i2c_client *client)
                                             "failed to request reset GPIO\n");
        }
 
-       ts->reg_vdd = devm_regulator_get(&client->dev, "vdd");
-       error = PTR_ERR_OR_ZERO(ts->gpio_rst);
+       error = devm_regulator_get_enable(&client->dev, "vdd");
        if (error)
                return dev_err_probe(&client->dev, error,
                                     "failed to request vdd supply\n");
 
-       error = regulator_enable(ts->reg_vdd);
-       if (error)
-               return error;
-
        /*
         * According to datasheet add 100us grace time after regular
         * regulator enable delay.