Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp4626626ybi; Tue, 11 Jun 2019 09:39:50 -0700 (PDT) X-Google-Smtp-Source: APXvYqzOHBE1XRkESuxj0n9RrG2BlfNMkjwaQuzcm7SV2Yd/7XnsbxpeZeee3TQgxGMYG/x0maN6 X-Received: by 2002:a17:902:a5ca:: with SMTP id t10mr71405733plq.98.1560271190836; Tue, 11 Jun 2019 09:39:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1560271190; cv=none; d=google.com; s=arc-20160816; b=l/76/t6avpX+YoZuQm3Y5H9RrXMQQ9ULxwiCKZxQLlfWoWhazn5mTTMAQ2T5QUIiNH AcohgRLBvJ7bzgljk3nltIwxLlgZg7jDcsX9QIarkoaamOD4BbgGbUcjbtACXwOTnwoq H4l9vUhm9XMTAwBT6NongOqk5kUrLWlUwghoNUOEQRLudA8F545HpFgNBnUMZw619gPW X2ZUlJ5i037jReNsj0xHX1CvoRhQO4DKrbtmW50k1XO9KCV29AP0TiBpXNYRjsjkjOB7 CKVxJdTLrujoPXEQ5AaNpqTsYtUq1Br/qtyxn18Gj4mnise9QGG5RFVfsjjKcW7LuR5a sE5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=GjQ5hY0YbsynTZCIatnnuSfqocgOwbu7vId8V087CfQ=; b=P7mnnFAkHqkAQZ6jB+wQ8ah/95erBL//0M4j3eq7gv0iKEcrDaDNZw0iGSECHqJlnN IdHsDCEScxeNwX4KXBrfNUe5Mf5cKRtqyYqFOYk6iXlyJpCDS2QL0JpW9R3LoZFX3CMW wvVxE36aU/TVzZlTWnsRq3py3YPKJrhXiDZrnAj1/HJ/uWstXqTePQF0Opcdhi32nkQE HhJXred/nPE3k35KBjKrgArCh1Aq+DHxjjqyt9/j3TZfBWsIMx+QwbRcRBsE8p3j2pJv 0UgxGHWPowohXjbzWkBvMowXy4FQyl9yoQ7y30k0NFimHkJWKRYJ/If4ILg++huRw6kB 7k4w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=opensource.cirrus.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 83si12943067pfc.49.2019.06.11.09.39.35; Tue, 11 Jun 2019 09:39:50 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=opensource.cirrus.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2404882AbfFKP3E (ORCPT + 99 others); Tue, 11 Jun 2019 11:29:04 -0400 Received: from mx0a-001ae601.pphosted.com ([67.231.149.25]:36414 "EHLO mx0b-001ae601.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S2387864AbfFKP3E (ORCPT ); Tue, 11 Jun 2019 11:29:04 -0400 Received: from pps.filterd (m0077473.ppops.net [127.0.0.1]) by mx0a-001ae601.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x5BFNeLu029871; Tue, 11 Jun 2019 10:28:34 -0500 Authentication-Results: ppops.net; spf=none smtp.mailfrom=ckeepax@opensource.cirrus.com Received: from mail4.cirrus.com ([87.246.98.35]) by mx0a-001ae601.pphosted.com with ESMTP id 2t0ae2vet2-1; Tue, 11 Jun 2019 10:28:34 -0500 Received: from EDIEX02.ad.cirrus.com (ediex02.ad.cirrus.com [198.61.84.81]) by mail4.cirrus.com (Postfix) with ESMTP id 2AABD611C8A7; Tue, 11 Jun 2019 10:28:51 -0500 (CDT) Received: from EDIEX01.ad.cirrus.com (198.61.84.80) by EDIEX02.ad.cirrus.com (198.61.84.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1591.10; Tue, 11 Jun 2019 16:28:33 +0100 Received: from ediswmail.ad.cirrus.com (198.61.86.93) by EDIEX01.ad.cirrus.com (198.61.84.80) with Microsoft SMTP Server id 15.1.1591.10 via Frontend Transport; Tue, 11 Jun 2019 16:28:33 +0100 Received: from ediswmail.ad.cirrus.com (ediswmail.ad.cirrus.com [198.61.86.93]) by ediswmail.ad.cirrus.com (Postfix) with ESMTP id 2704B44; Tue, 11 Jun 2019 16:28:33 +0100 (BST) Date: Tue, 11 Jun 2019 16:28:33 +0100 From: Charles Keepax To: Benjamin Tissoires CC: Wolfram Sang , , Jarkko Nikula , Andy Shevchenko , Linux I2C , , lkml , Jim Broadus , Subject: Re: [PATCH v4 0/7] I2C IRQ Probe Improvements Message-ID: <20190611152833.GR28362@ediswmail.ad.cirrus.com> References: <20190611123101.25264-1-ckeepax@opensource.cirrus.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=2 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1906110101 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Jun 11, 2019 at 05:16:58PM +0200, Benjamin Tissoires wrote: > On Tue, Jun 11, 2019 at 2:31 PM Charles Keepax > wrote: > > > > This series attempts to align as much IRQ handling into the > > probe path as possible. Note that I don't have a great setup > > for testing these patches so they are mostly just build tested > > and need careful review and testing before any of them are > > merged. > > > > The series brings the ACPI path inline with the way the device > > tree path handles the IRQ entirely at probe time. However, > > it still leaves any IRQ specified through the board_info as > > being handled at device time. In that case we need to cache > > something from the board_info until probe time, which leaves > > any alternative solution with something basically the same as > > the current handling although perhaps caching more stuff. > > Hmm, I still haven't pinpointed the issue, but I wanted to give a test > of the series and I have: > [ 5.511806] i2c_hid i2c-DLL075B:01: HID over i2c has not been > provided an Int IRQ > [ 5.511825] i2c_hid: probe of i2c-DLL075B:01 failed with error -22 > > So it seems that there is something wrong happening when fetching the > IRQ and providing it to i2c-hid. > > That was on a Dell XPS 9360. > > Bisecting is starting. > I have a sneaking suspision, does this diff fix it: diff --git a/drivers/i2c/i2c-core-acpi.c b/drivers/i2c/i2c-core-acpi.c index 57be6342ba508..a90b05a269c36 100644 --- a/drivers/i2c/i2c-core-acpi.c +++ b/drivers/i2c/i2c-core-acpi.c @@ -169,7 +169,7 @@ int i2c_acpi_get_irq(struct i2c_client *client) acpi_dev_free_resource_list(&resource_list); if (irq == -ENOENT) - irq = acpi_dev_gpio_irq_get(adev, 0); + irq = acpi_dev_gpio_irq_get(ACPI_COMPANION(&client->dev), 0); return irq; } There was some earlier discussion about which device was suitable for this call. Thanks, Charles