As exynos-iommu driver is not a critical platform driver, it can be converted to a loadable module to avoid loading it on non-Exynos platforms in order to improve the RAM footprint. This patch series converts it to a module and does some related cleanups. IOMMU/DMA specifics were taken into the account, so remove/exit methods weren't added. There are two drivers using CONFIG_EXYNOS_IOMMU in their code: DRM_EXYNOS and S5P_MFC. Both were checked, and only a slight change was needed for S5P_MFC driver (patch #6). Changes in v2: - Extracted the "shutdown" method addition into a separate patch - Added MODULE_DEVICE_TABLE(of, ...) to support hot-plug loading - Added MODULE_ALIAS("platform:exynos-sysmmu") - Added fix for S5P_MFC driver to work correctly with EXYNOS_IOMMU=m - Fixed checkpatch coding style suggestion with "--strict" flag - Rebased on top of most recent joro/iommu.git:next Sam Protsenko (6): iommu: Export iommu_group_default_domain() API iommu/exynos: Fix retval on getting clocks in probe iommu/exynos: Modularize the driver iommu/exynos: Implement shutdown driver method iommu/exynos: Rearrange the platform driver code media: platform: Use IS_ENABLED() to check EXYNOS_IOMMU in s5p_mfc drivers/iommu/Kconfig | 2 +- drivers/iommu/exynos-iommu.c | 355 +++++++++--------- drivers/iommu/iommu.c | 1 + .../platform/samsung/s5p-mfc/s5p_mfc_iommu.h | 4 +- 4 files changed, 191 insertions(+), 171 deletions(-) -- 2.35.1