From: Mika Westerberg <mika.westerberg@linux.intel.com>
To: Charles Keepax <ckeepax@opensource.cirrus.com>
Cc: wsa@the-dreams.de, linux-i2c@vger.kernel.org,
linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org,
benjamin.tissoires@redhat.com, jbroadus@gmail.com,
patches@opensource.cirrus.com
Subject: Re: [PATCH 4/5] i2c: core: Move ACPI gpio IRQ handling into i2c_acpi_get_irq
Date: Tue, 21 May 2019 14:37:01 +0300 [thread overview]
Message-ID: <20190521113701.GY2781@lahna.fi.intel.com> (raw)
In-Reply-To: <20190520084936.10590-5-ckeepax@opensource.cirrus.com>
On Mon, May 20, 2019 at 09:49:35AM +0100, Charles Keepax wrote:
> It makes sense to contain all the ACPI IRQ handling in a single helper
> function.
>
> Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
> ---
>
> Note that this one is somewhat interesting, it seems the search
> through the resource list is done against the companion device
> of the adapter but the GPIO search is done against the companion
> device of the client. It feels to me like these really should
> be done on the same device, and certainly this is what SPI
> does (both against the equivalent of the adapter). Perhaps
> someone with more ACPI knowledge than myself could comment?
What GPIO search you mean? I did not find any ACPI specific GPIO lookup
in the i2c-core-acpi/base files.
> Thanks,
> Charles
>
> drivers/i2c/i2c-core-acpi.c | 3 +++
> drivers/i2c/i2c-core-base.c | 4 ----
> 2 files changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/i2c/i2c-core-acpi.c b/drivers/i2c/i2c-core-acpi.c
> index e332760bf9ebc..0c882d956e9a4 100644
> --- a/drivers/i2c/i2c-core-acpi.c
> +++ b/drivers/i2c/i2c-core-acpi.c
> @@ -164,6 +164,9 @@ int i2c_acpi_get_irq(struct i2c_client *client, int *irq)
Maybe worth adding kernel-doc explaining what the function does if it
does not have already.
>
> acpi_dev_free_resource_list(&resource_list);
>
> + if (*irq < 0)
> + *irq = acpi_dev_gpio_irq_get(ACPI_COMPANION(&client->dev), 0);
> +
> return 0;
> }
>
> diff --git a/drivers/i2c/i2c-core-base.c b/drivers/i2c/i2c-core-base.c
> index c1afa17a76bfc..f958b50c78c04 100644
> --- a/drivers/i2c/i2c-core-base.c
> +++ b/drivers/i2c/i2c-core-base.c
> @@ -336,10 +336,6 @@ static int i2c_device_probe(struct device *dev)
> irq = of_irq_get(dev->of_node, 0);
> } else if (ACPI_COMPANION(dev)) {
> i2c_acpi_get_irq(client, &irq);
I think we should check and handle possible error here.
> -
> - if (irq == -ENOENT)
> - irq = acpi_dev_gpio_irq_get(ACPI_COMPANION(dev),
> - 0);
> }
> if (irq == -EPROBE_DEFER)
> return irq;
> --
> 2.11.0
next prev parent reply other threads:[~2019-05-21 11:37 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-20 8:49 [PATCH 0/5] I2C IRQ Probe Improvements Charles Keepax
2019-05-20 8:49 ` Charles Keepax
2019-05-20 8:49 ` [PATCH 1/5] i2c: acpi: Factor out getting the IRQ from ACPI Charles Keepax
2019-05-20 8:49 ` Charles Keepax
2019-05-21 11:17 ` Mika Westerberg
2019-05-20 8:49 ` [PATCH 2/5] i2c: acpi: Use available IRQ helper functions Charles Keepax
2019-05-20 8:49 ` Charles Keepax
2019-05-20 8:49 ` [PATCH 3/5] i2c: core: Move ACPI IRQ handling to probe time Charles Keepax
2019-05-20 8:49 ` Charles Keepax
2019-05-21 11:27 ` Mika Westerberg
2019-05-21 12:57 ` Andy Shevchenko
2019-05-21 13:11 ` Charles Keepax
2019-05-21 13:11 ` Charles Keepax
2019-05-21 13:20 ` Andy Shevchenko
2019-05-20 8:49 ` [PATCH 4/5] i2c: core: Move ACPI gpio IRQ handling into i2c_acpi_get_irq Charles Keepax
2019-05-20 8:49 ` Charles Keepax
2019-05-21 11:37 ` Mika Westerberg [this message]
2019-05-20 8:49 ` [PATCH 5/5] i2c: core: Tidy up handling of init_irq Charles Keepax
2019-05-20 8:49 ` Charles Keepax
-- strict thread matches above, loose matches on Subject: below --
2019-05-21 15:04 [PATCH 0/5] I2C IRQ Probe Improvements Charles Keepax
2019-05-21 15:05 ` [PATCH 4/5] i2c: core: Move ACPI gpio IRQ handling into i2c_acpi_get_irq Charles Keepax
2019-05-21 15:05 ` Charles Keepax
2019-05-21 17:27 ` Andy Shevchenko
2019-05-22 8:19 ` Charles Keepax
2019-05-22 8:19 ` Charles Keepax
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=20190521113701.GY2781@lahna.fi.intel.com \
--to=mika.westerberg@linux.intel.com \
--cc=benjamin.tissoires@redhat.com \
--cc=ckeepax@opensource.cirrus.com \
--cc=jbroadus@gmail.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=patches@opensource.cirrus.com \
--cc=wsa@the-dreams.de \
/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.