From: Hans de Goede <hdegoede@redhat.com>
To: Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
platform-driver-x86@vger.kernel.org,
linux-kernel@vger.kernel.org,
Stefan Binding <sbinding@opensource.cirrus.com>
Cc: Mark Gross <markgross@kernel.org>, patches@opensource.cirrus.com
Subject: Re: [PATCH v1 2/7] platform/x86: serial-multi-instantiate: Improve autodetection
Date: Sat, 9 Jul 2022 11:48:03 +0200 [thread overview]
Message-ID: <edba69a1-3404-d20f-2a9c-6359de37b6ee@redhat.com> (raw)
In-Reply-To: <20220709000636.35550-2-andriy.shevchenko@linux.intel.com>
<resend with Stefan added to the To list>
Hi,
On 7/9/22 02:06, Andy Shevchenko wrote:
> Instead of calling specific resource counter, let just probe each
> of the type and see what it says. Also add a debug message when
> none is found.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Only probing for I2C resources if some are present is deliberate:
commit 68f201f9061c000d7a4a9f359f021b1cd535d62b
Author: Stefan Binding <sbinding@opensource.cirrus.com>
Date: Fri Jan 21 17:24:29 2022 +0000
platform/x86: serial-multi-instantiate: Add SPI support
Add support for spi bus in serial-multi-instantiate driver
Some peripherals can have either a I2C or a SPI connection
to the host (but not both) but use the same HID for both
types. So it is not possible to use the HID to determine
whether it is I2C or SPI. The driver must check the node
to see if it contains I2cSerialBus or SpiSerialBus entries.
For backwards-compatibility with the existing nodes I2C is
checked first and if such entries are found ONLY I2C devices
are created. Since some existing nodes that were already
handled by this driver could also contain unrelated
SpiSerialBus nodes that were previously ignored, and this
preserves that behavior. If there is ever a need to handle
a node where both I2C and SPI devices must be instantiated
this can be added in future.
Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20220121172431.6876-8-sbinding@opensource.cirrus.com
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
So nack for this change.
Regards,
Hans
> ---
> drivers/platform/x86/serial-multi-instantiate.c | 16 +++++++++++-----
> 1 file changed, 11 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/platform/x86/serial-multi-instantiate.c b/drivers/platform/x86/serial-multi-instantiate.c
> index 97db23243018..e599058196bb 100644
> --- a/drivers/platform/x86/serial-multi-instantiate.c
> +++ b/drivers/platform/x86/serial-multi-instantiate.c
> @@ -232,6 +232,7 @@ static int smi_probe(struct platform_device *pdev)
> const struct smi_node *node;
> struct acpi_device *adev;
> struct smi *smi;
> + int ret;
>
> adev = ACPI_COMPANION(dev);
> if (!adev)
> @@ -255,15 +256,20 @@ static int smi_probe(struct platform_device *pdev)
> case SMI_SPI:
> return smi_spi_probe(pdev, adev, smi, node->instances);
> case SMI_AUTO_DETECT:
> - if (i2c_acpi_client_count(adev) > 0)
> - return smi_i2c_probe(pdev, adev, smi, node->instances);
> - else
> - return smi_spi_probe(pdev, adev, smi, node->instances);
> + ret = smi_i2c_probe(pdev, adev, smi, node->instances);
> + if (ret && ret != -ENOENT)
> + return ret;
> + ret = smi_spi_probe(pdev, adev, smi, node->instances);
> + if (ret && ret != -ENOENT)
> + return ret;
> + if (ret)
> + return dev_err_probe(dev, ret, "Error No resources found\n");
> + break;
> default:
> return -EINVAL;
> }
>
> - return 0; /* never reached */
> + return 0;
> }
>
> static int smi_remove(struct platform_device *pdev)
next prev parent reply other threads:[~2022-07-09 9:49 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-09 0:06 [PATCH v1 1/7] platform/x86: serial-multi-instantiate: return -ENOENT when no resources found Andy Shevchenko
2022-07-09 0:06 ` [PATCH v1 2/7] platform/x86: serial-multi-instantiate: Improve autodetection Andy Shevchenko
2022-07-09 9:47 ` Hans de Goede
[not found] ` <CAHp75VfVoTcZD7vXxXckxu-crsXr7m4bx8F9D9cs2TtBbyeYqQ@mail.gmail.com>
2022-07-09 11:00 ` Hans de Goede
2022-07-09 11:34 ` Andy Shevchenko
2022-07-09 14:46 ` Hans de Goede
2022-07-09 9:48 ` Hans de Goede [this message]
2022-07-09 0:06 ` [PATCH v1 3/7] platform/x86: serial-multi-instantiate: Drop duplicate check Andy Shevchenko
2022-07-09 9:50 ` Hans de Goede
2022-07-09 0:06 ` [PATCH v1 4/7] platform/x86: serial-multi-instantiate: Improve dev_err_probe() messaging Andy Shevchenko
2022-07-09 0:06 ` [PATCH v1 5/7] platform/x86: serial-multi-instantiate: Use while (i--) pattern to clean up Andy Shevchenko
2022-07-09 0:06 ` [PATCH v1 6/7] platform/x86: serial-multi-instantiate: Get rid of redundant 'else' Andy Shevchenko
2022-07-09 0:06 ` [PATCH v1 7/7] platform/x86: serial-multi-instantiate: Sort ACPI IDs by HID Andy Shevchenko
2022-07-09 9:45 ` [PATCH v1 1/7] platform/x86: serial-multi-instantiate: return -ENOENT when no resources found Hans de Goede
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=edba69a1-3404-d20f-2a9c-6359de37b6ee@redhat.com \
--to=hdegoede@redhat.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=markgross@kernel.org \
--cc=patches@opensource.cirrus.com \
--cc=platform-driver-x86@vger.kernel.org \
--cc=sbinding@opensource.cirrus.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®