linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Darren Hart <dvhart@infradead.org>,
	platform-driver-x86@vger.kernel.org,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	linux-acpi@vger.kernel.org, Jonathan Cameron <jic23@kernel.org>,
	Wolfram Sang <wsa@the-dreams.de>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	linux-i2c@vger.kernel.org, Hans de Goede <hdegoede@redhat.com>,
	Heikki Krogerus <heikki.krogerus@linux.intel.com>,
	linux-kernel@vger.kernel.org
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Subject: [PATCH v4 12/15] platform/x86: i2c-multi-instantiate: Introduce IOAPIC IRQ support
Date: Wed, 28 Nov 2018 13:30:21 +0200	[thread overview]
Message-ID: <20181128113024.42126-13-andriy.shevchenko@linux.intel.com> (raw)
In-Reply-To: <20181128113024.42126-1-andriy.shevchenko@linux.intel.com>

If ACPI table provides an Interrupt() resource we may consider to use it
instead of GpioInt() one.

Here we leave an error condition, when getting IRQ resource, to the driver
to decide how to proceed, because some drivers may consider IRQ resource
optional.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
---
 drivers/platform/x86/i2c-multi-instantiate.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/platform/x86/i2c-multi-instantiate.c b/drivers/platform/x86/i2c-multi-instantiate.c
index 99db3e336718..365457f9c424 100644
--- a/drivers/platform/x86/i2c-multi-instantiate.c
+++ b/drivers/platform/x86/i2c-multi-instantiate.c
@@ -18,6 +18,7 @@
 #define IRQ_RESOURCE_TYPE	GENMASK(1, 0)
 #define IRQ_RESOURCE_NONE	0
 #define IRQ_RESOURCE_GPIO	1
+#define IRQ_RESOURCE_APIC	2
 
 struct i2c_inst_data {
 	const char *type;
@@ -104,6 +105,14 @@ static int i2c_multi_inst_probe(struct platform_device *pdev)
 			}
 			board_info.irq = ret;
 			break;
+		case IRQ_RESOURCE_APIC:
+			ret = platform_get_irq(pdev, inst_data[i].irq_idx);
+			if (ret < 0) {
+				dev_dbg(dev, "Error requesting irq at index %d: %d\n",
+					inst_data[i].irq_idx, ret);
+			}
+			board_info.irq = ret;
+			break;
 		default:
 			board_info.irq = 0;
 			break;
-- 
2.19.2


  parent reply	other threads:[~2018-11-28 11:31 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-28 11:30 [PATCH v4 00/15] i2c-multi-instantiate: Adapt for INT3515 and alike Andy Shevchenko
2018-11-28 11:30 ` [PATCH v4 01/15] defconfig: enable I2C_DEBUG_CORE Andy Shevchenko
2018-11-28 11:30 ` [PATCH v4 02/15] platform/x86: intel_cht_int33fe: Remove duplicate NULL check Andy Shevchenko
2018-11-28 11:30 ` [PATCH v4 03/15] platform/x86: intel_cht_int33fe: Accept errors of i2c_acpi_new_device() Andy Shevchenko
2018-11-28 11:30 ` [PATCH v4 04/15] platform/x86: i2c-multi-instantiate: " Andy Shevchenko
2018-11-28 11:30 ` [PATCH v4 05/15] i2c: acpi: Return error pointers from i2c_acpi_new_device() Andy Shevchenko
2018-11-28 11:30 ` [PATCH v4 06/15] platform/x86: intel_cht_int33fe: Get rid of obsolete conditional Andy Shevchenko
2018-11-28 11:30 ` [PATCH v4 07/15] platform/x86: i2c-multi-instantiate: " Andy Shevchenko
2018-11-28 11:30 ` [PATCH v4 08/15] i2c: acpi: Use ACPI_FAILURE instead of !ACPI_SUCCESS Andy Shevchenko
2018-11-28 11:30 ` [PATCH v4 09/15] i2c: acpi: Introduce i2c_acpi_get_i2c_resource() helper Andy Shevchenko
2018-11-28 11:30 ` [PATCH v4 10/15] platform/x86: i2c-multi-instantiate: Count I2cSerialBus() resources Andy Shevchenko
2018-11-28 11:30 ` [PATCH v4 11/15] platform/x86: i2c-multi-instantiate: Distinguish IRQ resource type Andy Shevchenko
2018-11-28 11:30 ` Andy Shevchenko [this message]
2018-11-28 11:30 ` [PATCH v4 13/15] platform/x86: i2c-multi-instantiate: Allow to have same slaves Andy Shevchenko
2018-11-28 11:30 ` [PATCH v4 14/15] ACPI / scan: Create platform device for INT3515 ACPI nodes Andy Shevchenko
2018-11-28 11:30 ` [PATCH v4 15/15] iio: inv_mpu6050: Use i2c_acpi_get_i2c_resource() helper Andy Shevchenko
2018-11-28 11:34 ` [PATCH v4 00/15] i2c-multi-instantiate: Adapt for INT3515 and alike 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=20181128113024.42126-13-andriy.shevchenko@linux.intel.com \
    --to=andriy.shevchenko@linux.intel.com \
    --cc=dvhart@infradead.org \
    --cc=hdegoede@redhat.com \
    --cc=heikki.krogerus@linux.intel.com \
    --cc=jic23@kernel.org \
    --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=platform-driver-x86@vger.kernel.org \
    --cc=rjw@rjwysocki.net \
    --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 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).