All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Linus Walleij <linus.walleij@linaro.org>,
	linux-gpio@vger.kernel.org,
	Dmitry Torokhov <dmitry.torokhov@gmail.com>,
	Hans de Goede <hdegoede@redhat.com>,
	linux-kernel@vger.kernel.org,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	linux-acpi@vger.kernel.org,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	Jarkko Nikula <jarkko.nikula@linux.intel.com>,
	Jagadish Krishnamoorthy <jagadish.krishnamoorthy@intel.com>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Subject: [PATCH v2 05/12] gpio: acpi: Synchronize acpi_find_gpio() and acpi_gpio_count()
Date: Tue, 23 May 2017 20:03:20 +0300	[thread overview]
Message-ID: <20170523170327.18055-6-andriy.shevchenko@linux.intel.com> (raw)
In-Reply-To: <20170523170327.18055-1-andriy.shevchenko@linux.intel.com>

If we pass connection ID to the both functions and at the same time
acpi_can_fallback_to_crs() returns false we will get different results,
i.e. the number of GPIO resources returned by acpi_gpio_count() might be
not correct.

Fix this by calling acpi_can_fallback_to_crs() in acpi_gpio_count()
before trying to fallback.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Tested-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
---
 drivers/gpio/gpiolib-acpi.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/gpio/gpiolib-acpi.c b/drivers/gpio/gpiolib-acpi.c
index 0392d8ed332f..740df0e9dcb3 100644
--- a/drivers/gpio/gpiolib-acpi.c
+++ b/drivers/gpio/gpiolib-acpi.c
@@ -1119,6 +1119,9 @@ int acpi_gpio_count(struct device *dev, const char *con_id)
 		struct list_head resource_list;
 		unsigned int crs_count = 0;
 
+		if (!acpi_can_fallback_to_crs(adev, con_id))
+			return count;
+
 		INIT_LIST_HEAD(&resource_list);
 		acpi_dev_get_resources(adev, &resource_list,
 				       acpi_find_gpio_count, &crs_count);
-- 
2.11.0

  parent reply	other threads:[~2017-05-23 17:03 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-23 17:03 [PATCH v2 00/12] gpio: acpi: Make it working Andy Shevchenko
2017-05-23 17:03 ` [PATCH v2 01/12] gpiolib: Export gpiod_configure_flags() to internal users Andy Shevchenko
2017-05-29  9:15   ` Linus Walleij
2017-05-23 17:03 ` [PATCH v2 02/12] gpio: acpi: Align acpi_find_gpio() with DT version Andy Shevchenko
2017-05-29  9:16   ` Linus Walleij
2017-05-23 17:03 ` [PATCH v2 03/12] gpio: acpi: Do sanity check for GpioInt in acpi_find_gpio() Andy Shevchenko
2017-05-29  9:17   ` Linus Walleij
2017-05-23 17:03 ` [PATCH v2 04/12] gpio: acpi: Even more tighten up ACPI GPIO lookups Andy Shevchenko
2017-05-29  9:18   ` Linus Walleij
2017-05-23 17:03 ` Andy Shevchenko [this message]
2017-05-29  9:19   ` [PATCH v2 05/12] gpio: acpi: Synchronize acpi_find_gpio() and acpi_gpio_count() Linus Walleij
2017-05-23 17:03 ` [PATCH v2 06/12] gpio: acpi: Explain how to get GPIO descriptors in ACPI case Andy Shevchenko
2017-05-29  9:20   ` Linus Walleij
2017-05-23 17:03 ` [PATCH v2 07/12] gpio: acpi: Factor out acpi_gpio_to_gpiod_flags() helper Andy Shevchenko
2017-05-29  9:21   ` Linus Walleij
2017-05-23 17:03 ` [PATCH v2 08/12] gpio: acpi: Override GPIO initialization flags Andy Shevchenko
2017-05-29  9:22   ` Linus Walleij
2017-05-23 17:03 ` [PATCH v2 09/12] gpio: acpi: Split out acpi_gpio_get_irq_resource() helper Andy Shevchenko
2017-05-24 11:53   ` Mika Westerberg
2017-05-29  9:23   ` Linus Walleij
2017-05-23 17:03 ` [PATCH v2 10/12] PNP / ACPI: add support for GpioInt resource type Andy Shevchenko
2017-05-24 12:02   ` Mika Westerberg
2017-05-29  9:26   ` Linus Walleij
2017-05-23 17:03 ` [PATCH v2 11/12] PNP / ACPI: join strings back for better maintenance Andy Shevchenko
2017-05-24 12:02   ` Mika Westerberg
2017-05-29  9:28   ` Linus Walleij
2017-05-23 17:03 ` [PATCH v2 12/12] PNP / ACPI: remove FSF address Andy Shevchenko
2017-05-24 12:06   ` Mika Westerberg
2017-05-29  9:29   ` Linus Walleij
2017-05-29  9:31 ` [PATCH v2 00/12] gpio: acpi: Make it working Linus Walleij
2017-05-29 13:09   ` Andy Shevchenko

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=20170523170327.18055-6-andriy.shevchenko@linux.intel.com \
    --to=andriy.shevchenko@linux.intel.com \
    --cc=dmitry.torokhov@gmail.com \
    --cc=hdegoede@redhat.com \
    --cc=jagadish.krishnamoorthy@intel.com \
    --cc=jarkko.nikula@linux.intel.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-gpio@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.