Re: [PATCH] arm: dma mapping: export arm iommu functions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 






On Thu, Dec 27, 2012 at 7:45 PM, Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> wrote:
Hello,


On 12/27/2012 8:14 AM, Prathyush K wrote:
This patch adds EXPORT_SYMBOL calls to the three arm iommu
functions - arm_iommu_create_mapping, arm_iommu_free_mapping
and arm_iommu_attach_device. These functions can now be called
from dynamic modules.

Could You describe a bit more why those functions might be needed by dynamic modules?

Hi Marek,

We are adding iommu support to exynos gsc and s5p-mfc.
And these two drivers need to be built as modules to improve boot time.

We're calling these three functions from inside these drivers:
e.g.
mapping = arm_iommu_create_mapping(&platform_bus_type, 0x20000000, SZ_256M, 4);
arm_iommu_attach_device(mdev, mapping);

 

Signed-off-by: Prathyush K <prathyush.k@xxxxxxxxxxx>
---
  arch/arm/mm/dma-mapping.c | 3 +++
  1 file changed, 3 insertions(+)

diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c
index 6b2fb87..c0f0f43 100644
--- a/arch/arm/mm/dma-mapping.c
+++ b/arch/arm/mm/dma-mapping.c
@@ -1797,6 +1797,7 @@ err2:
  err:
        return ERR_PTR(err);
  }
+EXPORT_SYMBOL(arm_iommu_create_mapping);

EXPORT_SYMOBL_GPL() ?


Right, it should be EXPORT_SYMOBL_GPL().

Will update in next patch.

 

  static void release_iommu_mapping(struct kref *kref)
  {
@@ -1813,6 +1814,7 @@ void arm_iommu_release_mapping(struct dma_iommu_mapping *mapping)
        if (mapping)
                kref_put(&mapping->kref, release_iommu_mapping);
  }
+EXPORT_SYMBOL(arm_iommu_release_mapping);
    /**
   * arm_iommu_attach_device
@@ -1841,5 +1843,6 @@ int arm_iommu_attach_device(struct device *dev,
        pr_debug("Attached IOMMU controller to %s device.\n", dev_name(dev));
        return 0;
  }
+EXPORT_SYMBOL(arm_iommu_attach_device);
    #endif

Best regards
--
Marek Szyprowski
Samsung Poland R&D Center


Regards,
Prathyush




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]