[PATCH 4/9] OMAP2: Support for early device registration

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

 



This patch adds a new API in the common boot up sequence to register
early drivers and probe for early devices. This API can be used by any
early device to register itself.
This patch also adds support to register "earlytimer" drivers and
probe for any associated devices that are registered as early devices.

Signed-off-by: Thara Gopinath <thara@xxxxxx>
---
 arch/arm/mach-omap2/io.c |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c
index 3bf1cb4..edf1146 100644
--- a/arch/arm/mach-omap2/io.c
+++ b/arch/arm/mach-omap2/io.c
@@ -23,6 +23,7 @@
 #include <linux/io.h>
 #include <linux/clk.h>
 #include <linux/omapfb.h>
+#include <linux/platform_device.h>
 
 #include <asm/tlb.h>
 
@@ -47,6 +48,8 @@
 #include "clockdomains.h"
 #include <plat/omap_hwmod.h>
 
+#include "dmtimers.h"
+
 /*
  * The machine specific code may provide the extra mapping besides the
  * default mapping provided here.
@@ -304,6 +307,16 @@ static int __init _omap2_init_reprogram_sdrc(void)
 	return v;
 }
 
+static void __init omap_init_early_devices(void)
+{
+	int timer_count;
+
+	early_platform_driver_register_all("earlytimer");
+	timer_count = omap2_get_early_timer_count();
+	early_platform_driver_probe("earlytimer", timer_count, 0);
+	/* Add any other early devices needed here */
+}
+
 void __init omap2_init_common_hw(struct omap_sdrc_params *sdrc_cs0,
 				 struct omap_sdrc_params *sdrc_cs1)
 {
@@ -341,4 +354,7 @@ void __init omap2_init_common_hw(struct omap_sdrc_params *sdrc_cs0,
 		_omap2_init_reprogram_sdrc();
 	}
 	gpmc_init();
+	omap2_dm_timer_early_init();
+	/* Call the probe for all early devices */
+	omap_init_early_devices();
 }
-- 
1.7.0.rc1.33.g07cf0f

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux