@@ -1302,26 +1302,14 @@ static void clk_core_disable_unprepare(struct clk_core *core)
13021302 clk_core_unprepare_lock (core );
13031303}
13041304
1305- static void clk_unprepare_unused_subtree (struct clk_core * core ,
1306- struct device * dev )
1305+ static void __init clk_unprepare_unused_subtree (struct clk_core * core )
13071306{
1308- bool from_sync_state = !!dev ;
13091307 struct clk_core * child ;
13101308
13111309 lockdep_assert_held (& prepare_lock );
13121310
13131311 hlist_for_each_entry (child , & core -> children , child_node )
1314- clk_unprepare_unused_subtree (child , dev );
1315-
1316- if (from_sync_state && core -> dev != dev )
1317- return ;
1318-
1319- /*
1320- * clock will be unprepared on sync_state,
1321- * so leave as is for now
1322- */
1323- if (!from_sync_state && dev_has_sync_state (core -> dev ))
1324- return ;
1312+ clk_unprepare_unused_subtree (child );
13251313
13261314 if (core -> prepare_count )
13271315 return ;
@@ -1344,27 +1332,15 @@ static void clk_unprepare_unused_subtree(struct clk_core *core,
13441332 clk_pm_runtime_put (core );
13451333}
13461334
1347- static void clk_disable_unused_subtree (struct clk_core * core ,
1348- struct device * dev )
1335+ static void __init clk_disable_unused_subtree (struct clk_core * core )
13491336{
1350- bool from_sync_state = !!dev ;
13511337 struct clk_core * child ;
13521338 unsigned long flags ;
13531339
13541340 lockdep_assert_held (& prepare_lock );
13551341
13561342 hlist_for_each_entry (child , & core -> children , child_node )
1357- clk_disable_unused_subtree (child , dev );
1358-
1359- if (from_sync_state && core -> dev != dev )
1360- return ;
1361-
1362- /*
1363- * clock will be disabled on sync_state,
1364- * so leave as is for now
1365- */
1366- if (!from_sync_state && dev_has_sync_state (core -> dev ))
1367- return ;
1343+ clk_disable_unused_subtree (child );
13681344
13691345 if (core -> flags & CLK_OPS_PARENT_ENABLE )
13701346 clk_core_prepare_enable (core -> parent );
@@ -1402,54 +1378,43 @@ static void clk_disable_unused_subtree(struct clk_core *core,
14021378 clk_core_disable_unprepare (core -> parent );
14031379}
14041380
1405- static bool clk_ignore_unused ;
1381+ static bool clk_ignore_unused __initdata ;
14061382static int __init clk_ignore_unused_setup (char * __unused )
14071383{
14081384 clk_ignore_unused = true;
14091385 return 1 ;
14101386}
14111387__setup ("clk_ignore_unused" , clk_ignore_unused_setup );
14121388
1413- static void __clk_disable_unused ( struct device * dev )
1389+ static int __init clk_disable_unused ( void )
14141390{
14151391 struct clk_core * core ;
14161392
14171393 if (clk_ignore_unused ) {
14181394 pr_warn ("clk: Not disabling unused clocks\n" );
1419- return ;
1395+ return 0 ;
14201396 }
14211397
14221398 clk_prepare_lock ();
14231399
14241400 hlist_for_each_entry (core , & clk_root_list , child_node )
1425- clk_disable_unused_subtree (core , dev );
1401+ clk_disable_unused_subtree (core );
14261402
14271403 hlist_for_each_entry (core , & clk_orphan_list , child_node )
1428- clk_disable_unused_subtree (core , dev );
1404+ clk_disable_unused_subtree (core );
14291405
14301406 hlist_for_each_entry (core , & clk_root_list , child_node )
1431- clk_unprepare_unused_subtree (core , dev );
1407+ clk_unprepare_unused_subtree (core );
14321408
14331409 hlist_for_each_entry (core , & clk_orphan_list , child_node )
1434- clk_unprepare_unused_subtree (core , dev );
1410+ clk_unprepare_unused_subtree (core );
14351411
14361412 clk_prepare_unlock ();
1437- }
1438-
1439- static int __init clk_disable_unused (void )
1440- {
1441- __clk_disable_unused (NULL );
14421413
14431414 return 0 ;
14441415}
14451416late_initcall_sync (clk_disable_unused );
14461417
1447- void clk_sync_state_disable_unused (struct device * dev )
1448- {
1449- __clk_disable_unused (dev );
1450- }
1451- EXPORT_SYMBOL_GPL (clk_sync_state_disable_unused );
1452-
14531418static int clk_core_determine_round_nolock (struct clk_core * core ,
14541419 struct clk_rate_request * req )
14551420{
0 commit comments