From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tony Lindgren Subject: Re: [PATCH 2/4][v3] OMAP:iommu support for OMAP4 Date: Wed, 21 Apr 2010 15:04:49 -0700 Message-ID: <20100421220449.GP18272@atomide.com> References: <8F7AF80515AF0D4D93307E594F3CB40E4B3BF951@dlee03.ent.ti.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from mho-02-ewr.mailhop.org ([204.13.248.72]:64192 "EHLO mho-02-ewr.mailhop.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753106Ab0DUWEv (ORCPT ); Wed, 21 Apr 2010 18:04:51 -0400 Content-Disposition: inline In-Reply-To: <8F7AF80515AF0D4D93307E594F3CB40E4B3BF951@dlee03.ent.ti.com> Sender: linux-omap-owner@vger.kernel.org List-Id: linux-omap@vger.kernel.org To: "Kanigeri, Hari" Cc: "linux-omap@vger.kernel.org" , "Shilimkar, Santosh" , Felipe Contreras , Hiroshi DOYU * Kanigeri, Hari [100420 15:52]: > From 9a2bcae7a2de6890884c23c45563eece1e6838de Mon Sep 17 00:00:00 2001 > From: Hari Kanigeri > Date: Tue, 20 Apr 2010 17:39:18 -0500 > Subject: [PATCH 2/4] OMAP:iommu support for OMAP4 > > This patch provides the iommu support for OMAP4 co-processors. > > Signed-off-by: Hari Kanigeri > --- > arch/arm/mach-omap2/omap-iommu.c | 26 ++++++++++++++++++++++++++ > arch/arm/plat-omap/include/plat/omap44xx.h | 3 +++ > 2 files changed, 29 insertions(+), 0 deletions(-) > > diff --git a/arch/arm/mach-omap2/omap-iommu.c b/arch/arm/mach-omap2/omap-iommu.c > index 416a65d..f569371 100644 > --- a/arch/arm/mach-omap2/omap-iommu.c > +++ b/arch/arm/mach-omap2/omap-iommu.c > @@ -13,6 +13,7 @@ > #include > > #include > +#include > > struct iommu_device { > resource_size_t base; > @@ -46,6 +47,31 @@ static struct iommu_device devices[] = { > }; > #endif > > +#ifdef CONFIG_ARCH_OMAP4 > +static struct iommu_device devices[] = { > + { > + .base = OMAP4_MMU1_BASE, > + .irq = INT_44XX_DUCATI_MMU_IRQ, > + .pdata = { > + .name = "ducati", > + .nr_tlb_entries = 32, > + .clk_name = "ducati_ick", > + }, > + }, > +#if defined(CONFIG_MPU_TESLA_IOMMU) > + { > + .base = OMAP4_MMU2_BASE, > + .irq = INT_44XX_DSP_MMU, > + .pdata = { > + .name = "tesla", > + .nr_tlb_entries = 32, > + .clk_name = "tesla_ick", > + }, > + }, > +#endif > +}; > +#endif This should use: static struct iommu_device *devices; #ifdef CONFIG_ARCH_OMAP3 static struct iommu_device omap3_devices[] = { ... #else #define omap3_devices NULL #endif #ifdef CONFIG_ARCH_OMAP4 static struct iommu_device omap4_devices[] = { ... #else #define omap4_devices NULL #endif Then in init, just set devices based on the omap type. Tony