On Wed, 1 Sep 2010, Amit Kucheria wrote:
On 10 Sep 01, Nicolas Pitre wrote:
On Wed, 1 Sep 2010, Amit Kucheria wrote:
[snip]
Unfortunately, it seems after talking to Nicolas that mdesc->fixup() is called too early.
Nicolas suggested linking the i.MX5 code _after_ the VFP module :)
Something like this patch:
----- >8 From: Nicolas Pitre nicolas.pitre@linaro.org Date: Wed, 1 Sep 2010 09:37:05 -0400 Subject: [PATCH] ARM: link board specific files after core files
This allows for board specific issues to override decisions made in generic code that might not be suitable due to some errata or the like.
Signed-off-by: Nicolas Pitre nicolas.pitre@linaro.org
diff --git a/arch/arm/Makefile b/arch/arm/Makefile index df4ab3c..3e8e3d7 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -243,13 +243,14 @@ ifeq ($(FASTFPE),$(wildcard $(FASTFPE))) FASTFPE_OBJ :=$(FASTFPE)/ endif -# If we have a machine-specific directory, then include it in the build. -core-y += arch/arm/kernel/ arch/arm/mm/ arch/arm/common/ -core-y += $(machdirs) $(platdirs) core-$(CONFIG_FPE_NWFPE) += arch/arm/nwfpe/ core-$(CONFIG_FPE_FASTFPE) += $(FASTFPE_OBJ) core-$(CONFIG_VFP) += arch/arm/vfp/ +# If we have a machine-specific directory, then include it in the build. +core-y += arch/arm/kernel/ arch/arm/mm/ arch/arm/common/ +core-y += $(machdirs) $(platdirs)
drivers-$(CONFIG_OPROFILE) += arch/arm/oprofile/ libs-y := arch/arm/lib/ $(libs-y) 8< -----
Then, just add your fixup in a separate patch. Beware: the above patch is untested.
My fixup patch is attached. Compile-tested along with Nico's patch. But I have no TO1/TO2 boards to test. Loic do know anybody that can test with Nico's patch and this fixup?
[...]
@@ -284,6 +292,7 @@ MACHINE_START(MX51_BABBAGE, "Freescale MX51 Babbage Board") .phys_io = MX51_AIPS1_BASE_ADDR, .io_pg_offst = ((MX51_AIPS1_BASE_ADDR_VIRT) >> 18) & 0xfffc, .boot_params = PHYS_OFFSET + 0x100,
- .fixup = fixup_mx51_babbage, .map_io = mx51_map_io, .init_irq = mx51_init_irq, .init_machine = mxc_board_init,
This won't work as this is called way too early.
I'd suggest calling mx51_neon_fixup() through a late_initcall instead. And making it __init too.
Nicolas