From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752047AbcJBRgC (ORCPT ); Sun, 2 Oct 2016 13:36:02 -0400 Received: from bh-25.webhostbox.net ([208.91.199.152]:50579 "EHLO bh-25.webhostbox.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750859AbcJBRfy (ORCPT ); Sun, 2 Oct 2016 13:35:54 -0400 From: Guenter Roeck To: Dmitry Torokhov Cc: Chris Healy , Nick Dyer , Bjorn Andersson , linux-kernel@vger.kernel.org, linux-input@vger.kernel.org, Guenter Roeck Subject: [PATCH] Input: synaptics-rmi4 - Make interrupt support in I2C driver optional Date: Sun, 2 Oct 2016 10:35:48 -0700 Message-Id: <1475429748-5178-1-git-send-email-linux@roeck-us.net> X-Mailer: git-send-email 2.5.0 X-Authenticated_sender: guenter@roeck-us.net X-OutGoing-Spam-Status: No, score=-1.0 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - bh-25.webhostbox.net X-AntiAbuse: Original Domain - vger.kernel.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - roeck-us.net X-Get-Message-Sender-Via: bh-25.webhostbox.net: authenticated_id: guenter@roeck-us.net X-Authenticated-Sender: bh-25.webhostbox.net: guenter@roeck-us.net X-Source: X-Source-Args: X-Source-Dir: Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org While interrupt support is necessary for the touchscreen to work as input device, it is sometimes convenient to be able to instantiate the I2C transport driver without it, for example for testing and for debugging functionality which does not rely on interrupt support. Signed-off-by: Guenter Roeck --- Applies on top of the previously submitted patch fixing error handling. drivers/input/rmi4/rmi_i2c.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/drivers/input/rmi4/rmi_i2c.c b/drivers/input/rmi4/rmi_i2c.c index 1ebc2c1debae..c1f5ed0bce0b 100644 --- a/drivers/input/rmi4/rmi_i2c.c +++ b/drivers/input/rmi4/rmi_i2c.c @@ -321,9 +321,14 @@ static int rmi_i2c_probe(struct i2c_client *client, if (retval) return retval; - retval = rmi_i2c_init_irq(client); - if (retval < 0) - return retval; + if (rmi_i2c->irq) { + retval = rmi_i2c_init_irq(client); + if (retval < 0) + return retval; + } else { + dev_warn(&client->dev, + "No interrupt support, touchscreen will not report input events\n"); + } dev_info(&client->dev, "registered rmi i2c driver at %#04x.\n", client->addr); -- 2.5.0