[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <febc7af6-96ee-a5a0-f0c9-6e7f89908535@gmail.com>
Date: Tue, 23 Feb 2021 13:06:11 +0000
From: Daniel Scally <djrscally@...il.com>
To: Andy Shevchenko <andy.shevchenko@...il.com>
Cc: Tomasz Figa <tfiga@...omium.org>,
Sakari Ailus <sakari.ailus@...ux.intel.com>,
Rajmohan Mani <rajmohan.mani@...el.com>,
"Rafael J. Wysocki" <rjw@...ysocki.net>,
Len Brown <lenb@...nel.org>,
Mika Westerberg <mika.westerberg@...ux.intel.com>,
Linus Walleij <linus.walleij@...aro.org>,
Bartosz Golaszewski <bgolaszewski@...libre.com>,
Wolfram Sang <wsa@...nel.org>,
Lee Jones <lee.jones@...aro.org>,
kieran.bingham+renesas@...asonboard.com,
Laurent Pinchart <laurent.pinchart@...asonboard.com>,
Hans de Goede <hdegoede@...hat.com>,
Mark Gross <mgross@...ux.intel.com>,
Maximilian Luz <luzmaximilian@...il.com>,
Robert Moore <robert.moore@...el.com>,
Erik Kaneda <erik.kaneda@...el.com>, me@...wu.ch,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
ACPI Devel Maling List <linux-acpi@...r.kernel.org>,
"open list:GPIO SUBSYSTEM" <linux-gpio@...r.kernel.org>,
linux-i2c <linux-i2c@...r.kernel.org>,
Platform Driver <platform-driver-x86@...r.kernel.org>,
devel@...ica.org
Subject: Re: [PATCH v3 5/6] platform/x86: Add intel_skl_int3472 driver
On 23/02/2021 12:01, Andy Shevchenko wrote:
>>>> + if (ares->type != ACPI_RESOURCE_TYPE_GPIO ||
>>>> + ares->data.gpio.connection_type != ACPI_RESOURCE_GPIO_TYPE_IO)
>>>> + return 1; /* Deliberately positive so parsing continues */
>>> I don't like to lose control over ACPI_RESOURCE_TYPE_GPIO, i.e.
>>> spreading it over kernel code (yes, I know about one existing TS
>>> case).
>>> Consider to provide a helper in analogue to acpi_gpio_get_irq_resource().
>> Sure, but I probably name it acpi_gpio_is_io_resource() - a function
>> named "get" which returns a bool seems a bit funny to me.
> But don't you need the resource itself?
>
> You may extract and check resource at the same time as
> acpi_gpio_get_irq_resource() does.
Oh! Reading comprehension fail; I didn't notice it was returning the
pointer through agpio; you're right of course.
>
> ...
>
>>>> + struct int3472_discrete_device *int3472 = platform_get_drvdata(pdev);
>>>> + if (int3472->gpios.dev_id)
>>>> + gpiod_remove_lookup_table(&int3472->gpios);
>>> gpiod_remove_lookup_table() is now NULL-aware.
>>> But in any case I guess you don't need the above check.
>> Sorry; forgot to call out that I didn't follow that suggestion;
>> int3472->gpios is a _struct_ rather than a pointer, so &int3472->gpios
>> won't be NULL, even if I haven't filled anything in to there yet because
>> it failed before it got to that point. So, not sure that it quite works
>> there.
> I think if you initialize the ->list member you can remove without check.
I'll give that a try - thanks
>
Powered by blists - more mailing lists