Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp490003ybi; Fri, 21 Jun 2019 03:09:28 -0700 (PDT) X-Google-Smtp-Source: APXvYqyHwkLcofvMl5Dq4eJZA8twu1/CAVVFvKpkRh1Etqpg1k8e23e3CXnkkNzxXC8v5CCHYv2d X-Received: by 2002:a65:404a:: with SMTP id h10mr17953651pgp.262.1561111768813; Fri, 21 Jun 2019 03:09:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1561111768; cv=none; d=google.com; s=arc-20160816; b=WY56nnnmVbKQyEtkZ4D9QwYnMumIz0DfnKLV66iW8L1Gkmaw3lZdXFzM7QMKgntiK6 BKD50lKcn9+OIlvp8hM0KFn8KdlGWQ5ghcBJkkvPifd5re5DpkKWCI0aM7ryRRHD0BuQ Lpyp0lEeH1s0+HAkLa1herox2vkfliKMHaMLR2kFlLhhRCbHa5t3TNNeXtSvljiqNKwN UNOqw3xl6U9UDl0eRy+Z662eTdW5Zrg0HdWNwhw/jccsecdwv3tF2+ehnpNIEcf0fwQA WFCiBHHSfgpEfFox72iTVlu5E7YDfXD8Tp+T1DrB1zcuP6W8+b5EuosC700+fTR07hhm YZAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=LXfKiBcitALEhcT0OeQ7qJQiQ+c2JkVF+KsqYJhdbbU=; b=L9to0aeq1AEehYYveRFXbaGw2BtS4VwnmLi3x1oMUV3QQ6yR4ykTMq9vmq9YMVzQk3 T5uDc5lLoEFsBeLfrvxkru6AvwcXTOL20QVELmH7Dw1/yRWWze+7fQbPsogtsPMCP5XG KAyCnfHKfX1elVaQ5iIR8yMI6FC1TTi5qu8ZNc4clclmhSh6mj28FODeZLVQDc1gXXV2 TVb6Pm0CToM8R3ARAWtwz5Z+iRL6X1iA3P8eqCZy0Vy4wGEn46m0pNHymgqZWdHCdLK+ ZakAuglhph+FyTmOpIBoIqW8WF834jU64/4kfjo2ElCm00G6Fdm4o9KF6JafJ3E+CcAR 2oKQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@cirrus.com header.s=PODMain02222019 header.b="gRvibSR/"; 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 e6si2418475pfl.254.2019.06.21.03.09.13; Fri, 21 Jun 2019 03:09:28 -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="gRvibSR/"; 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 S1726730AbfFUKIz (ORCPT + 99 others); Fri, 21 Jun 2019 06:08:55 -0400 Received: from mx0b-001ae601.pphosted.com ([67.231.152.168]:61486 "EHLO mx0b-001ae601.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726668AbfFUKIv (ORCPT ); Fri, 21 Jun 2019 06:08:51 -0400 Received: from pps.filterd (m0077474.ppops.net [127.0.0.1]) by mx0b-001ae601.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x5LA4Qot000349; 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 : in-reply-to : references : mime-version : content-type; s=PODMain02222019; bh=LXfKiBcitALEhcT0OeQ7qJQiQ+c2JkVF+KsqYJhdbbU=; b=gRvibSR/NW0HKrEGI6d+4vsxplqQHtnAzo308YLCM2gIQoW3Fw/ptP+AfWekYJ0+V4t1 lO8wbY77wIBlCcNMJFh5+Q6D/NWvn4HlTftwT4tEi9MGto1/06eW1wM220OYN9OA3gvi 7Cb+uEdgLw8JENKLZA2zEcOouloePlqzlXNcnv0kDCmp3Xoukjj/ixxk4jRKgKndQS+E UC8UpcuxXFm7BbjSmTZq/J8ZV3Mzkso9WrhCHIvZ82+0CWCrs0EgaPj9q17vnILaMKlQ Otj6fv1WGpMYq/Ygb3OlmLqDGG1YU3U0rXpmop8U+mO/F65O6HBK80859qTLbxo/pRnO LA== Authentication-Results: ppops.net; spf=none smtp.mailfrom=ckeepax@opensource.cirrus.com Received: from mail4.cirrus.com ([87.246.98.35]) by mx0b-001ae601.pphosted.com with ESMTP id 2t780cuxbq-1; Fri, 21 Jun 2019 05:08:16 -0500 Received: from EDIEX01.ad.cirrus.com (ediex01.ad.cirrus.com [198.61.84.80]) by mail4.cirrus.com (Postfix) with ESMTP id 68FAF611C8A7; Fri, 21 Jun 2019 05:08:15 -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; 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 3C9A52DA; Fri, 21 Jun 2019 11:08:15 +0100 (BST) From: Charles Keepax To: , CC: , , , , , , , Subject: [PATCH v6 3/7] i2c: acpi: Factor out getting the IRQ from ACPI Date: Fri, 21 Jun 2019 11:08:11 +0100 Message-ID: <20190621100815.12417-4-ckeepax@opensource.cirrus.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20190621100815.12417-1-ckeepax@opensource.cirrus.com> References: <20190621100815.12417-1-ckeepax@opensource.cirrus.com> MIME-Version: 1.0 Content-Type: text/plain 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=802 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 In preparation for future refactoring factor out the fetch of the IRQ into its own helper function. Whilst we are at it update the handling to return the actual error code returned from acpi_dev_get_resources as well. Signed-off-by: Charles Keepax --- Changes since v5: - Return error code from acpi_dev_get_resources - Bail out if i2c_acpi_get_irq fails Thanks, Charles drivers/i2c/i2c-core-acpi.c | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/drivers/i2c/i2c-core-acpi.c b/drivers/i2c/i2c-core-acpi.c index 3951e352317ff..c91492eaacd93 100644 --- a/drivers/i2c/i2c-core-acpi.c +++ b/drivers/i2c/i2c-core-acpi.c @@ -145,12 +145,29 @@ static int i2c_acpi_add_resource(struct acpi_resource *ares, void *data) return 1; } +static int i2c_acpi_get_irq(struct acpi_device *adev) +{ + struct list_head resource_list; + int irq = -ENOENT; + int ret; + + INIT_LIST_HEAD(&resource_list); + + ret = acpi_dev_get_resources(adev, &resource_list, + i2c_acpi_add_resource, &irq); + if (ret < 0) + return ret; + + acpi_dev_free_resource_list(&resource_list); + + return irq; +} + static int i2c_acpi_get_info(struct acpi_device *adev, struct i2c_board_info *info, struct i2c_adapter *adapter, acpi_handle *adapter_handle) { - struct list_head resource_list; struct i2c_acpi_lookup lookup; int ret; @@ -182,11 +199,9 @@ static int i2c_acpi_get_info(struct acpi_device *adev, *adapter_handle = lookup.adapter_handle; /* Then fill IRQ number if any */ - INIT_LIST_HEAD(&resource_list); - ret = acpi_dev_get_resources(adev, &resource_list, - i2c_acpi_add_resource, &info->irq); - if (ret < 0) - return -EINVAL; + info->irq = i2c_acpi_get_irq(adev); + if (info->irq < 0) + return info->irq; acpi_set_modalias(adev, dev_name(&adev->dev), info->type, sizeof(info->type)); -- 2.11.0