@@ -157,7 +157,6 @@ enum soc_type {
157157 * @reference_voltage: reference voltage of amplifier
158158 * in the positive-TC generator block
159159 * 0 < reference_voltage <= 31
160- * @regulator: pointer to the TMU regulator structure.
161160 * @tzd: pointer to thermal_zone_device structure
162161 * @ntrip: number of supported trip points.
163162 * @enabled: current status of TMU device
@@ -183,7 +182,6 @@ struct exynos_tmu_data {
183182 u16 temp_error1 , temp_error2 ;
184183 u8 gain ;
185184 u8 reference_voltage ;
186- struct regulator * regulator ;
187185 struct thermal_zone_device * tzd ;
188186 unsigned int ntrip ;
189187 bool enabled ;
@@ -994,50 +992,40 @@ static int exynos_tmu_probe(struct platform_device *pdev)
994992 * TODO: Add regulator as an SOC feature, so that regulator enable
995993 * is a compulsory call.
996994 */
997- data -> regulator = devm_regulator_get_optional (& pdev -> dev , "vtmu" );
998- if (!IS_ERR (data -> regulator )) {
999- ret = regulator_enable (data -> regulator );
1000- if (ret ) {
1001- dev_err (& pdev -> dev , "failed to enable vtmu\n" );
1002- return ret ;
1003- }
1004- } else {
1005- ret = PTR_ERR (data -> regulator );
1006- switch (ret ) {
1007- case - ENODEV :
1008- break ;
1009- case - EPROBE_DEFER :
1010- return - EPROBE_DEFER ;
1011- default :
1012- dev_err (& pdev -> dev , "Failed to get regulator: %d\n" ,
1013- ret );
1014- return ret ;
1015- }
995+ ret = devm_regulator_get_enable_optional (& pdev -> dev , "vtmu" );
996+ switch (ret ) {
997+ case 0 :
998+ case - ENODEV :
999+ break ;
1000+ case - EPROBE_DEFER :
1001+ return - EPROBE_DEFER ;
1002+ default :
1003+ dev_err (& pdev -> dev , "Failed to get enabled regulator: %d\n" ,
1004+ ret );
1005+ return ret ;
10161006 }
10171007
10181008 ret = exynos_map_dt_data (pdev );
10191009 if (ret )
1020- goto err_sensor ;
1010+ return ret ;
10211011
10221012 data -> clk = devm_clk_get (& pdev -> dev , "tmu_apbif" );
10231013 if (IS_ERR (data -> clk )) {
10241014 dev_err (& pdev -> dev , "Failed to get clock\n" );
1025- ret = PTR_ERR (data -> clk );
1026- goto err_sensor ;
1015+ return PTR_ERR (data -> clk );
10271016 }
10281017
10291018 data -> clk_sec = devm_clk_get (& pdev -> dev , "tmu_triminfo_apbif" );
10301019 if (IS_ERR (data -> clk_sec )) {
10311020 if (data -> soc == SOC_ARCH_EXYNOS5420_TRIMINFO ) {
10321021 dev_err (& pdev -> dev , "Failed to get triminfo clock\n" );
1033- ret = PTR_ERR (data -> clk_sec );
1034- goto err_sensor ;
1022+ return PTR_ERR (data -> clk_sec );
10351023 }
10361024 } else {
10371025 ret = clk_prepare (data -> clk_sec );
10381026 if (ret ) {
10391027 dev_err (& pdev -> dev , "Failed to get clock\n" );
1040- goto err_sensor ;
1028+ return ret ;
10411029 }
10421030 }
10431031
@@ -1107,10 +1095,6 @@ static int exynos_tmu_probe(struct platform_device *pdev)
11071095err_clk_sec :
11081096 if (!IS_ERR (data -> clk_sec ))
11091097 clk_unprepare (data -> clk_sec );
1110- err_sensor :
1111- if (!IS_ERR (data -> regulator ))
1112- regulator_disable (data -> regulator );
1113-
11141098 return ret ;
11151099}
11161100
@@ -1124,9 +1108,6 @@ static void exynos_tmu_remove(struct platform_device *pdev)
11241108 clk_unprepare (data -> clk );
11251109 if (!IS_ERR (data -> clk_sec ))
11261110 clk_unprepare (data -> clk_sec );
1127-
1128- if (!IS_ERR (data -> regulator ))
1129- regulator_disable (data -> regulator );
11301111}
11311112
11321113#ifdef CONFIG_PM_SLEEP
0 commit comments