@@ -908,21 +908,20 @@ static void genpd_queue_power_off_work(struct generic_pm_domain *genpd)
908
908
* If all of the @genpd's devices have been suspended and all of its subdomains
909
909
* have been powered down, remove power from @genpd.
910
910
*/
911
- static int genpd_power_off (struct generic_pm_domain * genpd , bool one_dev_on ,
912
- unsigned int depth )
911
+ static void genpd_power_off (struct generic_pm_domain * genpd , bool one_dev_on ,
912
+ unsigned int depth )
913
913
{
914
914
struct pm_domain_data * pdd ;
915
915
struct gpd_link * link ;
916
916
unsigned int not_suspended = 0 ;
917
- int ret ;
918
917
919
918
/*
920
919
* Do not try to power off the domain in the following situations:
921
920
* (1) The domain is already in the "power off" state.
922
921
* (2) System suspend is in progress.
923
922
*/
924
923
if (!genpd_status_on (genpd ) || genpd -> prepared_count > 0 )
925
- return 0 ;
924
+ return ;
926
925
927
926
/*
928
927
* Abort power off for the PM domain in the following situations:
@@ -932,7 +931,7 @@ static int genpd_power_off(struct generic_pm_domain *genpd, bool one_dev_on,
932
931
if (genpd_is_always_on (genpd ) ||
933
932
genpd_is_rpm_always_on (genpd ) ||
934
933
atomic_read (& genpd -> sd_count ) > 0 )
935
- return - EBUSY ;
934
+ return ;
936
935
937
936
/*
938
937
* The children must be in their deepest (powered-off) states to allow
@@ -943,7 +942,7 @@ static int genpd_power_off(struct generic_pm_domain *genpd, bool one_dev_on,
943
942
list_for_each_entry (link , & genpd -> parent_links , parent_node ) {
944
943
struct generic_pm_domain * child = link -> child ;
945
944
if (child -> state_idx < child -> state_count - 1 )
946
- return - EBUSY ;
945
+ return ;
947
946
}
948
947
949
948
list_for_each_entry (pdd , & genpd -> dev_list , list_node ) {
@@ -957,15 +956,15 @@ static int genpd_power_off(struct generic_pm_domain *genpd, bool one_dev_on,
957
956
958
957
/* The device may need its PM domain to stay powered on. */
959
958
if (to_gpd_data (pdd )-> rpm_always_on )
960
- return - EBUSY ;
959
+ return ;
961
960
}
962
961
963
962
if (not_suspended > 1 || (not_suspended == 1 && !one_dev_on ))
964
- return - EBUSY ;
963
+ return ;
965
964
966
965
if (genpd -> gov && genpd -> gov -> power_down_ok ) {
967
966
if (!genpd -> gov -> power_down_ok (& genpd -> domain ))
968
- return - EAGAIN ;
967
+ return ;
969
968
}
970
969
971
970
/* Default to shallowest state. */
@@ -974,12 +973,11 @@ static int genpd_power_off(struct generic_pm_domain *genpd, bool one_dev_on,
974
973
975
974
/* Don't power off, if a child domain is waiting to power on. */
976
975
if (atomic_read (& genpd -> sd_count ) > 0 )
977
- return - EBUSY ;
976
+ return ;
978
977
979
- ret = _genpd_power_off (genpd , true);
980
- if (ret ) {
978
+ if (_genpd_power_off (genpd , true)) {
981
979
genpd -> states [genpd -> state_idx ].rejected ++ ;
982
- return ret ;
980
+ return ;
983
981
}
984
982
985
983
genpd -> status = GENPD_STATE_OFF ;
@@ -992,8 +990,6 @@ static int genpd_power_off(struct generic_pm_domain *genpd, bool one_dev_on,
992
990
genpd_power_off (link -> parent , false, depth + 1 );
993
991
genpd_unlock (link -> parent );
994
992
}
995
-
996
- return 0 ;
997
993
}
998
994
999
995
/**
0 commit comments