diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c index 2e62d4c36c7f..f920468f26b9 100644 --- a/drivers/base/power/domain.c +++ b/drivers/base/power/domain.c @@ -423,46 +423,6 @@ int dev_pm_genpd_set_performance_state(struct device *dev, unsigned int state) } EXPORT_SYMBOL_GPL(dev_pm_genpd_set_performance_state); -/** - * dev_pm_genpd_set_next_wakeup - Notify PM framework of an impending wakeup. - * - * @dev: Device to handle - * @next: impending interrupt/wakeup for the device - * - * Allow devices to inform of the next wakeup. But, if the domain were already - * powered off, we will not wakeup the domain to recompute it's idle duration. - * Although devices are expected to update the next_wakeup after the end of - * their usecase as well, it is possible the devices themselves may not know - * about that. Stale @next will be ignored when powering off the domain. - */ -int dev_pm_genpd_set_next_wakeup(struct device *dev, ktime_t next) -{ - struct generic_pm_domain *genpd; - struct generic_pm_domain_data *gpd_data; - int ret = -EINVAL; - - genpd = dev_to_genpd_safe(dev); - if (!genpd) - return -ENODEV; - - if (WARN_ON(!dev->power.subsys_data || - !dev->power.subsys_data->domain_data)) - return ret; - - genpd_lock(genpd); - gpd_data = to_gpd_data(dev->power.subsys_data->domain_data); - if (ktime_before(ktime_get(), next)) { - gpd_data->next_wakeup = next; - genpd->flags |= GENPD_FLAG_GOV_NEXT_WAKEUP; - ret = 0; - } - genpd_unlock(genpd); - - return ret; -} -EXPORT_SYMBOL_GPL(dev_pm_genpd_set_next_wakeup); - - static int _genpd_power_on(struct generic_pm_domain *genpd, bool timed) { unsigned int state_idx = genpd->state_idx; @@ -1505,7 +1465,6 @@ static struct generic_pm_domain_data *genpd_alloc_dev_data(struct device *dev) gpd_data->td.constraint_changed = true; gpd_data->td.effective_constraint_ns = PM_QOS_RESUME_LATENCY_NO_CONSTRAINT_NS; gpd_data->nb.notifier_call = genpd_dev_pm_qos_notifier; - gpd_data->next_wakeup = KTIME_MAX; spin_lock_irq(&dev->power.lock); diff --git a/include/linux/pm_domain.h b/include/linux/pm_domain.h index 79b9c3ea5725..138c2704a3e0 100644 --- a/include/linux/pm_domain.h +++ b/include/linux/pm_domain.h @@ -9,7 +9,6 @@ #define _LINUX_PM_DOMAIN_H #include -#include #include #include #include @@ -198,7 +197,6 @@ struct generic_pm_domain_data { struct notifier_block *power_nb; int cpu; unsigned int performance_state; - ktime_t next_wakeup; void *data; }; @@ -231,7 +229,6 @@ int dev_pm_genpd_set_performance_state(struct device *dev, unsigned int state); int dev_pm_genpd_add_notifier(struct device *dev, struct notifier_block *nb); int dev_pm_genpd_remove_notifier(struct device *dev); void genpd_enable_next_wakeup(struct generic_pm_domain *genpd, bool enable); -int dev_pm_genpd_set_next_wakeup(struct device *dev, ktime_t next); extern struct dev_power_governor simple_qos_governor; extern struct dev_power_governor pm_domain_always_on_gov; @@ -294,11 +291,6 @@ static void genpd_enable_next_wakeup(struct generic_pm_domain *genpd, bool enable) { } -static inline int dev_pm_genpd_set_next_wakeup(struct device *dev, ktime_t next) -{ - return -EOPNOTSUPP; -} - #define simple_qos_governor (*(struct dev_power_governor *)(NULL)) #define pm_domain_always_on_gov (*(struct dev_power_governor *)(NULL)) #endif