public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
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

      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