From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andy Shevchenko Subject: [PATCH v3 10/13] platform/x86: i2c-multi-instantiate: Introduce IOAPIC IRQ support Date: Tue, 27 Nov 2018 17:37:25 +0200 Message-ID: <20181127153728.47866-11-andriy.shevchenko@linux.intel.com> References: <20181127153728.47866-1-andriy.shevchenko@linux.intel.com> Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Return-path: In-Reply-To: <20181127153728.47866-1-andriy.shevchenko@linux.intel.com> Sender: linux-kernel-owner@vger.kernel.org To: Darren Hart , platform-driver-x86@vger.kernel.org, "Rafael J. Wysocki" , linux-acpi@vger.kernel.org, Jonathan Cameron , Wolfram Sang , Mika Westerberg , linux-i2c@vger.kernel.org, Hans de Goede , Heikki Krogerus , linux-kernel@vger.kernel.org Cc: Andy Shevchenko List-Id: linux-acpi@vger.kernel.org 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 Reviewed-by: Hans de Goede --- 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 efee77a11419..a1e6ec12ef73 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