Re: [PATCH v4 00/16] iommu: Permit modular builds of ARM SMMU[v3] drivers

From: John Garry
Date: Thu Dec 19 2019 - 07:12:36 EST


On 19/12/2019 12:03, Will Deacon wrote:
Hi all,

This is version four of the patches I previously posted here:

v1: https://lore.kernel.org/lkml/20191030145112.19738-1-will@xxxxxxxxxx/
v2: https://lore.kernel.org/lkml/20191108151608.20932-1-will@xxxxxxxxxx
v3: https://lore.kernel.org/lkml/20191121114918.2293-1-will@xxxxxxxxxx

Changes since v3 include:

* Based on v5.5-rc1
* ACPI/IORT support (thanks to Ard)
* Export pci_{enable,disable}_ats() (thanks to Greg)
* Added review tags

Since it looks like not much has changed since v3, and I even tested removal of smmu-v3.ko [0] - this should be ok for the series:

Tested-by: John Garry <john.garry@xxxxxxxxxx> # smmu v3

[0] https://lore.kernel.org/linux-iommu/c8eb97b1-dab5-cc25-7669-2819f64a885d@xxxxxxxxxx/


I tested this on AMD Seattle by loading arm-smmu-mod.ko from the initrd.

Cheers,

Will

Cc: Jean-Philippe Brucker <jean-philippe@xxxxxxxxxx>
Cc: Jordan Crouse <jcrouse@xxxxxxxxxxxxxx>
Cc: John Garry <john.garry@xxxxxxxxxx>
Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Cc: Saravana Kannan <saravanak@xxxxxxxxxx>
Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Cc: "Isaac J. Manjarres" <isaacm@xxxxxxxxxxxxxx>
Cc: Robin Murphy <robin.murphy@xxxxxxx>
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx>
Cc: Joerg Roedel <joro@xxxxxxxxxx>
Cc: Ard Biesheuvel <ardb@xxxxxxxxxx>

--->8

Ard Biesheuvel (1):
iommu/arm-smmu: Support SMMU module probing from the IORT

Greg Kroah-Hartman (1):
PCI/ATS: Restore EXPORT_SYMBOL_GPL() for pci_{enable,disable}_ats()

Will Deacon (14):
drivers/iommu: Export core IOMMU API symbols to permit modular drivers
iommu/of: Request ACS from the PCI core when configuring IOMMU linkage
PCI: Export pci_ats_disabled() as a GPL symbol to modules
drivers/iommu: Take a ref to the IOMMU driver prior to ->add_device()
iommu/of: Take a ref to the IOMMU driver during ->of_xlate()
drivers/iommu: Allow IOMMU bus ops to be unregistered
Revert "iommu/arm-smmu: Make arm-smmu-v3 explicitly non-modular"
Revert "iommu/arm-smmu: Make arm-smmu explicitly non-modular"
iommu/arm-smmu: Prevent forced unbinding of Arm SMMU drivers
iommu/arm-smmu-v3: Unregister IOMMU and bus ops on device removal
iommu/arm-smmu-v3: Allow building as a module
iommu/arm-smmu: Unregister IOMMU and bus ops on device removal
iommu/arm-smmu: Allow building as a module
iommu/arm-smmu: Update my email address in MODULE_AUTHOR()

drivers/acpi/arm64/iort.c | 4 +-
drivers/iommu/Kconfig | 16 ++++-
drivers/iommu/Makefile | 3 +-
drivers/iommu/arm-smmu-v3.c | 94 +++++++++++++++++---------
drivers/iommu/arm-smmu.c | 128 +++++++++++++++++++++++++-----------
drivers/iommu/iommu-sysfs.c | 5 ++
drivers/iommu/iommu.c | 32 ++++++++-
drivers/iommu/of_iommu.c | 19 ++++--
drivers/pci/ats.c | 2 +
drivers/pci/pci.c | 1 +
include/linux/iommu.h | 4 +-
11 files changed, 223 insertions(+), 85 deletions(-)