Loading drivers/devfreq/devfreq.c +26 −0 Original line number Diff line number Diff line Loading @@ -1301,6 +1301,32 @@ int devfreq_add_governor(struct devfreq_governor *governor) } EXPORT_SYMBOL(devfreq_add_governor); static void devm_devfreq_remove_governor(void *governor) { WARN_ON(devfreq_remove_governor(governor)); } /** * devm_devfreq_add_governor() - Add devfreq governor * @dev: device which adds devfreq governor * @governor: the devfreq governor to be added * * This is a resource-managed variant of devfreq_add_governor(). */ int devm_devfreq_add_governor(struct device *dev, struct devfreq_governor *governor) { int err; err = devfreq_add_governor(governor); if (err) return err; return devm_add_action_or_reset(dev, devm_devfreq_remove_governor, governor); } EXPORT_SYMBOL(devm_devfreq_add_governor); /** * devfreq_remove_governor() - Remove devfreq feature from a device. * @governor: the devfreq governor to be removed Loading drivers/devfreq/governor.h +3 −0 Original line number Diff line number Diff line Loading @@ -84,6 +84,9 @@ void devfreq_update_interval(struct devfreq *devfreq, unsigned int *delay); int devfreq_add_governor(struct devfreq_governor *governor); int devfreq_remove_governor(struct devfreq_governor *governor); int devm_devfreq_add_governor(struct device *dev, struct devfreq_governor *governor); int devfreq_update_status(struct devfreq *devfreq, unsigned long freq); int devfreq_update_target(struct devfreq *devfreq, unsigned long freq); Loading Loading
drivers/devfreq/devfreq.c +26 −0 Original line number Diff line number Diff line Loading @@ -1301,6 +1301,32 @@ int devfreq_add_governor(struct devfreq_governor *governor) } EXPORT_SYMBOL(devfreq_add_governor); static void devm_devfreq_remove_governor(void *governor) { WARN_ON(devfreq_remove_governor(governor)); } /** * devm_devfreq_add_governor() - Add devfreq governor * @dev: device which adds devfreq governor * @governor: the devfreq governor to be added * * This is a resource-managed variant of devfreq_add_governor(). */ int devm_devfreq_add_governor(struct device *dev, struct devfreq_governor *governor) { int err; err = devfreq_add_governor(governor); if (err) return err; return devm_add_action_or_reset(dev, devm_devfreq_remove_governor, governor); } EXPORT_SYMBOL(devm_devfreq_add_governor); /** * devfreq_remove_governor() - Remove devfreq feature from a device. * @governor: the devfreq governor to be removed Loading
drivers/devfreq/governor.h +3 −0 Original line number Diff line number Diff line Loading @@ -84,6 +84,9 @@ void devfreq_update_interval(struct devfreq *devfreq, unsigned int *delay); int devfreq_add_governor(struct devfreq_governor *governor); int devfreq_remove_governor(struct devfreq_governor *governor); int devm_devfreq_add_governor(struct device *dev, struct devfreq_governor *governor); int devfreq_update_status(struct devfreq *devfreq, unsigned long freq); int devfreq_update_target(struct devfreq *devfreq, unsigned long freq); Loading