aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/mux.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2010-03-02 13:34:25 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2010-03-02 13:34:25 -0500
commit5057bfaff82e12f01a2ffd58f55535cbd7c5c3a2 (patch)
tree0397253173308317480ed82f0b75af46cd3f6cb1 /arch/arm/mach-omap2/mux.c
parent6c0ad5dfd3d5ad6def89b485ee52834547da239b (diff)
parentd702d12167a2c05a346f49aac7a311d597762495 (diff)
Merge branch 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6
* 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6: (214 commits) omap2: Initialize Menelaus and MMC for N8X0 AM3517 EVM: correct typo - tca6416 mispelt as tca6516 AM3517 EVM: Enable I2C support AM35x: Enable OMAP_MUX in defconfig AM35x: Add missing GPIO mux config for EHCI port Zoom3: Defconfig update omap: i2c: Fix muxing for command line enabled bus OMAP4: clock: Remove clock hacks from timer-gp.c OMAP4: clock: Add dummy clock nodes for interface clocks OMAP4: clock: Rename leaf clock nodes to end with a _ick or _fck OMAP2+ clock: revise omap2_clk_{disable,enable}() OMAP2/3 clock: combine OMAP2 & 3 boot-time MPU rate change code OMAP clockdomain: if no autodeps exist, don't try to add or remove them OMAP hwmod: add hwmod class support OMAP hwmod: convert header files with static allocations into C files OMAP hwmod: convert hwmod to use hardware clock names rather than clkdev dev+con OMAP clock: add omap_clk_get_by_name() for use by OMAP hwmod core code OMAP3: clock: add capability to change rate of dpll4_m5_ck_3630 OMAP4 clock: drop the ALWAYS_ENABLED clock flag OMAP clock: drop RATE_FIXED clock flag ...
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