iommu/arm-smmu: Support SMMU module probing from the IORT
authorArd Biesheuvel <ardb@kernel.org>
Thu, 19 Dec 2019 12:03:48 +0000 (12:03 +0000)
committerJoerg Roedel <jroedel@suse.de>
Mon, 23 Dec 2019 13:06:05 +0000 (14:06 +0100)
commitd3daf66621b9dd5749d4661ace74afb84d3d465e
tree1e92973a32542de9a277ce3a51944f3d2bdb423c
parentab246774713e9042d7c79c61168c73796b2a3961
iommu/arm-smmu: Support SMMU module probing from the IORT

Add support for SMMU drivers built as modules to the ACPI/IORT device
probing path, by deferring the probe of the master if the SMMU driver is
known to exist but has not been loaded yet. Given that the IORT code
registers a platform device for each SMMU that it discovers, we can
easily trigger the udev based autoloading of the SMMU drivers by making
the platform device identifier part of the module alias.

Reviewed-by: Robin Murphy <robin.murphy@arm.com>
Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Tested-by: John Garry <john.garry@huawei.com> # only manual smmu ko loading
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Will Deacon <will@kernel.org>
Tested-by: John Garry <john.garry@huawei.com> # smmu v3
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/acpi/arm64/iort.c
drivers/iommu/arm-smmu-v3.c
drivers/iommu/arm-smmu.c