Skip to content

Commit 2b64c6f

Browse files
Wolfram Sanggroeck
authored andcommitted
hwmon: (lm75) simplify regulator handling
devm_regulator_get_enable() was introduced exactly to avoid open coding regulator handling like in this driver. Make use of this helper. Signed-off-by: Wolfram Sang <[email protected]> Reviewed-by: Geert Uytterhoeven <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Guenter Roeck <[email protected]>
1 parent c4d08cf commit 2b64c6f

File tree

1 file changed

+3
-22
lines changed

1 file changed

+3
-22
lines changed

drivers/hwmon/lm75.c

Lines changed: 3 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,6 @@ static const unsigned short normal_i2c[] = { 0x48, 0x49, 0x4a, 0x4b, 0x4c,
109109
struct lm75_data {
110110
struct i2c_client *client;
111111
struct regmap *regmap;
112-
struct regulator *vs;
113112
u16 orig_conf;
114113
u8 resolution; /* In bits, 9 to 16 */
115114
unsigned int sample_time; /* In ms */
@@ -621,13 +620,6 @@ static const struct regmap_bus lm75_i2c_regmap_bus = {
621620
.reg_write = lm75_i2c_reg_write,
622621
};
623622

624-
static void lm75_disable_regulator(void *data)
625-
{
626-
struct lm75_data *lm75 = data;
627-
628-
regulator_disable(lm75->vs);
629-
}
630-
631623
static void lm75_remove(void *data)
632624
{
633625
struct lm75_data *lm75 = data;
@@ -656,9 +648,9 @@ static int lm75_probe(struct i2c_client *client)
656648
data->client = client;
657649
data->kind = (uintptr_t)i2c_get_match_data(client);
658650

659-
data->vs = devm_regulator_get(dev, "vs");
660-
if (IS_ERR(data->vs))
661-
return PTR_ERR(data->vs);
651+
err = devm_regulator_get_enable(dev, "vs");
652+
if (err)
653+
return err;
662654

663655
data->regmap = devm_regmap_init(dev, &lm75_i2c_regmap_bus, data,
664656
&lm75_regmap_config);
@@ -675,17 +667,6 @@ static int lm75_probe(struct i2c_client *client)
675667
data->sample_time = data->params->default_sample_time;
676668
data->resolution = data->params->default_resolution;
677669

678-
/* Enable the power */
679-
err = regulator_enable(data->vs);
680-
if (err) {
681-
dev_err(dev, "failed to enable regulator: %d\n", err);
682-
return err;
683-
}
684-
685-
err = devm_add_action_or_reset(dev, lm75_disable_regulator, data);
686-
if (err)
687-
return err;
688-
689670
/* Cache original configuration */
690671
err = regmap_read(data->regmap, LM75_REG_CONF, &status);
691672
if (err)

0 commit comments

Comments
 (0)