mirror of https://lore.kernel.org/lkml/
 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
     [not found]   ` <CGME20170824014259epcas2p398a53a9a76d9aff7e35cf8515ec4e46a@epcas2p3.samsung.com>
2017-08-24  1:42     ` [PATCH 01/12] PM / devfreq: Fix memory leak when fail to register device Chanwoo Choi
     [not found]   ` <CGME20170824014259epcas2p33d211dd0f29ebee0fc2fd7415d8294d9@epcas2p3.samsung.com>
2017-08-24  1:42     ` [PATCH 02/12] PM / devfreq: Fix locking range for making the frequency table Chanwoo Choi
     [not found]   ` <CGME20170824014259epcas2p174f90081b192ae5239f0130413ba3845@epcas2p1.samsung.com>
2017-08-24  1:42     ` [PATCH 03/12] PM / devfreq: Move private devfreq_update_stats() into devfreq Chanwoo Choi
     [not found]   ` <CGME20170824014259epcas2p2d2b85a7c324b101e7e4e8551873ca3ab@epcas2p2.samsung.com>
2017-08-24  1:42     ` [PATCH 04/12] PM / devfreq: Add dependency on PM_OPP Chanwoo Choi
     [not found]   ` <CGME20170824014259epcas2p161d781837dffe0724c0fd73fc477281a@epcas2p1.samsung.com>
2017-08-24  1:42     ` [PATCH 05/12] PM / devfreq: Set min/max_freq when adding the devfreq device Chanwoo Choi
     [not found]   ` <CGME20170824014259epcas2p1c8618349053a9aab5d8774234e322848@epcas2p1.samsung.com>
2017-08-24  1:42     ` [PATCH 06/12] PM / devfreq: Check the entered min/max_freq is supported or not Chanwoo Choi
     [not found]   ` <CGME20170824014300epcas2p3069258855c2e233ab4c01745eae93a73@epcas2p3.samsung.com>
2017-08-24  1:42     ` [PATCH 07/12] Revert "PM / devfreq: Add show_one macro to delete the duplicate code" Chanwoo Choi
     [not found]   ` <CGME20170824014300epcas1p442352e3d95c164aa023bf16120e7f7a4@epcas1p4.samsung.com>
2017-08-24  1:42     ` [PATCH 08/12] PM / devfreq: Show the available min/max frequency through sysfs node Chanwoo Choi
     [not found]   ` <CGME20170824014300epcas2p2642c98590f3592ba814e421c6584a7b5@epcas2p2.samsung.com>
2017-08-24  1:42     ` [PATCH 09/12] PM / devfreq: Show whole available frequencies Chanwoo Choi
     [not found]   ` <CGME20170824014300epcas2p452c864106cf4fd9754d075d57b8a9ca1@epcas2p4.samsung.com>
2017-08-24  1:42     ` [PATCH 10/12] PM / devfreq: Remove 'devfreq' prefix from helper function Chanwoo Choi
     [not found]   ` <CGME20170824014300epcas2p27dfdc54aae8ea29e5e60425a87cf4aab@epcas2p2.samsung.com>
2017-08-24  1:42     ` [PATCH 11/12] PM / devfreq: Remove exported opp_notifier function Chanwoo Choi
     [not found]   ` <CGME20170824014300epcas1p3bf35f95d83b2a2ed36126f918638b8fc@epcas1p3.samsung.com>
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]
     [not found]   ` <CGME20170824014259epcas2p398a53a9a76d9aff7e35cf8515ec4e46a@epcms1p6>
2017-08-28  0:17     ` [PATCH 01/12] PM / devfreq: Fix memory leak when fail to register device MyungJoo Ham
2017-08-28  0:23       ` Chanwoo Choi
     [not found]       ` <CGME20170824014259epcas2p398a53a9a76d9aff7e35cf8515ec4e46a@epcms1p1>
2017-08-28  1:30         ` MyungJoo Ham
     [not found]   ` <CGME20170824014259epcas2p33d211dd0f29ebee0fc2fd7415d8294d9@epcms1p2>
2017-08-28  0:25     ` [PATCH 02/12] PM / devfreq: Fix locking range for making the frequency table MyungJoo Ham
     [not found]   ` <CGME20170824014259epcas2p174f90081b192ae5239f0130413ba3845@epcms1p4>
2017-08-28  1:20     ` [PATCH 03/12] PM / devfreq: Move private devfreq_update_stats() into devfreq MyungJoo Ham
     [not found]   ` <CGME20170824014259epcas2p2d2b85a7c324b101e7e4e8551873ca3ab@epcms1p8>
2017-08-28  1:23     ` [PATCH 04/12] PM / devfreq: Add dependency on PM_OPP MyungJoo Ham
     [not found]   ` <CGME20170824014300epcas2p452c864106cf4fd9754d075d57b8a9ca1@epcms1p1>
2017-08-28  1:37     ` [PATCH 10/12] PM / devfreq: Remove 'devfreq' prefix from helper function MyungJoo Ham
2017-08-28  2:24       ` Chanwoo Choi

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

Powered by JetHome