Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp489797ybi; Fri, 21 Jun 2019 03:09:17 -0700 (PDT) X-Google-Smtp-Source: APXvYqzPhHWt5MUWTGXzwJUPzKwZNuxI302xUbq9qTX86PIquKO5V25dNqY+8GZxQUCmH3r0L5n8 X-Received: by 2002:a63:6ecf:: with SMTP id j198mr17510493pgc.437.1561111757014; Fri, 21 Jun 2019 03:09:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1561111757; cv=none; d=google.com; s=arc-20160816; b=FSRuXF9ltJcspiJYMbHJOBsZxzlecSd5wtAXUzf05K/RNA6aRk9/PnelMbHYOHEvFA czjp//k7cTnkMjtwXI2gqnW0179o1SJa/EbAGvUI7CkGKEjMVQCe0j2C8+cjQ0g5rEuw PBgWzasuLsD9qyHYjy2RkJEuS4m5z99Kzx4iXm2PctsX71yAEq0mN1OS1zbzk7btrxsB 1+vn8frYqjy7FLfNGgjvcMqn4UQa+NA+5A05qTh3HVkewSdxIV8qzlJpWS0N/dc8OSNt JL0HawVkiXlOyvKuiITz3NBzl9ZYOkcTdWG1CsRCAFyURqZbyhXPmaMEQkZmXJgvhuYG Ht+Q== 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=DdAblSvKFopDe47PiVKyUP6lu1VEAXERAt2Tpbw45S0=; b=L4cw9oQYPpeG//4DnjkepD7wBcfw0NsCpyRv8VkGCRRTqX4brdtB3kRFBdx9Tqnzpy bJ6rb38NwbjTloHgWeyEVqKStWaM/XEKtcZ2r1IzgcADHBmjQ8ZxRGbCwjaPk9PWJvuy AWHrKnIYgTX9yiUc4sz0QSxTx7+WTdGzWlw1nURujVdXheHAjwxOXyK6eEe5tXjKhKwI EEVF6loWzZWi4aanxd7/3B9lRS3GgyGQWTA7UEA1Fmzn4Q9cJf+rBQADBo30PiMzBBaE TT6GCnNCJWb9Wkb2o25kGCElyGfq0AERCULcZHddC9/mWBTyplAqDasUbUKbh0rcE71t fxnA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@cirrus.com header.s=PODMain02222019 header.b="Sc+LlKP/"; 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 32si2352743plc.152.2019.06.21.03.09.01; Fri, 21 Jun 2019 03:09:16 -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="Sc+LlKP/"; 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 S1726645AbfFUKIr (ORCPT + 99 others); Fri, 21 Jun 2019 06:08:47 -0400 Received: from mx0a-001ae601.pphosted.com ([67.231.149.25]:49756 "EHLO mx0b-001ae601.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726218AbfFUKIo (ORCPT ); Fri, 21 Jun 2019 06:08:44 -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 x5LA3qN9008654; Fri, 21 Jun 2019 05:08:16 -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=DdAblSvKFopDe47PiVKyUP6lu1VEAXERAt2Tpbw45S0=; b=Sc+LlKP/O3VIAT7hX6721aVm8ErJL68b3I3QmZoLrQUmMS2CVCnh74HVUcqExpn9jzcA /r1un1v70UFX4lsJPzlU23sNE7pN6RJq9mbY59Gdhg/p/8+RGcRyYQwCru0fNmtg8ycb lvVQeJcY6n+S/H2A96ZcBoGkSllP9YJrpx5RLMhbWVw9rQtEGtNLW/cQgGW90BucU4fw Ea43FePZuckMvnPyzSC/OfYneYtTM7/63kKgCsTbwZVl6IdLOvQNMvbzhawFs6rzywNY e11QKTTI7nHEmhkm5Sv6r4LHHSDuXBXZYZDhuuREr+vnriqSVcbUtcN7hHmT/wKr0sho CQ== Authentication-Results: ppops.net; spf=none smtp.mailfrom=ckeepax@opensource.cirrus.com Received: from mail2.cirrus.com (mail2.cirrus.com [141.131.128.20]) by mx0a-001ae601.pphosted.com with ESMTP id 2t780gm6v7-1; Fri, 21 Jun 2019 05:08:16 -0500 Received: from EDIEX02.ad.cirrus.com (unknown [198.61.84.81]) by mail2.cirrus.com (Postfix) with ESMTP id 25897605A6BD; Fri, 21 Jun 2019 05:08:16 -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; Fri, 21 Jun 2019 11:08:15 +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; Fri, 21 Jun 2019 11:08:15 +0100 Received: from algalon.ad.cirrus.com (algalon.ad.cirrus.com [198.90.251.122]) by ediswmail.ad.cirrus.com (Postfix) with ESMTP id 1BF5544; Fri, 21 Jun 2019 11:08:15 +0100 (BST) From: Charles Keepax To: , CC: , , , , , , , Subject: [PATCH v6 0/7] I2C IRQ Probe Improvements Date: Fri, 21 Jun 2019 11:08:08 +0100 Message-ID: <20190621100815.12417-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=923 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1906210085 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 | 59 ++++++++++++++++++++++++++++++++------------- drivers/i2c/i2c-core-base.c | 11 +++++---- drivers/i2c/i2c-core.h | 9 +++++++ 3 files changed, 57 insertions(+), 22 deletions(-) -- 2.11.0