lkml.org 
[lkml]   [2017]   [Mar]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v1 5/8] gpio: acpi: Synchronize acpi_find_gpio() and acpi_gpio_count()
    Date
    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 resourses 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>
    ---
    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 e516b7a0cc50..61518273e360 100644
    --- a/drivers/gpio/gpiolib-acpi.c
    +++ b/drivers/gpio/gpiolib-acpi.c
    @@ -1111,6 +1111,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
    \
     
     \ /
      Last update: 2017-03-23 20:47    [W:3.421 / U:0.056 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site