Skip to contentSkip to conversation

ARM: OMAP2+: Remove module references from IOMMU machine layer

PATCH New Suman Anna 2 participants 3 messages Jul 10, 2015 – Jul 20, 2015

Subsystems (3)
lore
Share & tools
lore

Suman Anna

author
#0 lore raw

PATCH 1/1 ARM: OMAP2+: Remove module references from IOMMU machine layer

The OMAP IOMMU driver has been adapted to the IOMMU framework for a while now, and it no longer supports being built as a module. Cleanup all the module related references both from the code and in the build.

While at it, also relocate a comment around the initcall to avoid a checkpatch strict warning about using a blank line after function/struct/union/enum declarations.

---
 arch/arm/mach-omap2/Makefile     |  3 +--
 arch/arm/mach-omap2/omap-iommu.c | 13 +------------
 2 files changed, 2 insertions(+), 14 deletions(-)
arch/arm/mach-omap2/Makefile +1 -2
index 903c85be2897..d4579f856b25 100644
@@ -234,8 +234,7 @@ obj-$(CONFIG_SOC_DRA7XX)		+= omap_hwmod_7xx_data.o
 # EMU peripherals
 obj-$(CONFIG_HW_PERF_EVENTS)		+= pmu.o
 
-iommu-$(CONFIG_OMAP_IOMMU)		:= omap-iommu.o
-obj-y					+= $(iommu-m) $(iommu-y)
+obj-$(CONFIG_OMAP_IOMMU)		+= omap-iommu.o
 
 # OMAP2420 MSDI controller integration support ("MMC")
 obj-$(CONFIG_SOC_OMAP2420)		+= msdi.o
arch/arm/mach-omap2/omap-iommu.c +1 -12
index 4068350f9059..8867eb4025bf 100644
@@ -11,7 +11,6 @@
  */
 
 #include <linux/of.h>
-#include <linux/module.h>
 #include <linux/platform_device.h>
 #include <linux/err.h>
 #include <linux/slab.h>
@@ -63,15 +62,5 @@ static int __init omap_iommu_init(void)
 
 	return omap_hwmod_for_each_by_class("mmu", omap_iommu_dev_init, NULL);
 }
-/* must be ready before omap3isp is probed */
 omap_subsys_initcall(omap_iommu_init);
-
-static void __exit omap_iommu_exit(void)
-{
-	/* Do nothing */
-}
-module_exit(omap_iommu_exit);
-
-MODULE_AUTHOR("Hiroshi DOYU");
-MODULE_DESCRIPTION("omap iommu: omap device registration");
-MODULE_LICENSE("GPL v2");
+/* must be ready before omap3isp is probed */
Signature · 1 line
2.4.4
maintainer
#1 lore raw

PATCH 1/1 ARM: OMAP2+: Remove module references from IOMMU machine layer

Quoted 8 lines · Suman Anna

The OMAP IOMMU driver has been adapted to the IOMMU framework for a while now, and it no longer supports being built as a module. Cleanup all the module related references both from the code and in the build.

While at it, also relocate a comment around the initcall to avoid a checkpatch strict warning about using a blank line after function/struct/union/enum declarations.

OK applying into omap-for-v4.3/soc.

You may want to check few things after this:

- Does it still need to be omap_subsys_initcall or can it happen later? Anything we can initialize later on is worth doing as then we have proper debug console available.

- For multi_v7_defconfig it would be nice to be able to make the driver/iommu components into standard Linux loadable modules.

- Actually you can probably get rid of mach-omap2/omap-iommu.c completely by implementing PM runtime and and possibly reset controller.

Regrds,

Tony

author
#2 lore raw

PATCH 1/1 ARM: OMAP2+: Remove module references from IOMMU machine layer

Hi Tony,

Quoted 11 lines · Tony Lindgren
Quoted 8 lines · Suman Anna

The OMAP IOMMU driver has been adapted to the IOMMU framework for a while now, and it no longer supports being built as a module. Cleanup all the module related references both from the code and in the build.

While at it, also relocate a comment around the initcall to avoid a checkpatch strict warning about using a blank line after function/struct/union/enum declarations.

OK applying into omap-for-v4.3/soc.

Thanks.

Quoted 6 lines

You may want to check few things after this:

- Does it still need to be omap_subsys_initcall or can it happen later? Anything we can initialize later on is worth doing as then we have proper debug console available.

This code will be cleaned up once the non-DT references/users for OMAP3 IOMMUs go away. I will do this in the next merge window once Laurent's OMAP3ISP legacy device creation cleanup series gets into mainline [1].

Quoted 4 lines

- For multi_v7_defconfig it would be nice to be able to make the driver/iommu components into standard Linux loadable modules.

We used to be module before, and the built-in is coming from the IOMMU framework. The init function in the OMAP IOMMU driver already handles the multi_v7_defconfig scenario, so no issues there.

Quoted 4 lines

- Actually you can probably get rid of mach-omap2/omap-iommu.c completely by implementing PM runtime and and possibly reset controller.

Yeah, any need for this file after the non-DT device creation removal would arises from the PRCM/reset dependencies against API present in mach-omap2 layer only.

regards
Suman

[1] http://marc.info/?l=linux-omap&m=143705130631733&w=2