From: Hanjun Guo <hanjun.guo@linaro.org>
To: "Rafael J. Wysocki" <rjw@rjwysocki.net>,
Mika Westerberg <mika.westerberg@linux.intel.com>,
ACPI Devel Maling List <linux-acpi@vger.kernel.org>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Subject: Re: [PATCH] ACPI / bus: Move duplicate code to a separate new function
Date: Mon, 03 Aug 2015 22:58:17 +0800 [thread overview]
Message-ID: <55BF8189.2040202@linaro.org> (raw)
In-Reply-To: <4854608.nIfMTUvZQu@vostro.rjw.lan>
On 08/01/2015 08:39 AM, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
>
> After merging commit 712e960f0ee9 (ACPI / PM: Attach ACPI power
> domain only once) with commit 1dcc3d3362b0 (ACPI / bus: Move ACPI
> bus type registration) there is some duplicate code in
> acpi_device_is_first_physical_node() and acpi_companion_match()
> that can be moved to a separate routine and called from both
> places.
>
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> ---
>
> On top of linux-pm.git/linux-next.
>
> ---
> drivers/acpi/bus.c | 51 ++++++++++++++++++++++-----------------------------
> 1 file changed, 22 insertions(+), 29 deletions(-)
>
> Index: linux-pm/drivers/acpi/bus.c
> ===================================================================
> --- linux-pm.orig/drivers/acpi/bus.c
> +++ linux-pm/drivers/acpi/bus.c
> @@ -482,6 +482,26 @@ static void acpi_device_remove_notify_ha
> Device Matching
> -------------------------------------------------------------------------- */
>
> +static struct acpi_device *acpi_primary_dev_companion(struct acpi_device *adev,
> + const struct device *dev)
> +{
> + struct mutex *physical_node_lock = &adev->physical_node_lock;
> +
> + mutex_lock(physical_node_lock);
> + if (list_empty(&adev->physical_node_list)) {
> + adev = NULL;
> + } else {
> + const struct acpi_device_physical_node *node;
> +
> + node = list_first_entry(&adev->physical_node_list,
> + struct acpi_device_physical_node, node);
> + if (node->dev != dev)
> + adev = NULL;
> + }
> + mutex_unlock(physical_node_lock);
> + return adev;
> +}
> +
> /**
> * acpi_device_is_first_physical_node - Is given dev first physical node
> * @adev: ACPI companion device
> @@ -496,19 +516,7 @@ static void acpi_device_remove_notify_ha
> bool acpi_device_is_first_physical_node(struct acpi_device *adev,
> const struct device *dev)
> {
> - bool ret = false;
> -
> - mutex_lock(&adev->physical_node_lock);
> - if (!list_empty(&adev->physical_node_list)) {
> - const struct acpi_device_physical_node *node;
> -
> - node = list_first_entry(&adev->physical_node_list,
> - struct acpi_device_physical_node, node);
> - ret = node->dev == dev;
> - }
> - mutex_unlock(&adev->physical_node_lock);
> -
> - return ret;
> + return !!acpi_primary_dev_companion(adev, dev);
> }
>
> /*
> @@ -535,7 +543,6 @@ bool acpi_device_is_first_physical_node(
> struct acpi_device *acpi_companion_match(const struct device *dev)
> {
> struct acpi_device *adev;
> - struct mutex *physical_node_lock;
>
> adev = ACPI_COMPANION(dev);
> if (!adev)
> @@ -544,21 +551,7 @@ struct acpi_device *acpi_companion_match
> if (list_empty(&adev->pnp.ids))
> return NULL;
>
> - physical_node_lock = &adev->physical_node_lock;
> - mutex_lock(physical_node_lock);
> - if (list_empty(&adev->physical_node_list)) {
> - adev = NULL;
> - } else {
> - const struct acpi_device_physical_node *node;
> -
> - node = list_first_entry(&adev->physical_node_list,
> - struct acpi_device_physical_node, node);
> - if (node->dev != dev)
> - adev = NULL;
> - }
> - mutex_unlock(physical_node_lock);
> -
> - return adev;
> + return acpi_primary_dev_companion(adev, dev);
> }
Reviewed-by: Hanjun Guo <hanjun.guo@linaro.org>
Thanks
Hanjun
prev parent reply other threads:[~2015-08-03 14:58 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-01 0:39 [PATCH] ACPI / bus: Move duplicate code to a separate new function Rafael J. Wysocki
2015-08-03 9:48 ` Mika Westerberg
2015-08-03 14:58 ` Hanjun Guo [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=55BF8189.2040202@linaro.org \
--to=hanjun.guo@linaro.org \
--cc=andriy.shevchenko@linux.intel.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mika.westerberg@linux.intel.com \
--cc=rjw@rjwysocki.net \
/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.