Re: [PATCH 3/9 v2] omap: generic: introduce a single check_revision

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

 



S, Venkatraman had written, on 06/25/2010 09:38 AM, the following:
On Fri, Jun 25, 2010 at 7:25 PM, Nishanth Menon <nm@xxxxxx> wrote:
DebBarma, Tarun Kanti had written, on 06/25/2010 08:50 AM, the following:
Nishant,

-----Original Message-----
From: linux-omap-owner@xxxxxxxxxxxxxxx [mailto:linux-omap-
owner@xxxxxxxxxxxxxxx] On Behalf Of Menon, Nishanth
Sent: Friday, June 25, 2010 6:57 PM
To: linux-omap
Cc: Menon, Nishanth; Tony Lindgren; Angelo Arrifano; Zebediah C. McClure;
Alistair Buxton; Grazvydas Ignotas; Paul Walmsley; Premi, Sanjeev;
[...]

diff --git a/arch/arm/mach-omap1/io.c b/arch/arm/mach-omap1/io.c
index e4d8680..4f9ee73 100644
--- a/arch/arm/mach-omap1/io.c
+++ b/arch/arm/mach-omap1/io.c
@@ -20,7 +20,6 @@

 #include "clock.h"

-extern void omap1_check_revision(void);
 extern void omap_sram_init(void);

 /*
@@ -102,7 +101,7 @@ void __init omap1_map_common_io(void)
       /* We want to check CPU revision early for cpu_is_omapxxxx()
macros.
        * IO space mapping must be initialized before we can do that.
        */
-       omap1_check_revision();
+       omap_check_revision();

 #if defined (CONFIG_ARCH_OMAP730) || defined (CONFIG_ARCH_OMAP850)
       if (cpu_is_omap7xx()) {
diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c
index 4e1f53d..eeb0e30 100644
--- a/arch/arm/mach-omap2/io.c
+++ b/arch/arm/mach-omap2/io.c
@@ -238,7 +238,7 @@ static void __init _omap2_map_common_io(void)
       local_flush_tlb_all();
       flush_cache_all();

-       omap2_check_revision();
+       omap_check_revision();
       omap_sram_init();
 }

diff --git a/arch/arm/plat-omap/common.c b/arch/arm/plat-omap/common.c
index fca73cd..f240d9a 100644
--- a/arch/arm/plat-omap/common.c
+++ b/arch/arm/plat-omap/common.c
@@ -89,6 +89,18 @@ void __init omap_reserve(void)
       omap_vram_reserve_sdram_lmb();
 }

+void __init omap_check_revision(void)
+{
+#ifdef CONFIG_ARCH_OMAP1
+       if (cpu_is_omap7xx() || cpu_is_omap15xx() || cpu_is_omap16xx())
+               omap1_check_revision();
+#endif
+#ifdef CONFIG_ARCH_OMAP2PLUS
+       if (cpu_is_omap24xx() || cpu_is_omap34xx() || cpu_is_omap44xx())
+               omap2_check_revision();
+#endif
+}
Inside omap2_check_revision() there is already check for cpu type. So do
we need to have it here? Here is the code snippet!!

void __init omap2_check_revision(void)
{
       /*
        * At this point we have an idea about the processor revision set
        * earlier with omap2_set_globals_tap().
        */
       if (cpu_is_omap24xx()) {
               omap24xx_check_revision();
       } else if (cpu_is_omap34xx()) {
               omap3_check_revision();
               omap3_check_features();
               omap3_cpuinfo();
               return;
       } else if (cpu_is_omap44xx()) {
               omap4_check_revision();
               return;
       } else {
               pr_err("OMAP revision unknown, please fix!\n");
       }
...
thanks for your comment.

My rationale for doing it is to allow for a single OMAP build for both omap1
and omap2+ in which case the cpu_is check makes sense.
we have two choices:
a) remove the hope of having a single omap build (and the above logic is a
bit simpler.

I think Tarun Kanti intended to point out the redundancy within the
OMAP2PLUS build path.
yes I am aware of that. but consider the following:
CONFIG_ARCH_OMAP1 and CONFIG_ARCH_OMAP2PLUS being defined at the same time.

the logic will enter without a reason for it to do so, instead it will print OMAP revision unknown for OMAP1 - not desired.


i.e  the cpu checks
+#ifdef CONFIG_ARCH_OMAP2PLUS
+       if (cpu_is_omap24xx() || cpu_is_omap34xx() || cpu_is_omap44xx())
 ^^^ are not needed, as the omap2_check_revision does it anyway.

Then eventually omap_is_55xx() would be needed only inside
omap2_check_revision, and not in
omap_check_revision().

yes if we dont depend of if check as I mentioned above, I agree.

option a: as above
option b:
+#ifdef CONFIG_ARCH_OMAP1
+               omap1_check_revision();
+#endif
+#ifdef CONFIG_ARCH_OMAP2PLUS
+               omap2_check_revision();
+#endif

I know this is what Tarun and you are proposing, i dont have a strong feeling against it if community is aligned on it.

~Venkat.


--
Regards,
Nishanth Menon
--
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