aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/mux.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-omap2/mux.c')
-rw-r--r--arch/arm/mach-omap2/mux.c52
1 files changed, 37 insertions, 15 deletions
diff --git a/arch/arm/mach-omap2/mux.c b/arch/arm/mach-omap2/mux.c
index 5fef73f4743d..b4ca84ee0a95 100644
--- a/arch/arm/mach-omap2/mux.c
+++ b/arch/arm/mach-omap2/mux.c
@@ -75,7 +75,7 @@ void omap_mux_write_array(struct omap_board_mux *board_mux)
75 } 75 }
76} 76}
77 77
78#if defined(CONFIG_ARCH_OMAP24XX) && defined(CONFIG_OMAP_MUX) 78#if defined(CONFIG_ARCH_OMAP2) && defined(CONFIG_OMAP_MUX)
79 79
80static struct omap_mux_cfg arch_mux_cfg; 80static struct omap_mux_cfg arch_mux_cfg;
81 81
@@ -369,7 +369,7 @@ int __init omap2_mux_init(void)
369 369
370/*----------------------------------------------------------------------------*/ 370/*----------------------------------------------------------------------------*/
371 371
372#ifdef CONFIG_ARCH_OMAP34XX 372#ifdef CONFIG_ARCH_OMAP3
373static LIST_HEAD(muxmodes); 373static LIST_HEAD(muxmodes);
374static DEFINE_MUTEX(muxmode_mutex); 374static DEFINE_MUTEX(muxmode_mutex);
375 375
@@ -983,6 +983,38 @@ static void __init omap_mux_init_list(struct omap_mux *superset)
983 } 983 }
984} 984}
985 985
986#ifdef CONFIG_OMAP_MUX
987
988static void omap_mux_init_package(struct omap_mux *superset,
989 struct omap_mux *package_subset,
990 struct omap_ball *package_balls)
991{
992 if (package_subset)
993 omap_mux_package_fixup(package_subset, superset);
994 if (package_balls)
995 omap_mux_package_init_balls(package_balls, superset);
996}
997
998static void omap_mux_init_signals(struct omap_board_mux *board_mux)
999{
1000 omap_mux_set_cmdline_signals();
1001 omap_mux_write_array(board_mux);
1002}
1003
1004#else
1005
1006static void omap_mux_init_package(struct omap_mux *superset,
1007 struct omap_mux *package_subset,
1008 struct omap_ball *package_balls)
1009{
1010}
1011
1012static void omap_mux_init_signals(struct omap_board_mux *board_mux)
1013{
1014}
1015
1016#endif
1017
986int __init omap_mux_init(u32 mux_pbase, u32 mux_size, 1018int __init omap_mux_init(u32 mux_pbase, u32 mux_size,
987 struct omap_mux *superset, 1019 struct omap_mux *superset,
988 struct omap_mux *package_subset, 1020 struct omap_mux *package_subset,
@@ -999,22 +1031,12 @@ int __init omap_mux_init(u32 mux_pbase, u32 mux_size,
999 return -ENODEV; 1031 return -ENODEV;
1000 } 1032 }
1001 1033
1002#ifdef CONFIG_OMAP_MUX 1034 omap_mux_init_package(superset, package_subset, package_balls);
1003 if (package_subset)
1004 omap_mux_package_fixup(package_subset, superset);
1005 if (package_balls)
1006 omap_mux_package_init_balls(package_balls, superset);
1007#endif
1008
1009 omap_mux_init_list(superset); 1035 omap_mux_init_list(superset);
1010 1036 omap_mux_init_signals(board_mux);
1011#ifdef CONFIG_OMAP_MUX
1012 omap_mux_set_cmdline_signals();
1013 omap_mux_write_array(board_mux);
1014#endif
1015 1037
1016 return 0; 1038 return 0;
1017} 1039}
1018 1040
1019#endif /* CONFIG_ARCH_OMAP34XX */ 1041#endif /* CONFIG_ARCH_OMAP3 */
1020 1042