@@ -309,9 +309,9 @@ EXPORT_SYMBOL_GPL(dev_pm_opp_is_turbo);
309309 */
310310unsigned long dev_pm_opp_get_max_clock_latency (struct device * dev )
311311{
312- struct opp_table * opp_table __free (put_opp_table );
312+ struct opp_table * opp_table __free (put_opp_table ) =
313+ _find_opp_table (dev );
313314
314- opp_table = _find_opp_table (dev );
315315 if (IS_ERR (opp_table ))
316316 return 0 ;
317317
@@ -327,7 +327,6 @@ EXPORT_SYMBOL_GPL(dev_pm_opp_get_max_clock_latency);
327327 */
328328unsigned long dev_pm_opp_get_max_volt_latency (struct device * dev )
329329{
330- struct opp_table * opp_table __free (put_opp_table );
331330 struct dev_pm_opp * opp ;
332331 struct regulator * reg ;
333332 unsigned long latency_ns = 0 ;
@@ -337,7 +336,9 @@ unsigned long dev_pm_opp_get_max_volt_latency(struct device *dev)
337336 unsigned long max ;
338337 } * uV ;
339338
340- opp_table = _find_opp_table (dev );
339+ struct opp_table * opp_table __free (put_opp_table ) =
340+ _find_opp_table (dev );
341+
341342 if (IS_ERR (opp_table ))
342343 return 0 ;
343344
@@ -409,10 +410,11 @@ EXPORT_SYMBOL_GPL(dev_pm_opp_get_max_transition_latency);
409410 */
410411unsigned long dev_pm_opp_get_suspend_opp_freq (struct device * dev )
411412{
412- struct opp_table * opp_table __free (put_opp_table );
413413 unsigned long freq = 0 ;
414414
415- opp_table = _find_opp_table (dev );
415+ struct opp_table * opp_table __free (put_opp_table ) =
416+ _find_opp_table (dev );
417+
416418 if (IS_ERR (opp_table ))
417419 return 0 ;
418420
@@ -447,9 +449,9 @@ int _get_opp_count(struct opp_table *opp_table)
447449 */
448450int dev_pm_opp_get_opp_count (struct device * dev )
449451{
450- struct opp_table * opp_table __free (put_opp_table );
452+ struct opp_table * opp_table __free (put_opp_table ) =
453+ _find_opp_table (dev );
451454
452- opp_table = _find_opp_table (dev );
453455 if (IS_ERR (opp_table )) {
454456 dev_dbg (dev , "%s: OPP table not found (%ld)\n" ,
455457 __func__ , PTR_ERR (opp_table ));
@@ -605,9 +607,9 @@ _find_key(struct device *dev, unsigned long *key, int index, bool available,
605607 unsigned long opp_key , unsigned long key ),
606608 bool (* assert )(struct opp_table * opp_table , unsigned int index ))
607609{
608- struct opp_table * opp_table __free (put_opp_table );
610+ struct opp_table * opp_table __free (put_opp_table ) =
611+ _find_opp_table (dev );
609612
610- opp_table = _find_opp_table (dev );
611613 if (IS_ERR (opp_table )) {
612614 dev_err (dev , "%s: OPP table not found (%ld)\n" , __func__ ,
613615 PTR_ERR (opp_table ));
@@ -1410,12 +1412,13 @@ static int _set_opp(struct device *dev, struct opp_table *opp_table,
14101412 */
14111413int dev_pm_opp_set_rate (struct device * dev , unsigned long target_freq )
14121414{
1413- struct opp_table * opp_table __free (put_opp_table );
14141415 struct dev_pm_opp * opp __free (put_opp ) = NULL ;
14151416 unsigned long freq = 0 , temp_freq ;
14161417 bool forced = false;
14171418
1418- opp_table = _find_opp_table (dev );
1419+ struct opp_table * opp_table __free (put_opp_table ) =
1420+ _find_opp_table (dev );
1421+
14191422 if (IS_ERR (opp_table )) {
14201423 dev_err (dev , "%s: device's opp table doesn't exist\n" , __func__ );
14211424 return PTR_ERR (opp_table );
@@ -1477,9 +1480,9 @@ EXPORT_SYMBOL_GPL(dev_pm_opp_set_rate);
14771480 */
14781481int dev_pm_opp_set_opp (struct device * dev , struct dev_pm_opp * opp )
14791482{
1480- struct opp_table * opp_table __free (put_opp_table );
1483+ struct opp_table * opp_table __free (put_opp_table ) =
1484+ _find_opp_table (dev );
14811485
1482- opp_table = _find_opp_table (dev );
14831486 if (IS_ERR (opp_table )) {
14841487 dev_err (dev , "%s: device opp doesn't exist\n" , __func__ );
14851488 return PTR_ERR (opp_table );
@@ -1794,10 +1797,11 @@ EXPORT_SYMBOL_GPL(dev_pm_opp_put);
17941797 */
17951798void dev_pm_opp_remove (struct device * dev , unsigned long freq )
17961799{
1797- struct opp_table * opp_table __free (put_opp_table );
17981800 struct dev_pm_opp * opp = NULL , * iter ;
17991801
1800- opp_table = _find_opp_table (dev );
1802+ struct opp_table * opp_table __free (put_opp_table ) =
1803+ _find_opp_table (dev );
1804+
18011805 if (IS_ERR (opp_table ))
18021806 return ;
18031807
@@ -1885,9 +1889,9 @@ bool _opp_remove_all_static(struct opp_table *opp_table)
18851889 */
18861890void dev_pm_opp_remove_all_dynamic (struct device * dev )
18871891{
1888- struct opp_table * opp_table __free (put_opp_table );
1892+ struct opp_table * opp_table __free (put_opp_table ) =
1893+ _find_opp_table (dev );
18891894
1890- opp_table = _find_opp_table (dev );
18911895 if (IS_ERR (opp_table ))
18921896 return ;
18931897
@@ -2871,10 +2875,11 @@ static int _opp_set_availability(struct device *dev, unsigned long freq,
28712875 bool availability_req )
28722876{
28732877 struct dev_pm_opp * opp __free (put_opp ) = ERR_PTR (- ENODEV ), * tmp_opp ;
2874- struct opp_table * opp_table __free (put_opp_table );
28752878
28762879 /* Find the opp_table */
2877- opp_table = _find_opp_table (dev );
2880+ struct opp_table * opp_table __free (put_opp_table ) =
2881+ _find_opp_table (dev );
2882+
28782883 if (IS_ERR (opp_table )) {
28792884 dev_warn (dev , "%s: Device OPP not found (%ld)\n" , __func__ ,
28802885 PTR_ERR (opp_table ));
@@ -2932,11 +2937,12 @@ int dev_pm_opp_adjust_voltage(struct device *dev, unsigned long freq,
29322937
29332938{
29342939 struct dev_pm_opp * opp __free (put_opp ) = ERR_PTR (- ENODEV ), * tmp_opp ;
2935- struct opp_table * opp_table __free (put_opp_table );
29362940 int r ;
29372941
29382942 /* Find the opp_table */
2939- opp_table = _find_opp_table (dev );
2943+ struct opp_table * opp_table __free (put_opp_table ) =
2944+ _find_opp_table (dev );
2945+
29402946 if (IS_ERR (opp_table )) {
29412947 r = PTR_ERR (opp_table );
29422948 dev_warn (dev , "%s: Device OPP not found (%d)\n" , __func__ , r );
@@ -2986,12 +2992,13 @@ EXPORT_SYMBOL_GPL(dev_pm_opp_adjust_voltage);
29862992 */
29872993int dev_pm_opp_sync_regulators (struct device * dev )
29882994{
2989- struct opp_table * opp_table __free (put_opp_table );
29902995 struct regulator * reg ;
29912996 int ret , i ;
29922997
29932998 /* Device may not have OPP table */
2994- opp_table = _find_opp_table (dev );
2999+ struct opp_table * opp_table __free (put_opp_table ) =
3000+ _find_opp_table (dev );
3001+
29953002 if (IS_ERR (opp_table ))
29963003 return 0 ;
29973004
@@ -3062,9 +3069,9 @@ EXPORT_SYMBOL_GPL(dev_pm_opp_disable);
30623069 */
30633070int dev_pm_opp_register_notifier (struct device * dev , struct notifier_block * nb )
30643071{
3065- struct opp_table * opp_table __free (put_opp_table );
3072+ struct opp_table * opp_table __free (put_opp_table ) =
3073+ _find_opp_table (dev );
30663074
3067- opp_table = _find_opp_table (dev );
30683075 if (IS_ERR (opp_table ))
30693076 return PTR_ERR (opp_table );
30703077
@@ -3082,9 +3089,9 @@ EXPORT_SYMBOL(dev_pm_opp_register_notifier);
30823089int dev_pm_opp_unregister_notifier (struct device * dev ,
30833090 struct notifier_block * nb )
30843091{
3085- struct opp_table * opp_table __free (put_opp_table );
3092+ struct opp_table * opp_table __free (put_opp_table ) =
3093+ _find_opp_table (dev );
30863094
3087- opp_table = _find_opp_table (dev );
30883095 if (IS_ERR (opp_table ))
30893096 return PTR_ERR (opp_table );
30903097
@@ -3101,10 +3108,10 @@ EXPORT_SYMBOL(dev_pm_opp_unregister_notifier);
31013108 */
31023109void dev_pm_opp_remove_table (struct device * dev )
31033110{
3104- struct opp_table * opp_table __free (put_opp_table );
3105-
31063111 /* Check for existing table for 'dev' */
3107- opp_table = _find_opp_table (dev );
3112+ struct opp_table * opp_table __free (put_opp_table ) =
3113+ _find_opp_table (dev );
3114+
31083115 if (IS_ERR (opp_table )) {
31093116 int error = PTR_ERR (opp_table );
31103117
0 commit comments