Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752691AbcKZV5V (ORCPT ); Sat, 26 Nov 2016 16:57:21 -0500 Received: from mail-qk0-f193.google.com ([209.85.220.193]:35523 "EHLO mail-qk0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751712AbcKZV5M (ORCPT ); Sat, 26 Nov 2016 16:57:12 -0500 MIME-Version: 1.0 In-Reply-To: <1479726474-31532-1-git-send-email-benjamin.tissoires@redhat.com> References: <1479726474-31532-1-git-send-email-benjamin.tissoires@redhat.com> From: Antonio Borneo Date: Sat, 26 Nov 2016 22:57:10 +0100 Message-ID: Subject: Re: [PATCH RFC] HID: cp2112: add IRQ chip handling To: Benjamin Tissoires Cc: Ellen Wang , David Barksdale , Jiri Kosina , linux-input , "linux-kernel@vger.kernel.org" Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2024 Lines: 56 On Mon, Nov 21, 2016 at 12:07 PM, Benjamin Tissoires wrote: > The GPIO part doesn't provide interrupts when GPIO are toggled. > So use a polling mechanism if someone requests a GPIO as an IRQ. > > Signed-off-by: Benjamin Tissoires > --- > > I am currently running this patch in my local tree. > It allows to attach a SMBus device completely on the CP2112, with a simple > definition at the end of probe: > > { > struct i2c_client *client; > struct i2c_hid_platform_data pdata = { > .hid_descriptor_address = 0x20, > }; > struct i2c_board_info synaptics_info = { > I2C_BOARD_INFO("hid", 0x2c), > .platform_data = &pdata, > }; > int irq = cp2112_allocate_irq(dev, 2); > > if (irq <= 0) { > dev_err(dev->gc.parent, "Failed to translate GPIO to IRQ\n"); > goto err_sysfs_remove; > } > > synaptics_info.irq = irq; > irq_set_irq_type(irq, IRQ_TYPE_LEVEL_LOW); > > hid_device_io_start(hdev); > > /* give time for the device to initialize */ > msleep(500); > > client = i2c_new_device(&dev->adap, &synaptics_info); > if (!client) > hid_err(hdev, "failed allocating Synaptics device\n"); > > } > > I wonder if we want to consider this upstream, given that the driver is only > used for development. Ciao Benjamin, for me it makes sense to push it upstream. I also coded something similar 2+ years ago, but then my cp2112 got broken before I could clean-up and submit the patches. As far as I remember, Ellen was using cp2112 in a system in production. For sure this driver is not widely used, but definitively it's not for development use only. Best Regards Antonio