From: Chanwoo Choi <cw00.choi@samsung.com>
To: myungjoo.ham@samsung.com, kyungmin.park@samsung.com
Cc: rafael.j.wysocki@intel.com, chanwoo@kernel.org,
inki.dae@samsung.com, linux-kernel@vger.kernel.org,
linux-pm@vger.kernel.org
Subject: Re: [PATCH 12/12] PM / devfreq: Add opp_notifier_cb() function pointer to support OPP notifier
Date: Thu, 24 Aug 2017 12:58:55 +0900 [thread overview]
Message-ID: <599E4EFF.6070808@samsung.com> (raw)
In-Reply-To: <1503538979-22693-13-git-send-email-cw00.choi@samsung.com>
Dear all,
On 2017년 08월 24일 10:42, Chanwoo Choi wrote:
> The devfreq uses the OPP interface as a mandatory method
> and so the devfreq has to support the OPP notifier in order to
> catch the OPP events. So, this patch adds the new opp_notifier_cb()
> function pointer in the struct devfreq_dev_profile. The user can
> add the their own callback function to receive the OPP events.
>
> Also, the devfreq provides the default OPP notifeir callback
> in order to remake the frequency table when OPP events happen.
> - default_opp_notifier_cb()
>
> After merged the commit 0ec09ac2cebe ("PM / devfreq: Set the
> freq_table of devfreq device"), if the freq_table is NULL,
> the devfreq_add_device() makes the freq_table by using OPP interface.
> In this case, the devfreq should handle the freq_table
> when OPP events happen such as OPP_EVENT_REMOVE, OPP_EVENT_ADD.
>
> When the dev_pm_opp_add/remove() are called, the devfreq core
> has to remake the frequency table with the changed OPP information
> in the default_opp_notifier_cb().
>
> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
> ---
> drivers/devfreq/devfreq.c | 46 +++++++++++++++++++++++++++++++++++++++++++++-
> include/linux/devfreq.h | 12 ++++++++++++
> 2 files changed, 57 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c
> index 7efa867e4aea..d313bed95871 100644
> --- a/drivers/devfreq/devfreq.c
> +++ b/drivers/devfreq/devfreq.c
> @@ -163,6 +163,39 @@ static int set_freq_table(struct devfreq *devfreq)
> return 0;
> }
>
> +static int default_opp_notifier_cb(struct notifier_block *nb,
> + unsigned long opp_event, void *opp)
> +{
> + struct devfreq *devfreq = container_of(nb, struct devfreq, nb);
> + struct devfreq_dev_profile *profile = devfreq->profile;
> + struct device *dev = devfreq->dev.parent;
> + int ret = 0;
> +
> + mutex_lock(&devfreq->lock);
> +
> + switch (opp_event) {
> + case OPP_EVENT_ADD:
> + case OPP_EVENT_REMOVE:
> + /* Free the frequency table */
> + profile->max_state = 0;
> + kfree(dev, profile->freq_table);
It is my mistake when changing from devm_kfree to kfree.
I'll fix on next patchset.
[ditto]
--
Best Regards,
Chanwoo Choi
Samsung Electronics
prev parent reply other threads:[~2017-08-24 3:58 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20170824014259epcas2p4d92e5c404f54b629e7bdfb6a2c5ed0ed@epcas2p4.samsung.com>
2017-08-24 1:42 ` [PATCH 00/12] PM / devfreq: Use OPP interface to handle the frequency Chanwoo Choi
2017-08-24 1:42 ` [PATCH 01/12] PM / devfreq: Fix memory leak when fail to register device Chanwoo Choi
2017-08-28 0:17 ` MyungJoo Ham
2017-08-28 0:23 ` Chanwoo Choi
2017-08-28 1:30 ` MyungJoo Ham
2017-08-24 1:42 ` [PATCH 02/12] PM / devfreq: Fix locking range for making the frequency table Chanwoo Choi
2017-08-28 0:25 ` MyungJoo Ham
2017-08-24 1:42 ` [PATCH 03/12] PM / devfreq: Move private devfreq_update_stats() into devfreq Chanwoo Choi
2017-08-28 1:20 ` MyungJoo Ham
2017-08-24 1:42 ` [PATCH 04/12] PM / devfreq: Add dependency on PM_OPP Chanwoo Choi
2017-08-28 1:23 ` MyungJoo Ham
2017-08-24 1:42 ` [PATCH 05/12] PM / devfreq: Set min/max_freq when adding the devfreq device Chanwoo Choi
2017-08-24 1:42 ` [PATCH 06/12] PM / devfreq: Check the entered min/max_freq is supported or not Chanwoo Choi
2017-08-24 1:42 ` [PATCH 07/12] Revert "PM / devfreq: Add show_one macro to delete the duplicate code" Chanwoo Choi
2017-08-24 1:42 ` [PATCH 08/12] PM / devfreq: Show the available min/max frequency through sysfs node Chanwoo Choi
2017-08-24 1:42 ` [PATCH 09/12] PM / devfreq: Show whole available frequencies Chanwoo Choi
2017-08-24 1:42 ` [PATCH 10/12] PM / devfreq: Remove 'devfreq' prefix from helper function Chanwoo Choi
2017-08-28 1:37 ` MyungJoo Ham
2017-08-28 2:24 ` Chanwoo Choi
2017-08-24 1:42 ` [PATCH 11/12] PM / devfreq: Remove exported opp_notifier function Chanwoo Choi
2017-08-24 1:42 ` [PATCH 12/12] PM / devfreq: Add opp_notifier_cb() function pointer to support OPP notifier Chanwoo Choi
2017-08-24 3:58 ` Chanwoo Choi [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=599E4EFF.6070808@samsung.com \
--to=cw00.choi@samsung.com \
--cc=chanwoo@kernel.org \
--cc=inki.dae@samsung.com \
--cc=kyungmin.park@samsung.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=myungjoo.ham@samsung.com \
--cc=rafael.j.wysocki@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox