[PATCH v2 0/6] iommu/exynos: Convert to a module

From: Sam Protsenko
Date: Thu Nov 03 2022 - 15:52:02 EST


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