* [PATCH 31/31] PM / devfreq: convert to devm_pm_opp_register_notifier and remove unused API
@ 2021-01-03 3:57 ` Yangtao Li
0 siblings, 0 replies; 7+ messages in thread
From: Yangtao Li @ 2021-01-03 3:57 UTC (permalink / raw)
To: myungjoo.ham, kyungmin.park, cw00.choi, krzk, shawnguo, s.hauer,
kernel, festevam, linux-imx, digetx, thierry.reding, jonathanh,
yuq825, airlied, daniel, robdclark, sean, robh, tomeu.vizoso,
steven.price, alyssa.rosenzweig, stanimir.varbanov, agross,
bjorn.andersson, mchehab, lukasz.luba, adrian.hunter, ulf.hansson,
vireshk, nm, sboyd, broonie, gregkh, jirislaby, rjw, jcrouse,
hoegsberg, eric, tzimmermann, marijn.suijten, gustavoars,
emil.velikov, jonathan, akhilpo, smasetty, airlied, masneyb,
kalyan_t, tanmay, tiny.windzz, ddavenport, jsanka, rnayak,
tongtiangen, miaoqinglang, khsieh, abhinavk, chandanu, groeck,
varar, mka, harigovi, rikard.falkeborn, natechancellor,
georgi.djakov, akashast, parashar, dianders
Cc: linux-pm, linux-kernel, linux-samsung-soc, linux-arm-kernel,
linux-tegra, dri-devel, lima, linux-arm-msm, freedreno,
linux-media, linux-mmc, linux-spi, linux-serial
Use devm_pm_opp_* API to simplify code.
Signed-off-by: Yangtao Li <tiny.windzz@gmail.com>
---
drivers/devfreq/devfreq.c | 66 +--------------------------------------
include/linux/devfreq.h | 23 --------------
2 files changed, 1 insertion(+), 88 deletions(-)
diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c
index 6aa10de792b3..f593f30529ec 100644
--- a/drivers/devfreq/devfreq.c
+++ b/drivers/devfreq/devfreq.c
@@ -2004,40 +2004,6 @@ struct dev_pm_opp *devfreq_recommended_opp(struct device *dev,
}
EXPORT_SYMBOL(devfreq_recommended_opp);
-/**
- * devfreq_register_opp_notifier() - Helper function to get devfreq notified
- * for any changes in the OPP availability
- * changes
- * @dev: The devfreq user device. (parent of devfreq)
- * @devfreq: The devfreq object.
- */
-int devfreq_register_opp_notifier(struct device *dev, struct devfreq *devfreq)
-{
- return dev_pm_opp_register_notifier(dev, &devfreq->nb);
-}
-EXPORT_SYMBOL(devfreq_register_opp_notifier);
-
-/**
- * devfreq_unregister_opp_notifier() - Helper function to stop getting devfreq
- * notified for any changes in the OPP
- * availability changes anymore.
- * @dev: The devfreq user device. (parent of devfreq)
- * @devfreq: The devfreq object.
- *
- * At exit() callback of devfreq_dev_profile, this must be included if
- * devfreq_recommended_opp is used.
- */
-int devfreq_unregister_opp_notifier(struct device *dev, struct devfreq *devfreq)
-{
- return dev_pm_opp_unregister_notifier(dev, &devfreq->nb);
-}
-EXPORT_SYMBOL(devfreq_unregister_opp_notifier);
-
-static void devm_devfreq_opp_release(struct device *dev, void *res)
-{
- devfreq_unregister_opp_notifier(dev, *(struct devfreq **)res);
-}
-
/**
* devm_devfreq_register_opp_notifier() - Resource-managed
* devfreq_register_opp_notifier()
@@ -2047,40 +2013,10 @@ static void devm_devfreq_opp_release(struct device *dev, void *res)
int devm_devfreq_register_opp_notifier(struct device *dev,
struct devfreq *devfreq)
{
- struct devfreq **ptr;
- int ret;
-
- ptr = devres_alloc(devm_devfreq_opp_release, sizeof(*ptr), GFP_KERNEL);
- if (!ptr)
- return -ENOMEM;
-
- ret = devfreq_register_opp_notifier(dev, devfreq);
- if (ret) {
- devres_free(ptr);
- return ret;
- }
-
- *ptr = devfreq;
- devres_add(dev, ptr);
-
- return 0;
+ return devm_pm_opp_register_notifier(dev, &devfreq->nb);
}
EXPORT_SYMBOL(devm_devfreq_register_opp_notifier);
-/**
- * devm_devfreq_unregister_opp_notifier() - Resource-managed
- * devfreq_unregister_opp_notifier()
- * @dev: The devfreq user device. (parent of devfreq)
- * @devfreq: The devfreq object.
- */
-void devm_devfreq_unregister_opp_notifier(struct device *dev,
- struct devfreq *devfreq)
-{
- WARN_ON(devres_release(dev, devm_devfreq_opp_release,
- devm_devfreq_dev_match, devfreq));
-}
-EXPORT_SYMBOL(devm_devfreq_unregister_opp_notifier);
-
/**
* devfreq_register_notifier() - Register a driver with devfreq
* @devfreq: The devfreq object.
diff --git a/include/linux/devfreq.h b/include/linux/devfreq.h
index b6d3bae1c74d..aca2cc4f4fa4 100644
--- a/include/linux/devfreq.h
+++ b/include/linux/devfreq.h
@@ -230,14 +230,8 @@ int update_devfreq(struct devfreq *devfreq);
/* Helper functions for devfreq user device driver with OPP. */
struct dev_pm_opp *devfreq_recommended_opp(struct device *dev,
unsigned long *freq, u32 flags);
-int devfreq_register_opp_notifier(struct device *dev,
- struct devfreq *devfreq);
-int devfreq_unregister_opp_notifier(struct device *dev,
- struct devfreq *devfreq);
int devm_devfreq_register_opp_notifier(struct device *dev,
struct devfreq *devfreq);
-void devm_devfreq_unregister_opp_notifier(struct device *dev,
- struct devfreq *devfreq);
int devfreq_register_notifier(struct devfreq *devfreq,
struct notifier_block *nb,
unsigned int list);
@@ -355,29 +349,12 @@ static inline struct dev_pm_opp *devfreq_recommended_opp(struct device *dev,
return ERR_PTR(-EINVAL);
}
-static inline int devfreq_register_opp_notifier(struct device *dev,
- struct devfreq *devfreq)
-{
- return -EINVAL;
-}
-
-static inline int devfreq_unregister_opp_notifier(struct device *dev,
- struct devfreq *devfreq)
-{
- return -EINVAL;
-}
-
static inline int devm_devfreq_register_opp_notifier(struct device *dev,
struct devfreq *devfreq)
{
return -EINVAL;
}
-static inline void devm_devfreq_unregister_opp_notifier(struct device *dev,
- struct devfreq *devfreq)
-{
-}
-
static inline int devfreq_register_notifier(struct devfreq *devfreq,
struct notifier_block *nb,
unsigned int list)
--
2.25.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 31/31] PM / devfreq: convert to devm_pm_opp_register_notifier and remove unused API
@ 2021-01-03 3:57 ` Yangtao Li
0 siblings, 0 replies; 7+ messages in thread
From: Yangtao Li @ 2021-01-03 3:57 UTC (permalink / raw)
To: myungjoo.ham, kyungmin.park, cw00.choi, krzk, shawnguo, s.hauer,
kernel, festevam, linux-imx, digetx, thierry.reding, jonathanh,
yuq825, airlied, daniel, robdclark, sean, robh, tomeu.vizoso,
steven.price, alyssa.rosenzweig, stanimir.varbanov, agross,
bjorn.andersson, mchehab, lukasz.luba, adrian.hunter, ulf.hansson,
vireshk, nm, sboyd, broonie, gregkh, jirislaby, rjw, jcrouse,
hoegsberg, eric, tzimmermann, marijn.suijten, gustavoars,
emil.velikov, jonathan, akhilpo, smasetty, airlied, masneyb,
kalyan_t, tanmay, tiny.windzz, ddavenport, jsanka, rnayak,
tongtiangen, miaoqinglang, khsieh, abhinavk, chandanu, groeck,
varar, mka, harigovi, rikard.falkeborn, natechancellor,
georgi.djakov, akashast, parashar, dianders
Cc: linux-samsung-soc, lima, linux-pm, linux-arm-msm, linux-mmc,
linux-kernel, dri-devel, linux-spi, linux-serial, linux-tegra,
freedreno, linux-arm-kernel, linux-media
Use devm_pm_opp_* API to simplify code.
Signed-off-by: Yangtao Li <tiny.windzz@gmail.com>
---
drivers/devfreq/devfreq.c | 66 +--------------------------------------
include/linux/devfreq.h | 23 --------------
2 files changed, 1 insertion(+), 88 deletions(-)
diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c
index 6aa10de792b3..f593f30529ec 100644
--- a/drivers/devfreq/devfreq.c
+++ b/drivers/devfreq/devfreq.c
@@ -2004,40 +2004,6 @@ struct dev_pm_opp *devfreq_recommended_opp(struct device *dev,
}
EXPORT_SYMBOL(devfreq_recommended_opp);
-/**
- * devfreq_register_opp_notifier() - Helper function to get devfreq notified
- * for any changes in the OPP availability
- * changes
- * @dev: The devfreq user device. (parent of devfreq)
- * @devfreq: The devfreq object.
- */
-int devfreq_register_opp_notifier(struct device *dev, struct devfreq *devfreq)
-{
- return dev_pm_opp_register_notifier(dev, &devfreq->nb);
-}
-EXPORT_SYMBOL(devfreq_register_opp_notifier);
-
-/**
- * devfreq_unregister_opp_notifier() - Helper function to stop getting devfreq
- * notified for any changes in the OPP
- * availability changes anymore.
- * @dev: The devfreq user device. (parent of devfreq)
- * @devfreq: The devfreq object.
- *
- * At exit() callback of devfreq_dev_profile, this must be included if
- * devfreq_recommended_opp is used.
- */
-int devfreq_unregister_opp_notifier(struct device *dev, struct devfreq *devfreq)
-{
- return dev_pm_opp_unregister_notifier(dev, &devfreq->nb);
-}
-EXPORT_SYMBOL(devfreq_unregister_opp_notifier);
-
-static void devm_devfreq_opp_release(struct device *dev, void *res)
-{
- devfreq_unregister_opp_notifier(dev, *(struct devfreq **)res);
-}
-
/**
* devm_devfreq_register_opp_notifier() - Resource-managed
* devfreq_register_opp_notifier()
@@ -2047,40 +2013,10 @@ static void devm_devfreq_opp_release(struct device *dev, void *res)
int devm_devfreq_register_opp_notifier(struct device *dev,
struct devfreq *devfreq)
{
- struct devfreq **ptr;
- int ret;
-
- ptr = devres_alloc(devm_devfreq_opp_release, sizeof(*ptr), GFP_KERNEL);
- if (!ptr)
- return -ENOMEM;
-
- ret = devfreq_register_opp_notifier(dev, devfreq);
- if (ret) {
- devres_free(ptr);
- return ret;
- }
-
- *ptr = devfreq;
- devres_add(dev, ptr);
-
- return 0;
+ return devm_pm_opp_register_notifier(dev, &devfreq->nb);
}
EXPORT_SYMBOL(devm_devfreq_register_opp_notifier);
-/**
- * devm_devfreq_unregister_opp_notifier() - Resource-managed
- * devfreq_unregister_opp_notifier()
- * @dev: The devfreq user device. (parent of devfreq)
- * @devfreq: The devfreq object.
- */
-void devm_devfreq_unregister_opp_notifier(struct device *dev,
- struct devfreq *devfreq)
-{
- WARN_ON(devres_release(dev, devm_devfreq_opp_release,
- devm_devfreq_dev_match, devfreq));
-}
-EXPORT_SYMBOL(devm_devfreq_unregister_opp_notifier);
-
/**
* devfreq_register_notifier() - Register a driver with devfreq
* @devfreq: The devfreq object.
diff --git a/include/linux/devfreq.h b/include/linux/devfreq.h
index b6d3bae1c74d..aca2cc4f4fa4 100644
--- a/include/linux/devfreq.h
+++ b/include/linux/devfreq.h
@@ -230,14 +230,8 @@ int update_devfreq(struct devfreq *devfreq);
/* Helper functions for devfreq user device driver with OPP. */
struct dev_pm_opp *devfreq_recommended_opp(struct device *dev,
unsigned long *freq, u32 flags);
-int devfreq_register_opp_notifier(struct device *dev,
- struct devfreq *devfreq);
-int devfreq_unregister_opp_notifier(struct device *dev,
- struct devfreq *devfreq);
int devm_devfreq_register_opp_notifier(struct device *dev,
struct devfreq *devfreq);
-void devm_devfreq_unregister_opp_notifier(struct device *dev,
- struct devfreq *devfreq);
int devfreq_register_notifier(struct devfreq *devfreq,
struct notifier_block *nb,
unsigned int list);
@@ -355,29 +349,12 @@ static inline struct dev_pm_opp *devfreq_recommended_opp(struct device *dev,
return ERR_PTR(-EINVAL);
}
-static inline int devfreq_register_opp_notifier(struct device *dev,
- struct devfreq *devfreq)
-{
- return -EINVAL;
-}
-
-static inline int devfreq_unregister_opp_notifier(struct device *dev,
- struct devfreq *devfreq)
-{
- return -EINVAL;
-}
-
static inline int devm_devfreq_register_opp_notifier(struct device *dev,
struct devfreq *devfreq)
{
return -EINVAL;
}
-static inline void devm_devfreq_unregister_opp_notifier(struct device *dev,
- struct devfreq *devfreq)
-{
-}
-
static inline int devfreq_register_notifier(struct devfreq *devfreq,
struct notifier_block *nb,
unsigned int list)
--
2.25.1
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 31/31] PM / devfreq: convert to devm_pm_opp_register_notifier and remove unused API
2021-01-03 3:57 ` Yangtao Li
(?)
@ 2021-01-04 7:40 ` Viresh Kumar
-1 siblings, 0 replies; 7+ messages in thread
From: Viresh Kumar @ 2021-01-04 7:40 UTC (permalink / raw)
To: Yangtao Li
Cc: linux-pm, linux-kernel, linux-samsung-soc, linux-arm-kernel,
linux-tegra, dri-devel, lima, linux-arm-msm, freedreno,
linux-media, linux-mmc, linux-spi, linux-serial
On 03-01-21, 03:57, Yangtao Li wrote:
> Use devm_pm_opp_* API to simplify code.
>
> Signed-off-by: Yangtao Li <tiny.windzz@gmail.com>
> ---
> drivers/devfreq/devfreq.c | 66 +--------------------------------------
> include/linux/devfreq.h | 23 --------------
> 2 files changed, 1 insertion(+), 88 deletions(-)
Remove the unused stuff in a separate patch and let this layer keep
doing the devm thing, I don't think others would need it.
--
viresh
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 31/31] PM / devfreq: convert to devm_pm_opp_register_notifier and remove unused API
@ 2021-01-04 7:40 ` Viresh Kumar
0 siblings, 0 replies; 7+ messages in thread
From: Viresh Kumar @ 2021-01-04 7:40 UTC (permalink / raw)
To: Yangtao Li
Cc: linux-samsung-soc, lima, linux-pm, linux-arm-msm, linux-mmc,
linux-kernel, dri-devel, linux-spi, linux-serial, linux-tegra,
freedreno, linux-arm-kernel, linux-media
On 03-01-21, 03:57, Yangtao Li wrote:
> Use devm_pm_opp_* API to simplify code.
>
> Signed-off-by: Yangtao Li <tiny.windzz@gmail.com>
> ---
> drivers/devfreq/devfreq.c | 66 +--------------------------------------
> include/linux/devfreq.h | 23 --------------
> 2 files changed, 1 insertion(+), 88 deletions(-)
Remove the unused stuff in a separate patch and let this layer keep
doing the devm thing, I don't think others would need it.
--
viresh
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 31/31] PM / devfreq: convert to devm_pm_opp_register_notifier and remove unused API
@ 2021-01-04 7:40 ` Viresh Kumar
0 siblings, 0 replies; 7+ messages in thread
From: Viresh Kumar @ 2021-01-04 7:40 UTC (permalink / raw)
To: Yangtao Li
Cc: linux-samsung-soc, lima, linux-pm, linux-arm-msm, linux-mmc,
linux-kernel, dri-devel, linux-spi, linux-serial, linux-tegra,
freedreno, linux-arm-kernel, linux-media
On 03-01-21, 03:57, Yangtao Li wrote:
> Use devm_pm_opp_* API to simplify code.
>
> Signed-off-by: Yangtao Li <tiny.windzz@gmail.com>
> ---
> drivers/devfreq/devfreq.c | 66 +--------------------------------------
> include/linux/devfreq.h | 23 --------------
> 2 files changed, 1 insertion(+), 88 deletions(-)
Remove the unused stuff in a separate patch and let this layer keep
doing the devm thing, I don't think others would need it.
--
viresh
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 31/31] PM / devfreq: convert to devm_pm_opp_register_notifier and remove unused API
2021-01-03 3:57 ` Yangtao Li
@ 2021-01-05 5:36 ` Chanwoo Choi
-1 siblings, 0 replies; 7+ messages in thread
From: Chanwoo Choi @ 2021-01-05 5:36 UTC (permalink / raw)
To: Yangtao Li
Cc: MyungJoo Ham, Kyungmin Park, Chanwoo Choi, Krzysztof Kozlowski,
Shawn Guo, s.hauer, kernel, festevam, dl-linux-imx,
Dmitry Osipenko, Thierry Reding, Jonathan Hunter, yuq825,
David Airlie, daniel, robdclark, sean, Rob Herring, tomeu.vizoso,
steven.price, alyssa.rosenzweig, stanimir.varbanov, agross,
Bjorn Andersson, mchehab, Lukasz Luba, adrian.hunter, Ulf Hansson,
Viresh Kumar, Nishanth Menon, Stephen Boyd, Mark Brown, Greg KH,
jirislaby, Rafael J. Wysocki, jcrouse, hoegsberg, eric,
tzimmermann, marijn.suijten, gustavoars, emil.velikov, jonathan,
akhilpo, smasetty, airlied, masneyb, kalyan_t, tanmay, ddavenport,
jsanka, rnayak, tongtiangen, miaoqinglang, khsieh, abhinavk,
chandanu, Guenter Roeck, varar, Matthias Kaehlcke, harigovi,
rikard.falkeborn, natechancellor, Georgi Djakov, akashast,
parashar, Doug Anderson, Linux PM list, linux-kernel,
linux-samsung-soc, linux-arm-kernel, linux-tegra, dri-devel, lima,
linux-arm-msm, freedreno, linux-media, linux-mmc, linux-spi,
linux-serial
On Sun, Jan 3, 2021 at 12:59 PM Yangtao Li <tiny.windzz@gmail.com> wrote:
>
> Use devm_pm_opp_* API to simplify code.
>
> Signed-off-by: Yangtao Li <tiny.windzz@gmail.com>
> ---
> drivers/devfreq/devfreq.c | 66 +--------------------------------------
> include/linux/devfreq.h | 23 --------------
> 2 files changed, 1 insertion(+), 88 deletions(-)
>
> diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c
> index 6aa10de792b3..f593f30529ec 100644
> --- a/drivers/devfreq/devfreq.c
> +++ b/drivers/devfreq/devfreq.c
> @@ -2004,40 +2004,6 @@ struct dev_pm_opp *devfreq_recommended_opp(struct device *dev,
> }
> EXPORT_SYMBOL(devfreq_recommended_opp);
>
> -/**
> - * devfreq_register_opp_notifier() - Helper function to get devfreq notified
> - * for any changes in the OPP availability
> - * changes
> - * @dev: The devfreq user device. (parent of devfreq)
> - * @devfreq: The devfreq object.
> - */
> -int devfreq_register_opp_notifier(struct device *dev, struct devfreq *devfreq)
> -{
> - return dev_pm_opp_register_notifier(dev, &devfreq->nb);
> -}
> -EXPORT_SYMBOL(devfreq_register_opp_notifier);
> -
> -/**
> - * devfreq_unregister_opp_notifier() - Helper function to stop getting devfreq
> - * notified for any changes in the OPP
> - * availability changes anymore.
> - * @dev: The devfreq user device. (parent of devfreq)
> - * @devfreq: The devfreq object.
> - *
> - * At exit() callback of devfreq_dev_profile, this must be included if
> - * devfreq_recommended_opp is used.
> - */
> -int devfreq_unregister_opp_notifier(struct device *dev, struct devfreq *devfreq)
> -{
> - return dev_pm_opp_unregister_notifier(dev, &devfreq->nb);
> -}
> -EXPORT_SYMBOL(devfreq_unregister_opp_notifier);
> -
> -static void devm_devfreq_opp_release(struct device *dev, void *res)
> -{
> - devfreq_unregister_opp_notifier(dev, *(struct devfreq **)res);
> -}
> -
> /**
> * devm_devfreq_register_opp_notifier() - Resource-managed
> * devfreq_register_opp_notifier()
> @@ -2047,40 +2013,10 @@ static void devm_devfreq_opp_release(struct device *dev, void *res)
> int devm_devfreq_register_opp_notifier(struct device *dev,
> struct devfreq *devfreq)
> {
> - struct devfreq **ptr;
> - int ret;
> -
> - ptr = devres_alloc(devm_devfreq_opp_release, sizeof(*ptr), GFP_KERNEL);
> - if (!ptr)
> - return -ENOMEM;
> -
> - ret = devfreq_register_opp_notifier(dev, devfreq);
> - if (ret) {
> - devres_free(ptr);
> - return ret;
> - }
> -
> - *ptr = devfreq;
> - devres_add(dev, ptr);
> -
> - return 0;
> + return devm_pm_opp_register_notifier(dev, &devfreq->nb);
> }
> EXPORT_SYMBOL(devm_devfreq_register_opp_notifier);
>
> -/**
> - * devm_devfreq_unregister_opp_notifier() - Resource-managed
> - * devfreq_unregister_opp_notifier()
> - * @dev: The devfreq user device. (parent of devfreq)
> - * @devfreq: The devfreq object.
> - */
> -void devm_devfreq_unregister_opp_notifier(struct device *dev,
> - struct devfreq *devfreq)
> -{
> - WARN_ON(devres_release(dev, devm_devfreq_opp_release,
> - devm_devfreq_dev_match, devfreq));
> -}
> -EXPORT_SYMBOL(devm_devfreq_unregister_opp_notifier);
Need to support devm_devfreq_unregister_opp_notifier()
because sometimes, the user wants to release the resource by himself.
(snip)
Best Regards,
Chanwoo Choi
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 31/31] PM / devfreq: convert to devm_pm_opp_register_notifier and remove unused API
@ 2021-01-05 5:36 ` Chanwoo Choi
0 siblings, 0 replies; 7+ messages in thread
From: Chanwoo Choi @ 2021-01-05 5:36 UTC (permalink / raw)
To: Yangtao Li
Cc: Nishanth Menon, Ulf Hansson, gustavoars, jirislaby, David Airlie,
linux-mmc, stanimir.varbanov, tanmay, Bjorn Andersson,
natechancellor, Thierry Reding, tongtiangen, Guenter Roeck,
marijn.suijten, Dmitry Osipenko, steven.price, Matthias Kaehlcke,
chandanu, emil.velikov, linux-samsung-soc, jonathan, harigovi,
adrian.hunter, Viresh Kumar, Linux PM list, Kyungmin Park,
Krzysztof Kozlowski, Jonathan Hunter, Chanwoo Choi, MyungJoo Ham,
alyssa.rosenzweig, linux-serial, airlied, smasetty, dl-linux-imx,
freedreno, kernel, tzimmermann, linux-arm-msm, s.hauer, linux-spi,
linux-media, abhinavk, akhilpo, khsieh, lima, Mark Brown,
rikard.falkeborn, kalyan_t, linux-tegra, varar, mchehab, sean,
linux-arm-kernel, Doug Anderson, akashast, rnayak, parashar,
tomeu.vizoso, Stephen Boyd, Greg KH, dri-devel, Rafael J. Wysocki,
agross, linux-kernel, miaoqinglang, hoegsberg, yuq825, ddavenport,
masneyb, Shawn Guo, Georgi Djakov, Lukasz Luba
On Sun, Jan 3, 2021 at 12:59 PM Yangtao Li <tiny.windzz@gmail.com> wrote:
>
> Use devm_pm_opp_* API to simplify code.
>
> Signed-off-by: Yangtao Li <tiny.windzz@gmail.com>
> ---
> drivers/devfreq/devfreq.c | 66 +--------------------------------------
> include/linux/devfreq.h | 23 --------------
> 2 files changed, 1 insertion(+), 88 deletions(-)
>
> diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c
> index 6aa10de792b3..f593f30529ec 100644
> --- a/drivers/devfreq/devfreq.c
> +++ b/drivers/devfreq/devfreq.c
> @@ -2004,40 +2004,6 @@ struct dev_pm_opp *devfreq_recommended_opp(struct device *dev,
> }
> EXPORT_SYMBOL(devfreq_recommended_opp);
>
> -/**
> - * devfreq_register_opp_notifier() - Helper function to get devfreq notified
> - * for any changes in the OPP availability
> - * changes
> - * @dev: The devfreq user device. (parent of devfreq)
> - * @devfreq: The devfreq object.
> - */
> -int devfreq_register_opp_notifier(struct device *dev, struct devfreq *devfreq)
> -{
> - return dev_pm_opp_register_notifier(dev, &devfreq->nb);
> -}
> -EXPORT_SYMBOL(devfreq_register_opp_notifier);
> -
> -/**
> - * devfreq_unregister_opp_notifier() - Helper function to stop getting devfreq
> - * notified for any changes in the OPP
> - * availability changes anymore.
> - * @dev: The devfreq user device. (parent of devfreq)
> - * @devfreq: The devfreq object.
> - *
> - * At exit() callback of devfreq_dev_profile, this must be included if
> - * devfreq_recommended_opp is used.
> - */
> -int devfreq_unregister_opp_notifier(struct device *dev, struct devfreq *devfreq)
> -{
> - return dev_pm_opp_unregister_notifier(dev, &devfreq->nb);
> -}
> -EXPORT_SYMBOL(devfreq_unregister_opp_notifier);
> -
> -static void devm_devfreq_opp_release(struct device *dev, void *res)
> -{
> - devfreq_unregister_opp_notifier(dev, *(struct devfreq **)res);
> -}
> -
> /**
> * devm_devfreq_register_opp_notifier() - Resource-managed
> * devfreq_register_opp_notifier()
> @@ -2047,40 +2013,10 @@ static void devm_devfreq_opp_release(struct device *dev, void *res)
> int devm_devfreq_register_opp_notifier(struct device *dev,
> struct devfreq *devfreq)
> {
> - struct devfreq **ptr;
> - int ret;
> -
> - ptr = devres_alloc(devm_devfreq_opp_release, sizeof(*ptr), GFP_KERNEL);
> - if (!ptr)
> - return -ENOMEM;
> -
> - ret = devfreq_register_opp_notifier(dev, devfreq);
> - if (ret) {
> - devres_free(ptr);
> - return ret;
> - }
> -
> - *ptr = devfreq;
> - devres_add(dev, ptr);
> -
> - return 0;
> + return devm_pm_opp_register_notifier(dev, &devfreq->nb);
> }
> EXPORT_SYMBOL(devm_devfreq_register_opp_notifier);
>
> -/**
> - * devm_devfreq_unregister_opp_notifier() - Resource-managed
> - * devfreq_unregister_opp_notifier()
> - * @dev: The devfreq user device. (parent of devfreq)
> - * @devfreq: The devfreq object.
> - */
> -void devm_devfreq_unregister_opp_notifier(struct device *dev,
> - struct devfreq *devfreq)
> -{
> - WARN_ON(devres_release(dev, devm_devfreq_opp_release,
> - devm_devfreq_dev_match, devfreq));
> -}
> -EXPORT_SYMBOL(devm_devfreq_unregister_opp_notifier);
Need to support devm_devfreq_unregister_opp_notifier()
because sometimes, the user wants to release the resource by himself.
(snip)
Best Regards,
Chanwoo Choi
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2021-01-05 5:38 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-01-03 3:57 [PATCH 31/31] PM / devfreq: convert to devm_pm_opp_register_notifier and remove unused API Yangtao Li
2021-01-03 3:57 ` Yangtao Li
2021-01-04 7:40 ` Viresh Kumar
2021-01-04 7:40 ` Viresh Kumar
2021-01-04 7:40 ` Viresh Kumar
2021-01-05 5:36 ` Chanwoo Choi
2021-01-05 5:36 ` Chanwoo Choi
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.