Skip to content

Commit 0433773

Browse files
dlechdtor
authored andcommitted
Input: mpr121 - use devm_regulator_get_enable_read_voltage()
We can reduce boilerplate code by using devm_regulator_get_enable_read_voltage(). Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Signed-off-by: David Lechner <dlechner@baylibre.com> Link: https://lore.kernel.org/r/20241119-input-mpr121-regulator-get-enable-read-voltage-v3-1-1d8ee5c22f6c@baylibre.com Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
1 parent 048b3ae commit 0433773

File tree

1 file changed

+3
-42
lines changed

1 file changed

+3
-42
lines changed

drivers/input/keyboard/mpr121_touchkey.c

Lines changed: 3 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -82,42 +82,6 @@ static const struct mpr121_init_register init_reg_table[] = {
8282
{ AUTO_CONFIG_CTRL_ADDR, 0x0b },
8383
};
8484

85-
static void mpr121_vdd_supply_disable(void *data)
86-
{
87-
struct regulator *vdd_supply = data;
88-
89-
regulator_disable(vdd_supply);
90-
}
91-
92-
static struct regulator *mpr121_vdd_supply_init(struct device *dev)
93-
{
94-
struct regulator *vdd_supply;
95-
int err;
96-
97-
vdd_supply = devm_regulator_get(dev, "vdd");
98-
if (IS_ERR(vdd_supply)) {
99-
dev_err(dev, "failed to get vdd regulator: %ld\n",
100-
PTR_ERR(vdd_supply));
101-
return vdd_supply;
102-
}
103-
104-
err = regulator_enable(vdd_supply);
105-
if (err) {
106-
dev_err(dev, "failed to enable vdd regulator: %d\n", err);
107-
return ERR_PTR(err);
108-
}
109-
110-
err = devm_add_action_or_reset(dev, mpr121_vdd_supply_disable,
111-
vdd_supply);
112-
if (err) {
113-
dev_err(dev, "failed to add disable regulator action: %d\n",
114-
err);
115-
return ERR_PTR(err);
116-
}
117-
118-
return vdd_supply;
119-
}
120-
12185
static void mpr_touchkey_report(struct input_dev *dev)
12286
{
12387
struct mpr121_touchkey *mpr121 = input_get_drvdata(dev);
@@ -233,19 +197,16 @@ static int mpr121_phys_init(struct mpr121_touchkey *mpr121,
233197
static int mpr_touchkey_probe(struct i2c_client *client)
234198
{
235199
struct device *dev = &client->dev;
236-
struct regulator *vdd_supply;
237200
int vdd_uv;
238201
struct mpr121_touchkey *mpr121;
239202
struct input_dev *input_dev;
240203
u32 poll_interval = 0;
241204
int error;
242205
int i;
243206

244-
vdd_supply = mpr121_vdd_supply_init(dev);
245-
if (IS_ERR(vdd_supply))
246-
return PTR_ERR(vdd_supply);
247-
248-
vdd_uv = regulator_get_voltage(vdd_supply);
207+
vdd_uv = devm_regulator_get_enable_read_voltage(dev, "vdd");
208+
if (vdd_uv < 0)
209+
return dev_err_probe(dev, vdd_uv, "failed to get vdd voltage\n");
249210

250211
mpr121 = devm_kzalloc(dev, sizeof(*mpr121), GFP_KERNEL);
251212
if (!mpr121)

0 commit comments

Comments
 (0)