ARM / shmobile: Use genpd_queue_power_off_work()
Make pd_power_down_a3rv() use genpd_queue_power_off_work() to queue up the powering off of the A4LC domain to avoid queuing it up when it is pending. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Acked-by: Magnus Damm <damm@opensource.se>wifi-calibration
parent
796204142a
commit
0bc5b2debb
|
@ -107,7 +107,7 @@ static int pd_power_down_a3rv(struct generic_pm_domain *genpd)
|
||||||
|
|
||||||
/* try to power down A4LC after A3RV is requested off */
|
/* try to power down A4LC after A3RV is requested off */
|
||||||
pm_genpd_poweron(&sh7372_a4lc.genpd);
|
pm_genpd_poweron(&sh7372_a4lc.genpd);
|
||||||
queue_work(pm_wq, &sh7372_a4lc.genpd.power_off_work);
|
genpd_queue_power_off_work(&sh7372_a4lc.genpd);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
|
@ -222,7 +222,7 @@ static bool genpd_abort_poweroff(struct generic_pm_domain *genpd)
|
||||||
* Queue up the execution of pm_genpd_poweroff() unless it's already been done
|
* Queue up the execution of pm_genpd_poweroff() unless it's already been done
|
||||||
* before.
|
* before.
|
||||||
*/
|
*/
|
||||||
static void genpd_queue_power_off_work(struct generic_pm_domain *genpd)
|
void genpd_queue_power_off_work(struct generic_pm_domain *genpd)
|
||||||
{
|
{
|
||||||
if (!work_pending(&genpd->power_off_work))
|
if (!work_pending(&genpd->power_off_work))
|
||||||
queue_work(pm_wq, &genpd->power_off_work);
|
queue_work(pm_wq, &genpd->power_off_work);
|
||||||
|
|
|
@ -73,6 +73,7 @@ extern void pm_genpd_init(struct generic_pm_domain *genpd,
|
||||||
struct dev_power_governor *gov, bool is_off);
|
struct dev_power_governor *gov, bool is_off);
|
||||||
extern int pm_genpd_poweron(struct generic_pm_domain *genpd);
|
extern int pm_genpd_poweron(struct generic_pm_domain *genpd);
|
||||||
extern void pm_genpd_poweroff_unused(void);
|
extern void pm_genpd_poweroff_unused(void);
|
||||||
|
extern void genpd_queue_power_off_work(struct generic_pm_domain *genpd);
|
||||||
#else
|
#else
|
||||||
static inline int pm_genpd_add_device(struct generic_pm_domain *genpd,
|
static inline int pm_genpd_add_device(struct generic_pm_domain *genpd,
|
||||||
struct device *dev)
|
struct device *dev)
|
||||||
|
@ -101,6 +102,7 @@ static inline int pm_genpd_poweron(struct generic_pm_domain *genpd)
|
||||||
return -ENOSYS;
|
return -ENOSYS;
|
||||||
}
|
}
|
||||||
static inline void pm_genpd_poweroff_unused(void) {}
|
static inline void pm_genpd_poweroff_unused(void) {}
|
||||||
|
static inline void genpd_queue_power_off_work(struct generic_pm_domain *gpd) {}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* _LINUX_PM_DOMAIN_H */
|
#endif /* _LINUX_PM_DOMAIN_H */
|
||||||
|
|
Loading…
Reference in New Issue