From: Andy Shevchenko <andy.shevchenko at gmail.com>
To: devel@acpica.org
Subject: [Devel] Re: [PATCH v3 5/6] platform/x86: Add intel_skl_int3472 driver
Date: Tue, 23 Feb 2021 14:01:25 +0200 [thread overview]
Message-ID: <YDTuldAG9FB8+RAd@smile.fi.intel.com> (raw)
In-Reply-To: 534849f6-c7b5-19b0-a09f-cd410cde93bd@gmail.com
[-- Attachment #1: Type: text/plain, Size: 2735 bytes --]
On Mon, Feb 22, 2021 at 10:35:44PM +0000, Daniel Scally wrote:
> On 22/02/2021 14:58, Andy Shevchenko wrote:
> > On Mon, Feb 22, 2021 at 3:12 PM Daniel Scally <djrscally(a)gmail.com> wrote:
...
> >> + if (obj->buffer.length > sizeof(*cldb)) {
> >> + dev_err(&adev->dev, "The CLDB buffer is too large\n");
> >> + ret = -EINVAL;
> > ENOSPC? ENOMEM?
>
> I still think EINVAL actually, as in this case the problem isn't that
> space couldn't be allocated but that the buffer in the SSDB is larger
> than I expect it to be, which means the definition of it has changed /
> this device isn't actually supported.
OK!
...
> >> + if (!IS_ERR_OR_NULL(sensor_config) && sensor_config->function_maps) {
> > Hmm...
> >
> > Would
> >
> > if (IS_ERR_OR_NULL(sensor_config))
> > return 0;
> >
> > if (!_maps)
> > return 0;
> >
> > with respective comments working here?
>
> No, because the absence of either sensor_config or
> sensor_config->function_maps is not a failure mode. We only need to
> provide sensor_configs for some platforms, and function_maps for even
> fewer. So if that check is false, the rest of the function should still
> execute.
I see, thanks for elaboration.
...
> >> + 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.
...
> >> + 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.
--
With Best Regards,
Andy Shevchenko
WARNING: multiple messages have this Message-ID (diff)
From: Andy Shevchenko <andy.shevchenko@gmail.com>
To: Daniel Scally <djrscally@gmail.com>
Cc: Tomasz Figa <tfiga@chromium.org>,
Sakari Ailus <sakari.ailus@linux.intel.com>,
Rajmohan Mani <rajmohan.mani@intel.com>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
Len Brown <lenb@kernel.org>,
Mika Westerberg <mika.westerberg@linux.intel.com>,
Linus Walleij <linus.walleij@linaro.org>,
Bartosz Golaszewski <bgolaszewski@baylibre.com>,
Wolfram Sang <wsa@kernel.org>, Lee Jones <lee.jones@linaro.org>,
kieran.bingham+renesas@ideasonboard.com,
Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
Hans de Goede <hdegoede@redhat.com>,
Mark Gross <mgross@linux.intel.com>,
Maximilian Luz <luzmaximilian@gmail.com>,
Robert Moore <robert.moore@intel.com>,
Erik Kaneda <erik.kaneda@intel.com>,
me@fabwu.ch,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
ACPI Devel Maling List <linux-acpi@vger.kernel.org>,
"open list:GPIO SUBSYSTEM" <linux-gpio@vger.kernel.org>,
linux-i2c <linux-i2c@vger.kernel.org>,
Platform Driver <platform-driver-x86@vger.kernel.org>,
devel@acpica.org
Subject: Re: [PATCH v3 5/6] platform/x86: Add intel_skl_int3472 driver
Date: Tue, 23 Feb 2021 14:01:25 +0200 [thread overview]
Message-ID: <YDTuldAG9FB8+RAd@smile.fi.intel.com> (raw)
In-Reply-To: <534849f6-c7b5-19b0-a09f-cd410cde93bd@gmail.com>
On Mon, Feb 22, 2021 at 10:35:44PM +0000, Daniel Scally wrote:
> On 22/02/2021 14:58, Andy Shevchenko wrote:
> > On Mon, Feb 22, 2021 at 3:12 PM Daniel Scally <djrscally@gmail.com> wrote:
...
> >> + if (obj->buffer.length > sizeof(*cldb)) {
> >> + dev_err(&adev->dev, "The CLDB buffer is too large\n");
> >> + ret = -EINVAL;
> > ENOSPC? ENOMEM?
>
> I still think EINVAL actually, as in this case the problem isn't that
> space couldn't be allocated but that the buffer in the SSDB is larger
> than I expect it to be, which means the definition of it has changed /
> this device isn't actually supported.
OK!
...
> >> + if (!IS_ERR_OR_NULL(sensor_config) && sensor_config->function_maps) {
> > Hmm...
> >
> > Would
> >
> > if (IS_ERR_OR_NULL(sensor_config))
> > return 0;
> >
> > if (!_maps)
> > return 0;
> >
> > with respective comments working here?
>
> No, because the absence of either sensor_config or
> sensor_config->function_maps is not a failure mode. We only need to
> provide sensor_configs for some platforms, and function_maps for even
> fewer. So if that check is false, the rest of the function should still
> execute.
I see, thanks for elaboration.
...
> >> + 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.
...
> >> + 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.
--
With Best Regards,
Andy Shevchenko
next prev reply other threads:[~2021-02-23 12:01 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-22 13:07 [PATCH v3 0/6] Introduce intel_skl_int3472 module Daniel Scally
2021-02-22 13:07 ` [PATCH v3 1/6] ACPI: scan: Extend acpi_walk_dep_device_list() Daniel Scally
2021-02-22 13:34 ` [Devel] " Andy Shevchenko
2021-02-22 13:34 ` Andy Shevchenko
2021-03-07 13:36 ` Daniel Scally
2021-03-07 20:39 ` [Devel] " Andy Shevchenko
2021-03-07 20:39 ` Andy Shevchenko
2021-03-08 13:36 ` [Devel] " Rafael J. Wysocki
2021-03-08 13:36 ` Rafael J. Wysocki
2021-03-08 13:57 ` [Devel] " Andy Shevchenko
2021-03-08 13:57 ` Andy Shevchenko
2021-03-08 15:45 ` [Devel] " Rafael J. Wysocki
2021-03-08 15:45 ` Rafael J. Wysocki
2021-03-08 17:23 ` [Devel] " Rafael J. Wysocki
2021-03-08 17:23 ` Rafael J. Wysocki
2021-03-08 20:49 ` Daniel Scally
2021-02-22 13:38 ` Wolfram Sang
2021-03-08 17:46 ` [Devel] " Rafael J. Wysocki
2021-03-08 17:46 ` Rafael J. Wysocki
2021-03-08 20:40 ` Daniel Scally
2021-02-22 13:07 ` [PATCH v3 2/6] ACPI: scan: Add function to fetch dependent of acpi device Daniel Scally
2021-02-22 13:07 ` [PATCH v3 3/6] i2c: core: Add a format macro for I2C device names Daniel Scally
2021-02-22 13:38 ` Wolfram Sang
2021-02-22 13:07 ` [PATCH v3 4/6] gpiolib: acpi: Export acpi_get_gpiod() Daniel Scally
2021-02-22 13:07 ` [PATCH v3 5/6] platform/x86: Add intel_skl_int3472 driver Daniel Scally
2021-02-22 13:19 ` Daniel Scally
2021-02-22 13:27 ` Hans de Goede
2021-02-22 22:50 ` Daniel Scally
2021-02-22 14:58 ` [Devel] " Andy Shevchenko
2021-02-22 14:58 ` Andy Shevchenko
2021-02-22 22:35 ` Daniel Scally
2021-02-23 12:01 ` Andy Shevchenko [this message]
2021-02-23 12:01 ` Andy Shevchenko
2021-02-23 13:06 ` Daniel Scally
2021-05-17 21:43 ` Daniel Scally
2021-02-23 20:04 ` Laurent Pinchart
2021-02-23 22:36 ` Daniel Scally
2021-02-24 10:13 ` Laurent Pinchart
2021-02-24 10:18 ` [Devel] " Andy Shevchenko
2021-02-24 10:18 ` Andy Shevchenko
2021-02-24 10:20 ` Daniel Scally
2021-02-22 13:07 ` [PATCH v3 6/6] mfd: tps68470: Remove tps68470 MFD driver Daniel Scally
2021-02-22 14:12 ` [Devel] " Andy Shevchenko
2021-02-22 14:12 ` Andy Shevchenko
2021-02-22 22:37 ` Daniel Scally
2021-03-10 9:33 ` Lee Jones
2021-02-22 13:11 ` [PATCH v3 0/6] Introduce intel_skl_int3472 module Daniel Scally
2021-03-04 13:37 ` Hans de Goede
2021-03-04 13:49 ` Daniel Scally
2021-03-29 15:03 ` Andy Shevchenko
2021-03-29 20:37 ` Daniel Scally
-- strict thread matches above, loose matches on Subject: below --
2021-02-22 13:41 [Devel] Re: [PATCH v3 2/6] ACPI: scan: Add function to fetch dependent of acpi device Andy Shevchenko
2021-02-22 13:41 ` Andy Shevchenko
2021-02-22 13:54 [Devel] Re: [PATCH v3 4/6] gpiolib: acpi: Export acpi_get_gpiod() Andy Shevchenko
2021-02-22 13:54 ` Andy Shevchenko
2021-02-22 14:15 [Devel] Re: [PATCH v3 0/6] Introduce intel_skl_int3472 module Andy Shevchenko
2021-02-22 14:15 ` Andy Shevchenko
2021-02-24 8:56 [Devel] Re: [PATCH v3 5/6] platform/x86: Add intel_skl_int3472 driver Andy Shevchenko
2021-05-17 21:47 Andy Shevchenko
2021-05-17 21:47 ` 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=YDTuldAG9FB8+RAd@smile.fi.intel.com \
--to=devel@acpica.org \
/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.