Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp1945224ybi; Thu, 20 Jun 2019 06:36:58 -0700 (PDT) X-Google-Smtp-Source: APXvYqx/ETKdVkjlN+9/pri02qF1PENanpWMZQsFrJ+9szteiKoOCgKUrfY/W8qvqkO3Bj25AJvd X-Received: by 2002:a17:902:6a4:: with SMTP id 33mr19248935plh.338.1561037818483; Thu, 20 Jun 2019 06:36:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1561037818; cv=none; d=google.com; s=arc-20160816; b=QWyA27XNVZn+DVrzFEMPWkRxH44n1IFBWHXuClCr9JcaJdXpOAojao+VTzRSTVRl6I EORSzPF6K8fRJNbncDpt8H6eJtB01An5uSXBR57BafU6IwKwo1N6HvAIKv9SUYCTxLlh HgQwZFkpt+bLg0p+XN5NNRUZa/qOepxvzl+Kiwj/Ljv2Y6qG/bFbJNx69HcL4BdPOmoo HTrqS6nCemKkwjGJ9zMSpYQKH8Ba4POlYaGAw0cjEQ1gKT9g+1ukEMZnp5bnhsqIwRie NWHhogIDSjK048rOcS4xHgEYLDZ0zaA3b1XWc8ygYdr7XvTVBAMGWkuc6UEH5mNGsqwM sdQg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:message-id:date:subject:cc :to:from:dkim-signature; bh=lTma+isYmZ86XvEFPQ4p1OK4O8R26zPHPYXD3Zj9zxQ=; b=STiBwTmOwjVUApcJ2lcr3JjUAdk3iPaQsJwBjZWdktqny0qOQf2wy8WSkYIIQRWAlp iLSuRSmaAr+8rfGglIm/lIW2RnoAkQ6840Aj0QFIGMryjV9WLhWpPnhIzca8GLdbgphK vdXN2AWP4BbZo6jYhMgT4cwTdTXq7JJ5ZTnQNkUkq4QdtZDXlCfVb8tllftbP9v6tf8y kirjF6+DlRrbN0S4gkTMPPI5LJ246hFXG6X954F8pMaJ/grEgA77wyz4E+AIzSjXPmxp 3+kJVouy6lwZ3etHsS7ipS3nKsvnF82wRvZ8QG/RmJbKEHFEFcpItox1U2H5JTZo0Sw9 4duQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@cirrus.com header.s=PODMain02222019 header.b=hva258S0; 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=pass (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 l1si5777202pgm.391.2019.06.20.06.36.42; Thu, 20 Jun 2019 06:36:58 -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; dkim=pass header.i=@cirrus.com header.s=PODMain02222019 header.b=hva258S0; 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=pass (p=NONE sp=NONE dis=NONE) header.from=opensource.cirrus.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731953AbfFTNe7 (ORCPT + 99 others); Thu, 20 Jun 2019 09:34:59 -0400 Received: from mx0a-001ae601.pphosted.com ([67.231.149.25]:5868 "EHLO mx0b-001ae601.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726562AbfFTNe7 (ORCPT ); Thu, 20 Jun 2019 09:34:59 -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 x5KDYLFw022021; Thu, 20 Jun 2019 08:34:21 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cirrus.com; h=from : to : cc : subject : date : message-id : mime-version : content-type; s=PODMain02222019; bh=lTma+isYmZ86XvEFPQ4p1OK4O8R26zPHPYXD3Zj9zxQ=; b=hva258S0GWbBOIZp5KNgwXIUvCQWFxWrPf+Vp2RCEpVFmizBreL8hIsZh3XjUJjRUs1y nyxEWGs9HSST7neF2/+udscaLpVBDidL+Hw700ron4Efr0wA7YQXb7SXHxeOWwfbcKdE o3kvT4223uBtlTplkji5GWSCz+m1jhajsivI+W0upLZojFSU5j8coXh+9wXG3p0wzEOH 7pHnVXMy4uB81NTMQOWX5K5LVSpY3VYL/x8GWQWaV/Z+MFI4Dv3nvmSLbEub+ghHRBGU ySZl35fIfWDTLs3kPok1UhACuX6ARTl6ZOUVJuVNx3dxsG9FBOe1I07Pk6bQuJ4co0rD qQ== Authentication-Results: ppops.net; spf=none smtp.mailfrom=ckeepax@opensource.cirrus.com Received: from mail1.cirrus.com (mail1.cirrus.com [141.131.3.20]) by mx0a-001ae601.pphosted.com with ESMTP id 2t780gjqht-1; Thu, 20 Jun 2019 08:34:21 -0500 Received: from EDIEX01.ad.cirrus.com (unknown [198.61.84.80]) by mail1.cirrus.com (Postfix) with ESMTP id F2BB3611C8C7; Thu, 20 Jun 2019 08:34:20 -0500 (CDT) Received: from EDIEX01.ad.cirrus.com (198.61.84.80) by EDIEX01.ad.cirrus.com (198.61.84.80) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1591.10; Thu, 20 Jun 2019 14:34:20 +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; Thu, 20 Jun 2019 14:34:20 +0100 Received: from algalon.ad.cirrus.com (algalon.ad.cirrus.com [198.90.251.122]) by ediswmail.ad.cirrus.com (Postfix) with ESMTP id 51E7445; Thu, 20 Jun 2019 14:34:20 +0100 (BST) From: Charles Keepax To: , CC: , , , , , , , Subject: [PATCH v5 0/7] I2C IRQ Probe Improvements Date: Thu, 20 Jun 2019 14:34:13 +0100 Message-ID: <20190620133420.4632-1-ckeepax@opensource.cirrus.com> X-Mailer: git-send-email 2.11.0 MIME-Version: 1.0 Content-Type: text/plain X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=936 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1906200102 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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. Thanks, Charles See previous discussions: - https://lkml.org/lkml/2019/2/15/989 - https://www.spinics.net/lists/linux-i2c/msg39541.html Charles Keepax (7): i2c: core: Allow whole core to use i2c_dev_irq_from_resources i2c: acpi: Use available IRQ helper functions i2c: acpi: Factor out getting the IRQ from ACPI i2c: core: Make i2c_acpi_get_irq available to the rest of the I2C core i2c: core: Move ACPI IRQ handling to probe time i2c: core: Move ACPI gpio IRQ handling into i2c_acpi_get_irq i2c: core: Tidy up handling of init_irq drivers/i2c/i2c-core-acpi.c | 57 +++++++++++++++++++++++++++++++-------------- drivers/i2c/i2c-core-base.c | 11 +++++---- drivers/i2c/i2c-core.h | 11 +++++++++ 3 files changed, 57 insertions(+), 22 deletions(-) -- 2.11.0