struct touchscreen_properties prop;
        char                    phys[32];
 
-       struct regulator        *reg_vdd;
-
        struct gpio_desc        *gpio_int;
        struct gpio_desc        *gpio_rst;
 
        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)
                                             "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.