Received: by 2002:a25:f815:0:0:0:0:0 with SMTP id u21csp1838697ybd; Thu, 27 Jun 2019 02:26:58 -0700 (PDT) X-Google-Smtp-Source: APXvYqw9JKczcKkAjs4AqvV216BQ9PYdORFgHVs0G9SLS7E2OJLT9eA6DmecTY+jszjAVhLYf51D X-Received: by 2002:a63:1316:: with SMTP id i22mr2958970pgl.274.1561627618338; Thu, 27 Jun 2019 02:26:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1561627618; cv=none; d=google.com; s=arc-20160816; b=n7xaccl56OnpY53KZ/TCT9kiS4Y2/d8gigAiCP5qNsbwKbZOHeiWDjBtUoVuoXKSsw n18Ku0MJGjFMIVeI5E5IEF8PQtiRAe4uKnP2FbDIZnz32P1WbWtzWgGye0aPmecKXpD0 /ajf4FK7hHLFPd3wAz/5777vlPw1+gpDsnnM+zxdaIY+9t5sKlJwHQs1GSYSUQsFynuL keDyn7lstOxEMY6X5bogk07E/Q6ng3Dv9Batyveg1bDHjbakOi/3AD/7yg4g8KFTy20t yYQguIbIoi3NJVAjb/zdGWKL5aiqIMgadK8ckDu1oUeBG81i4wna7w18+PaJBgsE03BY +tKQ== 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=nuT+LPpz/IFZ+qKwPFM5gMAKhxGdO5rN19GMu8flmjI=; b=fOnKxwoDkSWLkzatt8qj+uVm+ev8l1N6kHs0k3I3IkkoUnYZWxMZ2GcnEHuQ+f/Cgh 8ivDo3Yef746Prq6ONzbHj0Eg7ibUYG2NggsCIYZSbEiPsiXBnMHAVP0smDiuxWfMFPu 1IH1hSpg41NIvJDtAbbFYWmuv4WNqDFPcAXd8WIMa2/VX+2yfNmvIp2RmaH1hplnvZgj DUBuBx3XbiYuMpoYHGG6KIviz2g8VqHYv7eTq7WMnyTGDNw/OC+tVKwKc4PlVTbF3rcp gq8zT5GHWjHwDqcPIOP56OuCipb58dtrxKwybm6RP8cgwQIZpbRks5s3nh/+GEG+GOaV iv3g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@cirrus.com header.s=PODMain02222019 header.b=nibdqnjf; 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 c21si1819930pls.414.2019.06.27.02.26.41; Thu, 27 Jun 2019 02:26: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=nibdqnjf; 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 S1726631AbfF0JYr (ORCPT + 99 others); Thu, 27 Jun 2019 05:24:47 -0400 Received: from mx0a-001ae601.pphosted.com ([67.231.149.25]:28126 "EHLO mx0b-001ae601.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726480AbfF0JY3 (ORCPT ); Thu, 27 Jun 2019 05:24:29 -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 x5R9JbXC012626; Thu, 27 Jun 2019 04:24:13 -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=nuT+LPpz/IFZ+qKwPFM5gMAKhxGdO5rN19GMu8flmjI=; b=nibdqnjfTOiIIzOj+O9J4X8Hs/3ozThkNjlmIiE5WYnV/oaFBtgYahIHtkurqNy8o+W3 isiJiZkvdsPuqO+Xfbzkvb0/J21JPI2PexuY3P9rUJi0G+QaCwjV07WiDSM6+mOGuRt5 ZFWSL591ZUfFpBj9b7ellHDr75N7aEw9w2/f0CSgrcu/hSu8s0G7B2aK0bJLxWVkOal7 KUOsrxARqNyTEn1ckhrNw0Y8TnqmkIstvLyA+rDzH99+M7QM8KVi6oLCILeQqE8oQyiv 3legnoMw1hFrv/f6znMpozZWTT7JqG44FdoGCcZ6eYF4FH2P57n50WpWpGpMAikT9OFB hw== 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 2t9hr2gr56-1; Thu, 27 Jun 2019 04:24:13 -0500 Received: from EDIEX02.ad.cirrus.com (ediex02.ad.cirrus.com [198.61.84.81]) by mail4.cirrus.com (Postfix) with ESMTP id BB7EA611C8B3; Thu, 27 Jun 2019 04:24:14 -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; Thu, 27 Jun 2019 10:24:12 +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, 27 Jun 2019 10:24:12 +0100 Received: from algalon.ad.cirrus.com (algalon.ad.cirrus.com [198.90.251.122]) by ediswmail.ad.cirrus.com (Postfix) with ESMTP id 07BC12DB; Thu, 27 Jun 2019 10:24:12 +0100 (BST) From: Charles Keepax To: , CC: , , , , , , , Subject: [PATCH v8 3/6] i2c: acpi: Factor out getting the IRQ from ACPI Date: Thu, 27 Jun 2019 10:24:08 +0100 Message-ID: <20190627092411.26123-4-ckeepax@opensource.cirrus.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20190627092411.26123-1-ckeepax@opensource.cirrus.com> References: <20190627092411.26123-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=873 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1906270109 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. Reviewed-by: Andy Shevchenko Signed-off-by: Charles Keepax --- Changes since v7: - Leave call to acpi_dev_free_resource_list Thanks, Charles drivers/i2c/i2c-core-acpi.c | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/drivers/i2c/i2c-core-acpi.c b/drivers/i2c/i2c-core-acpi.c index 1820f18a4e5f9..3eb65f113c13b 100644 --- a/drivers/i2c/i2c-core-acpi.c +++ b/drivers/i2c/i2c-core-acpi.c @@ -144,12 +144,29 @@ static int i2c_acpi_add_resource(struct acpi_resource *ares, void *data) return 1; /* No need to add resource to the list */ } +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; @@ -181,13 +198,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; - - acpi_dev_free_resource_list(&resource_list); + 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