From mboxrd@z Thu Jan 1 00:00:00 1970 From: m.szyprowski@samsung.com (Marek Szyprowski) Date: Tue, 06 Dec 2011 12:51:02 +0100 Subject: [PATCH v7 1/2] ARM: EXYNOS: Change System MMU platform device definitions In-Reply-To: <1321609650-1329-2-git-send-email-pullip.cho@samsung.com> References: <1321609650-1329-1-git-send-email-pullip.cho@samsung.com> <1321609650-1329-2-git-send-email-pullip.cho@samsung.com> Message-ID: <007f01ccb40d$540a2fb0$fc1e8f10$%szyprowski@samsung.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hello, On Friday, November 18, 2011 10:47 AM KyongHo Cho wrote: > Handling System MMUs with an identifier is not flexible to manage > System MMU platform devices because of the following reasons: > 1. A device driver which needs to handle System MMU must know the ID. > 2. A System MMU may not present in some implementations of Exynos family. > 3. Handling System MMU with IOMMU API does not require an ID. > > This patch is the result of removing ID of System MMUs. > Instead, a device driver that needs to handle its System MMU must > use IOMMU API while its descriptor of platform device is given. > > This patch also includes the following enhanclements: > - A System MMU device becomes a child if its power domain device. > - clkdev > > Signed-off-by: KyongHo Cho > --- > arch/arm/mach-exynos/Kconfig | 2 + > arch/arm/mach-exynos/clock-exynos4210.c | 16 ++ > arch/arm/mach-exynos/clock.c | 55 ++-- > arch/arm/mach-exynos/dev-sysmmu.c | 272 +++++---------------- > arch/arm/mach-exynos/include/mach/dev-sysmmu.h | 61 +++++ > arch/arm/mach-exynos/include/mach/exynos4-clock.h | 1 + > arch/arm/mach-exynos/include/mach/map.h | 3 +- > arch/arm/mach-exynos/include/mach/regs-sysmmu.h | 26 +- > arch/arm/mach-exynos/include/mach/sysmmu.h | 46 ---- > arch/arm/mach-exynos/mach-armlex4210.c | 1 - > arch/arm/mach-exynos/mach-nuri.c | 40 +++ > arch/arm/mach-exynos/mach-origen.c | 42 ++++ > arch/arm/mach-exynos/mach-smdk4x12.c | 9 + > arch/arm/mach-exynos/mach-smdkv310.c | 43 ++++- > arch/arm/mach-exynos/mach-universal_c210.c | 42 ++++ > arch/arm/plat-samsung/include/plat/devs.h | 1 - > 16 files changed, 356 insertions(+), 304 deletions(-) > create mode 100644 arch/arm/mach-exynos/include/mach/dev-sysmmu.h > delete mode 100644 arch/arm/mach-exynos/include/mach/sysmmu.h > > diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig > index 0afcc3b..67769fb 100644 > --- a/arch/arm/mach-exynos/Kconfig > +++ b/arch/arm/mach-exynos/Kconfig > @@ -272,6 +272,7 @@ config MACH_NURI > select EXYNOS4_SETUP_I2C5 > select EXYNOS4_SETUP_SDHCI > select EXYNOS4_SETUP_USB_PHY > + select EXYNOS4_DEV_SYSMMU > select S5P_SETUP_MIPIPHY > select SAMSUNG_DEV_PWM > select SAMSUNG_DEV_ADC > @@ -301,6 +302,7 @@ config MACH_ORIGEN > select EXYNOS4_SETUP_FIMD0 > select EXYNOS4_SETUP_SDHCI > select EXYNOS4_SETUP_USB_PHY > + select EXYNOS4_DEV_SYSMMU The "select EXYNOS4_DEV_SYSMMU" statement is missing for UniversalC210 and SMDK boards what causes compilation issues if only these boards are selected. Best regards -- Marek Szyprowski Samsung Poland R&D Center