Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp582828imu; Tue, 11 Dec 2018 04:20:46 -0800 (PST) X-Google-Smtp-Source: AFSGD/VX4wjug/hC5KsCW9pLE/apyQMhU+lzfi4AHy34WBR8c10xzbk6Aimej7KMNa+AKUprL60C X-Received: by 2002:a17:902:3383:: with SMTP id b3mr15530611plc.170.1544530846214; Tue, 11 Dec 2018 04:20:46 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1544530846; cv=none; d=google.com; s=arc-20160816; b=dmBUlCWpeKo0Qu52BwPgDpdAQVgYKXsP87TaI2P1d9rtZKK1GiGY96kGYhAdkngwiv bRar/0I61FXA71CAn+T6W5rdhj0E71jKStZ2xQHCp1s/oblviA7egDbiqslqhuoTdi+p +rrH0Ze/9v4zGP8G/8O08Rd5cyJ0Px+rfw+6GBphhlQchAMnxq0U+q9ejy9ZzCFjcAXh dT9QMFXFriHnFOa23uUcyWJIf7tCRefAR0VFJtZ1kZGwuCxHX+t9MZ/fVv28zU1ZPTKf 7N3fg4axCVutwJj8luIzL758x9BzHzvUORS+zCwyg51Unk1R7dU705IyenDJQLA1hrNt IwPQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from; bh=iATIJMvFd1dpIjQxKzKgSiFsCWGyOMwCe11Jq7Kwfl8=; b=BCXcnKncu9f8r3M8bRPu+z4VRKWqrwu/nx7WskyWMVTDzyripNPV5JHL28H4Y1YwuO 3G5LzkbMcR1I0YMtLz/+DlGva6SD7IM7TYtjxnWXCGV9W8aR9uigbDFliYAazIGHmXMN did0vQihYHJvBaqKzDY4J4eELJoeR031PyqeM+536+KyNT4xieNkq3WyR/l5Gx0F4Zmw s8NIcyyTDjv9HIB0O+I79u82h0EVmgX1l5YtxzBox/05wsNDvNG4Lv0xAgZ+vvNMOiwz EOBG0N8aMQxGbFu9R9VR4DpdqQbRxgK5fQWPxaBTqgUTlQOfTLjmMiu/kFSJNkHGRV/V atqg== 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=8bytes.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id o1si12212750pgq.13.2018.12.11.04.20.31; Tue, 11 Dec 2018 04:20:46 -0800 (PST) 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=8bytes.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726474AbeLKMTY (ORCPT + 99 others); Tue, 11 Dec 2018 07:19:24 -0500 Received: from 8bytes.org ([81.169.241.247]:53110 "EHLO theia.8bytes.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726335AbeLKMTP (ORCPT ); Tue, 11 Dec 2018 07:19:15 -0500 Received: by theia.8bytes.org (Postfix, from userid 1000) id 5BF923AF; Tue, 11 Dec 2018 13:19:12 +0100 (CET) From: Joerg Roedel To: iommu@lists.linux-foundation.org Cc: Lorenzo Pieralisi , Hanjun Guo , Sudeep Holla , Will Deacon , Robin Murphy , Joerg Roedel , Matthias Brugger , Rob Clark , Thierry Reding , linux-kernel@vger.kernel.org, Joerg Roedel Subject: [PATCH 2/9] ACPI/IORT: Use helper functions to access dev->iommu_fwspec Date: Tue, 11 Dec 2018 13:19:03 +0100 Message-Id: <20181211121910.5604-3-joro@8bytes.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181211121910.5604-1-joro@8bytes.org> References: <20181211121910.5604-1-joro@8bytes.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Joerg Roedel Use the new helpers dev_iommu_fwspec_get()/set() to access the dev->iommu_fwspec pointer. This makes it easier to move that pointer later into another struct. Cc: Lorenzo Pieralisi Signed-off-by: Joerg Roedel --- drivers/acpi/arm64/iort.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/drivers/acpi/arm64/iort.c b/drivers/acpi/arm64/iort.c index 70f4e80b9246..736381673638 100644 --- a/drivers/acpi/arm64/iort.c +++ b/drivers/acpi/arm64/iort.c @@ -779,7 +779,7 @@ static inline bool iort_iommu_driver_enabled(u8 type) static struct acpi_iort_node *iort_get_msi_resv_iommu(struct device *dev) { struct acpi_iort_node *iommu; - struct iommu_fwspec *fwspec = dev->iommu_fwspec; + struct iommu_fwspec *fwspec = dev_iommu_fwspec_get(dev); iommu = iort_get_iort_node(fwspec->iommu_fwnode); @@ -794,9 +794,10 @@ static struct acpi_iort_node *iort_get_msi_resv_iommu(struct device *dev) return NULL; } -static inline const struct iommu_ops *iort_fwspec_iommu_ops( - struct iommu_fwspec *fwspec) +static inline const struct iommu_ops *iort_fwspec_iommu_ops(struct device *dev) { + struct iommu_fwspec *fwspec = dev_iommu_fwspec_get(dev); + return (fwspec && fwspec->ops) ? fwspec->ops : NULL; } @@ -824,6 +825,7 @@ static inline int iort_add_device_replay(const struct iommu_ops *ops, */ int iort_iommu_msi_get_resv_regions(struct device *dev, struct list_head *head) { + struct iommu_fwspec *fwspec = dev_iommu_fwspec_get(dev); struct acpi_iort_its_group *its; struct acpi_iort_node *iommu_node, *its_node = NULL; int i, resv = 0; @@ -841,9 +843,9 @@ int iort_iommu_msi_get_resv_regions(struct device *dev, struct list_head *head) * a given PCI or named component may map IDs to. */ - for (i = 0; i < dev->iommu_fwspec->num_ids; i++) { + for (i = 0; i < fwspec->num_ids; i++) { its_node = iort_node_map_id(iommu_node, - dev->iommu_fwspec->ids[i], + fwspec->ids[i], NULL, IORT_MSI_TYPE); if (its_node) break; @@ -874,8 +876,7 @@ int iort_iommu_msi_get_resv_regions(struct device *dev, struct list_head *head) return (resv == its->its_count) ? resv : -ENODEV; } #else -static inline const struct iommu_ops *iort_fwspec_iommu_ops( - struct iommu_fwspec *fwspec) +static inline const struct iommu_ops *iort_fwspec_iommu_ops(struct device *dev); { return NULL; } static inline int iort_add_device_replay(const struct iommu_ops *ops, struct device *dev) @@ -1045,7 +1046,7 @@ const struct iommu_ops *iort_iommu_configure(struct device *dev) * If we already translated the fwspec there * is nothing left to do, return the iommu_ops. */ - ops = iort_fwspec_iommu_ops(dev->iommu_fwspec); + ops = iort_fwspec_iommu_ops(dev); if (ops) return ops; @@ -1084,7 +1085,7 @@ const struct iommu_ops *iort_iommu_configure(struct device *dev) * add_device callback for dev, replay it to get things in order. */ if (!err) { - ops = iort_fwspec_iommu_ops(dev->iommu_fwspec); + ops = iort_fwspec_iommu_ops(dev); err = iort_add_device_replay(ops, dev); } -- 2.17.1