From: Chanwoo Choi <cw00.choi@samsung.com>
To: myungjoo.ham@samsung.com
Cc: "kgene@kernel.org" <kgene@kernel.org>,
박경민 <kyungmin.park@samsung.com>,
"rafael.j.wysocki@intel.com" <rafael.j.wysocki@intel.com>,
"mark.rutland@arm.com" <mark.rutland@arm.com>,
"ABHILASH KESAVAN" <a.kesavan@samsung.com>,
"tomasz.figa@gmail.com" <tomasz.figa@gmail.com>,
"Krzysztof Kozlowski" <k.kozlowski@samsung.com>,
"Bartlomiej Zolnierkiewicz" <b.zolnierkie@samsung.com>,
"robh+dt@kernel.org" <robh+dt@kernel.org>,
대인기 <inki.dae@samsung.com>,
"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"linux-samsung-soc@vger.kernel.org"
<linux-samsung-soc@vger.kernel.org>
Subject: Re: [PATCHv7 03/10] devfreq: event: Add resource-managed function for devfreq-event device
Date: Mon, 12 Jan 2015 17:55:35 +0900 [thread overview]
Message-ID: <54B38C07.2010801@samsung.com> (raw)
In-Reply-To: <765071676.891461421049614417.JavaMail.weblogic@epmlwas09a>
Dear Myungjoo,
Thanks for your review.
On 01/12/2015 05:00 PM, MyungJoo Ham wrote:
>>
>> This patch add the resource-managed function for devfreq-event device as
>> following functions. The devm_devfreq_event_add_edev() manages automatically
>> the memory of devfreq-event device using resource management.
>> - devm_devfreq_event_add_edev()
>> - devm_devfreq_event_remove_edev()
>>
>> Cc: Myungjoo Ham <myungjoo.ham@samsung.com>
>> Cc: Kyungmin Park <kyungmin.park@samsung.com>
>> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
>> ---
>> drivers/devfreq/devfreq-event.c | 63 +++++++++++++++++++++++++++++++++++++++++
>> include/linux/devfreq-event.h | 16 +++++++++++
>> 2 files changed, 79 insertions(+)
>>
>> diff --git a/drivers/devfreq/devfreq-event.c b/drivers/devfreq/devfreq-event.c
>> index 64c1764..5301e2b 100644
>> --- a/drivers/devfreq/devfreq-event.c
>> +++ b/drivers/devfreq/devfreq-event.c
>> @@ -451,6 +451,69 @@ int devfreq_event_remove_edev(struct devfreq_event_dev *edev)
>> }
>> EXPORT_SYMBOL_GPL(devfreq_event_remove_edev);
>>
>> +static int devm_devfreq_event_match(struct device *dev, void *res, void *data)
>> +{
>> + struct devfreq_event_dev **r = res;
>> +
>> + if (WARN_ON(!r || !*r))
>> + return 0;
>> +
>> + return *r == data;
>> +}
>> +
>> +static void devm_devfreq_event_release(struct device *dev, void *res)
>> +{
>> + devfreq_event_remove_edev(*(struct devfreq_event_dev **)res);
>> +}
>
> Isn't dev-free functions supposed to check if it is already freed or not?
The devfreq_event_remove_edev() function check whether res is NULL or not.
If some instance of devfreq_event_dev is freeed, devfreq_event_remove_edev()
just return.
>
>> +
>> +/**
>> + * devm_devfreq_event_add_edev() - Resource-managed devfreq_event_add_edev()
>> + * @dev : the device owning the devfreq-event device being created
>> + * @desc : the devfreq-event device's decriptor which include essential
>> + * data for devfreq-event device.
>> + *
>> + * Note that this function manages automatically the memory of devfreq-event
>> + * device using device resource management and simplify the free operation
>> + * for memory of devfreq-event device.
>> + */
>> +struct devfreq_event_dev *devm_devfreq_event_add_edev(struct device *dev,
>> + struct devfreq_event_desc *desc)
>> +{
>> + struct devfreq_event_dev **ptr, *edev;
>> +
>> + ptr = devres_alloc(devm_devfreq_event_release, sizeof(*ptr), GFP_KERNEL);
>> + if (!ptr)
>> + return ERR_PTR(-ENOMEM);
>> +
>> + edev = devfreq_event_add_edev(dev, desc);
>> + if (IS_ERR(edev)) {
>> + devres_free(ptr);
>> + return ERR_PTR(-ENOMEM);
>> + }
>> +
>> + *ptr = edev;
>> + devres_add(dev, ptr);
>> +
>> + return edev;
>> +}
>> +EXPORT_SYMBOL(devm_devfreq_event_add_edev);
>
> You are using GPL Symbol in this function (devres_alloc).
I'll fix it. (EXPORT_SYMBOL -> EXPORT_SYMBOL_GPL).
>
>> +
>> +/**
>> + * devm_devfreq_event_remove_edev()- Resource-managed devfreq_event_remove_edev()
>> + * @dev : the device owning the devfreq-event device being created
>> + * @edev : the devfreq-event device
>> + *
>> + * Note that this function manages automatically the memory of devfreq-event
>> + * device using device resource management.
>> + */
>> +void devm_devfreq_event_remove_edev(struct device *dev,
>> + struct devfreq_event_dev *edev)
>> +{
>> + WARN_ON(devres_release(dev, devm_devfreq_event_release,
>> + devm_devfreq_event_match, edev));
>> +}
>> +EXPORT_SYMBOL(devm_devfreq_event_remove_edev);
>
> Here you are using GPL symbol as well (devres_release).
I'll fix it. (EXPORT_SYMBOL -> EXPORT_SYMBOL_GPL).
Best Regards,
Chanwoo Choi
WARNING: multiple messages have this Message-ID (diff)
From: cw00.choi@samsung.com (Chanwoo Choi)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCHv7 03/10] devfreq: event: Add resource-managed function for devfreq-event device
Date: Mon, 12 Jan 2015 17:55:35 +0900 [thread overview]
Message-ID: <54B38C07.2010801@samsung.com> (raw)
In-Reply-To: <765071676.891461421049614417.JavaMail.weblogic@epmlwas09a>
Dear Myungjoo,
Thanks for your review.
On 01/12/2015 05:00 PM, MyungJoo Ham wrote:
>>
>> This patch add the resource-managed function for devfreq-event device as
>> following functions. The devm_devfreq_event_add_edev() manages automatically
>> the memory of devfreq-event device using resource management.
>> - devm_devfreq_event_add_edev()
>> - devm_devfreq_event_remove_edev()
>>
>> Cc: Myungjoo Ham <myungjoo.ham@samsung.com>
>> Cc: Kyungmin Park <kyungmin.park@samsung.com>
>> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
>> ---
>> drivers/devfreq/devfreq-event.c | 63 +++++++++++++++++++++++++++++++++++++++++
>> include/linux/devfreq-event.h | 16 +++++++++++
>> 2 files changed, 79 insertions(+)
>>
>> diff --git a/drivers/devfreq/devfreq-event.c b/drivers/devfreq/devfreq-event.c
>> index 64c1764..5301e2b 100644
>> --- a/drivers/devfreq/devfreq-event.c
>> +++ b/drivers/devfreq/devfreq-event.c
>> @@ -451,6 +451,69 @@ int devfreq_event_remove_edev(struct devfreq_event_dev *edev)
>> }
>> EXPORT_SYMBOL_GPL(devfreq_event_remove_edev);
>>
>> +static int devm_devfreq_event_match(struct device *dev, void *res, void *data)
>> +{
>> + struct devfreq_event_dev **r = res;
>> +
>> + if (WARN_ON(!r || !*r))
>> + return 0;
>> +
>> + return *r == data;
>> +}
>> +
>> +static void devm_devfreq_event_release(struct device *dev, void *res)
>> +{
>> + devfreq_event_remove_edev(*(struct devfreq_event_dev **)res);
>> +}
>
> Isn't dev-free functions supposed to check if it is already freed or not?
The devfreq_event_remove_edev() function check whether res is NULL or not.
If some instance of devfreq_event_dev is freeed, devfreq_event_remove_edev()
just return.
>
>> +
>> +/**
>> + * devm_devfreq_event_add_edev() - Resource-managed devfreq_event_add_edev()
>> + * @dev : the device owning the devfreq-event device being created
>> + * @desc : the devfreq-event device's decriptor which include essential
>> + * data for devfreq-event device.
>> + *
>> + * Note that this function manages automatically the memory of devfreq-event
>> + * device using device resource management and simplify the free operation
>> + * for memory of devfreq-event device.
>> + */
>> +struct devfreq_event_dev *devm_devfreq_event_add_edev(struct device *dev,
>> + struct devfreq_event_desc *desc)
>> +{
>> + struct devfreq_event_dev **ptr, *edev;
>> +
>> + ptr = devres_alloc(devm_devfreq_event_release, sizeof(*ptr), GFP_KERNEL);
>> + if (!ptr)
>> + return ERR_PTR(-ENOMEM);
>> +
>> + edev = devfreq_event_add_edev(dev, desc);
>> + if (IS_ERR(edev)) {
>> + devres_free(ptr);
>> + return ERR_PTR(-ENOMEM);
>> + }
>> +
>> + *ptr = edev;
>> + devres_add(dev, ptr);
>> +
>> + return edev;
>> +}
>> +EXPORT_SYMBOL(devm_devfreq_event_add_edev);
>
> You are using GPL Symbol in this function (devres_alloc).
I'll fix it. (EXPORT_SYMBOL -> EXPORT_SYMBOL_GPL).
>
>> +
>> +/**
>> + * devm_devfreq_event_remove_edev()- Resource-managed devfreq_event_remove_edev()
>> + * @dev : the device owning the devfreq-event device being created
>> + * @edev : the devfreq-event device
>> + *
>> + * Note that this function manages automatically the memory of devfreq-event
>> + * device using device resource management.
>> + */
>> +void devm_devfreq_event_remove_edev(struct device *dev,
>> + struct devfreq_event_dev *edev)
>> +{
>> + WARN_ON(devres_release(dev, devm_devfreq_event_release,
>> + devm_devfreq_event_match, edev));
>> +}
>> +EXPORT_SYMBOL(devm_devfreq_event_remove_edev);
>
> Here you are using GPL symbol as well (devres_release).
I'll fix it. (EXPORT_SYMBOL -> EXPORT_SYMBOL_GPL).
Best Regards,
Chanwoo Choi
next prev parent reply other threads:[~2015-01-12 8:55 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-12 8:00 [PATCHv7 03/10] devfreq: event: Add resource-managed function for devfreq-event device MyungJoo Ham
2015-01-12 8:00 ` MyungJoo Ham
2015-01-12 8:55 ` Chanwoo Choi [this message]
2015-01-12 8:55 ` Chanwoo Choi
-- strict thread matches above, loose matches on Subject: below --
2015-01-07 23:51 [PATCHv7 00/10] devfreq: Add devfreq-event class to provide raw data for devfreq device Chanwoo Choi
2015-01-07 23:51 ` [PATCHv7 03/10] devfreq: event: Add resource-managed function for devfreq-event device Chanwoo Choi
2015-01-07 23:51 ` 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=54B38C07.2010801@samsung.com \
--to=cw00.choi@samsung.com \
--cc=a.kesavan@samsung.com \
--cc=b.zolnierkie@samsung.com \
--cc=inki.dae@samsung.com \
--cc=k.kozlowski@samsung.com \
--cc=kgene@kernel.org \
--cc=kyungmin.park@samsung.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=myungjoo.ham@samsung.com \
--cc=rafael.j.wysocki@intel.com \
--cc=robh+dt@kernel.org \
--cc=tomasz.figa@gmail.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 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.