LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Charles Keepax <ckeepax@opensource.cirrus.com>
To: <wsa@the-dreams.de>, <mika.westerberg@linux.intel.com>
Cc: <jarkko.nikula@linux.intel.com>,
	<andriy.shevchenko@linux.intel.com>, <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: [PATCH 4/5] i2c: core: Move ACPI gpio IRQ handling into i2c_acpi_get_irq
Date: Tue, 21 May 2019 16:05:01 +0100	[thread overview]
Message-ID: <20190521150502.27305-5-ckeepax@opensource.cirrus.com> (raw)
In-Reply-To: <20190521150502.27305-1-ckeepax@opensource.cirrus.com>

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?

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)
 
 	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);
-
-			if (irq == -ENOENT)
-				irq = acpi_dev_gpio_irq_get(ACPI_COMPANION(dev),
-							    0);
 		}
 		if (irq == -EPROBE_DEFER)
 			return irq;
-- 
2.11.0


  parent reply	other threads:[~2019-05-21 15:07 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-21 15:04 [PATCH 0/5] I2C IRQ Probe Improvements Charles Keepax
2019-05-21 15:04 ` [PATCH 1/5] i2c: acpi: Factor out getting the IRQ from ACPI Charles Keepax
2019-05-21 15:04 ` [PATCH 2/5] i2c: acpi: Use available IRQ helper functions Charles Keepax
2019-05-21 17:16   ` Andy Shevchenko
2019-05-21 15:05 ` [PATCH 3/5] i2c: core: Move ACPI IRQ handling to probe time Charles Keepax
2019-05-21 17:18   ` Andy Shevchenko
2019-05-21 15:05 ` Charles Keepax [this message]
2019-05-21 17:27   ` [PATCH 4/5] i2c: core: Move ACPI gpio IRQ handling into i2c_acpi_get_irq Andy Shevchenko
2019-05-22  8:19     ` Charles Keepax
2019-05-21 15:05 ` [PATCH 5/5] i2c: core: Tidy up handling of init_irq Charles Keepax
  -- strict thread matches above, loose matches on Subject: below --
2019-05-20  8:49 [PATCH 0/5] I2C IRQ Probe Improvements Charles Keepax
2019-05-20  8:49 ` [PATCH 4/5] i2c: core: Move ACPI gpio IRQ handling into i2c_acpi_get_irq Charles Keepax
2019-05-21 11:37   ` Mika Westerberg

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=20190521150502.27305-5-ckeepax@opensource.cirrus.com \
    --to=ckeepax@opensource.cirrus.com \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=benjamin.tissoires@redhat.com \
    --cc=jarkko.nikula@linux.intel.com \
    --cc=jbroadus@gmail.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mika.westerberg@linux.intel.com \
    --cc=patches@opensource.cirrus.com \
    --cc=wsa@the-dreams.de \
    --subject='Re: [PATCH 4/5] i2c: core: Move ACPI gpio IRQ handling into i2c_acpi_get_irq' \
    /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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).