summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorChanwoo Choi <cw00.choi@samsung.com>2014-05-09 16:43:08 +0900
committerMyungJoo Ham <myungjoo.ham@samsung.com>2014-05-24 22:33:38 +0900
commit8cd84092d35e52372da2c3c3c2afb1a719917af2 (patch)
treeccb37cbe9e233257050288dbae74c6b3d914b55f /include
parent585fc83ece43be63d5775e536f855db33dd752cf (diff)
downloadlinux-8cd84092d35e52372da2c3c3c2afb1a719917af2.tar.gz
linux-8cd84092d35e52372da2c3c3c2afb1a719917af2.tar.bz2
linux-8cd84092d35e52372da2c3c3c2afb1a719917af2.zip
PM / devfreq: Add resource-managed function for devfreq device
This patch add resource-managed function for devfreq device as following functions. The devm_devfreq_add_device() manages automatically the memory of devfreq device using device resource management. - devm_devfreq_add_device() - devm_devfreq_remove_device() Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/devfreq.h21
1 files changed, 20 insertions, 1 deletions
diff --git a/include/linux/devfreq.h b/include/linux/devfreq.h
index d48dc00232a4..023d668a2cb5 100644
--- a/include/linux/devfreq.h
+++ b/include/linux/devfreq.h
@@ -181,6 +181,12 @@ extern struct devfreq *devfreq_add_device(struct device *dev,
const char *governor_name,
void *data);
extern int devfreq_remove_device(struct devfreq *devfreq);
+extern struct devfreq *devm_devfreq_add_device(struct device *dev,
+ struct devfreq_dev_profile *profile,
+ const char *governor_name,
+ void *data);
+extern void devm_devfreq_remove_device(struct device *dev,
+ struct devfreq *devfreq);
/* Supposed to be called by PM_SLEEP/PM_RUNTIME callbacks */
extern int devfreq_suspend_device(struct devfreq *devfreq);
@@ -220,7 +226,7 @@ static inline struct devfreq *devfreq_add_device(struct device *dev,
const char *governor_name,
void *data)
{
- return NULL;
+ return ERR_PTR(-ENOSYS);
}
static inline int devfreq_remove_device(struct devfreq *devfreq)
@@ -228,6 +234,19 @@ static inline int devfreq_remove_device(struct devfreq *devfreq)
return 0;
}
+static inline struct devfreq *devm_devfreq_add_device(struct device *dev,
+ struct devfreq_dev_profile *profile,
+ const char *governor_name,
+ void *data)
+{
+ return ERR_PTR(-ENOSYS);
+}
+
+static inline void devm_devfreq_remove_device(struct device *dev,
+ struct devfreq *devfreq)
+{
+}
+
static inline int devfreq_suspend_device(struct devfreq *devfreq)
{
return 0;