Thread (44 messages) 44 messages, 5 authors, 2022-07-21

Re: [PATCH v3 15/15] iommu: Clean up bus_set_iommu()

From: Matthew Rosato <mjrosato@linux.ibm.com>
Date: 2022-07-07 12:56:18
Also in: linux-iommu, linux-s390, lkml
Subsystem: iommu subsystem, s390 iommu (pci), the rest · Maintainers: Joerg Roedel, Will Deacon, Niklas Schnelle, Matthew Rosato, Linus Torvalds

On 7/7/22 8:49 AM, Matthew Rosato wrote:
On 7/5/22 1:08 PM, Robin Murphy wrote:
quoted
Clean up the remaining trivial bus_set_iommu() callsites along
with the implementation. Now drivers only have to know and care
about iommu_device instances, phew!

Signed-off-by: Robin Murphy <robin.murphy@arm.com>
---

v3: Also catch Intel's cheeky open-coded assignment
...
quoted
diff --git a/drivers/iommu/s390-iommu.c b/drivers/iommu/s390-iommu.c
index c898bcbbce11..dd957145fb81 100644
--- a/drivers/iommu/s390-iommu.c
+++ b/drivers/iommu/s390-iommu.c
@@ -385,9 +385,3 @@ static const struct iommu_ops s390_iommu_ops = {
          .free        = s390_domain_free,
      }
  };
-
-static int __init s390_iommu_init(void)
-{
-    return bus_set_iommu(&pci_bus_type, &s390_iommu_ops);
-}
-subsys_initcall(s390_iommu_init);
Previously s390_iommu_ops was only being set for pci_bus_type, but with 
this series it will now also be set for platform_bus_type.

To tolerate that, this series needs a change along the lines of:
...  Sorry, let's try that again without a mangled diff:

From: Matthew Rosato <mjrosato@linux.ibm.com> 

Date: Thu, 7 Jul 2022 08:45:44 -0400 

Subject: [PATCH] iommu/s390: fail probe for non-pci device 

 

s390-iommu only supports pci_bus_type today 

 

Signed-off-by: Matthew Rosato <mjrosato@linux.ibm.com> 

--- 

  drivers/iommu/s390-iommu.c | 7 ++++++- 

  1 file changed, 6 insertions(+), 1 deletion(-) 

 
diff --git a/drivers/iommu/s390-iommu.c b/drivers/iommu/s390-iommu.c 

index dd957145fb81..762f892b4ec3 100644 

--- a/drivers/iommu/s390-iommu.c 

+++ b/drivers/iommu/s390-iommu.c 
@@ -185,7 +185,12 @@ static void s390_iommu_detach_device(struct 
iommu_domain *domain,
 

  static struct iommu_device *s390_iommu_probe_device(struct device 
*dev)
  { 

-       struct zpci_dev *zdev = to_zpci_dev(dev); 

+       struct zpci_dev *zdev; 

+ 

+       if (!dev_is_pci(dev)) 

+               return ERR_PTR(-ENODEV); 

+ 

+       zdev = to_zpci_dev(dev); 

 

         return &zdev->iommu_dev; 

  }


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help