@@ -109,7 +109,6 @@ static const unsigned short normal_i2c[] = { 0x48, 0x49, 0x4a, 0x4b, 0x4c,
109
109
struct lm75_data {
110
110
struct i2c_client * client ;
111
111
struct regmap * regmap ;
112
- struct regulator * vs ;
113
112
u16 orig_conf ;
114
113
u8 resolution ; /* In bits, 9 to 16 */
115
114
unsigned int sample_time ; /* In ms */
@@ -621,13 +620,6 @@ static const struct regmap_bus lm75_i2c_regmap_bus = {
621
620
.reg_write = lm75_i2c_reg_write ,
622
621
};
623
622
624
- static void lm75_disable_regulator (void * data )
625
- {
626
- struct lm75_data * lm75 = data ;
627
-
628
- regulator_disable (lm75 -> vs );
629
- }
630
-
631
623
static void lm75_remove (void * data )
632
624
{
633
625
struct lm75_data * lm75 = data ;
@@ -656,9 +648,9 @@ static int lm75_probe(struct i2c_client *client)
656
648
data -> client = client ;
657
649
data -> kind = (uintptr_t )i2c_get_match_data (client );
658
650
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 ;
662
654
663
655
data -> regmap = devm_regmap_init (dev , & lm75_i2c_regmap_bus , data ,
664
656
& lm75_regmap_config );
@@ -675,17 +667,6 @@ static int lm75_probe(struct i2c_client *client)
675
667
data -> sample_time = data -> params -> default_sample_time ;
676
668
data -> resolution = data -> params -> default_resolution ;
677
669
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
-
689
670
/* Cache original configuration */
690
671
err = regmap_read (data -> regmap , LM75_REG_CONF , & status );
691
672
if (err )
0 commit comments