@@ -592,20 +592,6 @@ static const struct axiadc_chip_info ad7768_4_conv_chip_info = {
592
592
593
593
static const unsigned long ad7768_available_scan_masks [] = { 0xFF , 0x00 };
594
594
595
- static void ad7768_reg_disable (void * data )
596
- {
597
- struct regulator * reg = data ;
598
-
599
- regulator_disable (reg );
600
- }
601
-
602
- static void ad7768_clk_disable (void * data )
603
- {
604
- struct clk * clk = data ;
605
-
606
- clk_disable_unprepare (clk );
607
- }
608
-
609
595
static int ad7768_datalines_from_dt (struct ad7768_state * st )
610
596
{
611
597
const unsigned int * available_datalines ;
@@ -816,33 +802,17 @@ static int ad7768_probe(struct spi_device *spi)
816
802
817
803
st = iio_priv (indio_dev );
818
804
819
- st -> chip_info = device_get_match_data (& spi -> dev );
820
- if (!st -> chip_info ) {
821
- st -> chip_info = (void * )spi_get_device_id (spi )-> driver_data ;
822
- if (!st -> chip_info )
823
- return PTR_ERR (st -> chip_info );
824
- }
825
-
826
- st -> vref = devm_regulator_get (& spi -> dev , "vref" );
827
- if (IS_ERR (st -> vref ))
828
- return PTR_ERR (st -> vref );
829
- ret = regulator_enable (st -> vref );
830
- if (ret )
831
- return ret ;
805
+ st -> chip_info = spi_get_device_match_data (spi );
806
+ if (!st -> chip_info )
807
+ return - ENODEV ;
832
808
833
- ret = devm_add_action_or_reset (& spi -> dev , ad7768_reg_disable , st -> vref );
809
+ ret = devm_regulator_get_enable (& spi -> dev , " vref" );
834
810
if (ret )
835
811
return ret ;
836
812
837
- st -> mclk = devm_clk_get (& spi -> dev , "mclk" );
813
+ st -> mclk = devm_clk_get_enabled (& spi -> dev , "mclk" );
838
814
if (IS_ERR (st -> mclk ))
839
815
return PTR_ERR (st -> mclk );
840
- ret = clk_prepare_enable (st -> mclk );
841
- if (ret < 0 )
842
- return ret ;
843
- ret = devm_add_action_or_reset (& spi -> dev , ad7768_clk_disable , st -> mclk );
844
- if (ret )
845
- return ret ;
846
816
847
817
st -> spi = spi ;
848
818
0 commit comments