diff options
Diffstat (limited to 'arch/arm/mach-omap2/mux.c')
| -rw-r--r-- | arch/arm/mach-omap2/mux.c | 10 | 
1 files changed, 8 insertions, 2 deletions
diff --git a/arch/arm/mach-omap2/mux.c b/arch/arm/mach-omap2/mux.c index 3f59bd12cbb..5fef73f4743 100644 --- a/arch/arm/mach-omap2/mux.c +++ b/arch/arm/mach-omap2/mux.c @@ -486,7 +486,7 @@ int __init omap_mux_init_signal(char *muxname, int val)  static inline void omap_mux_decode(struct seq_file *s, u16 val)  {  	char *flags[OMAP_MUX_MAX_NR_FLAGS]; -	char mode[14]; +	char mode[sizeof("OMAP_MUX_MODE") + 1];  	int i = -1;  	sprintf(mode, "OMAP_MUX_MODE%d", val & 0x7); @@ -553,6 +553,7 @@ static int omap_mux_dbg_board_show(struct seq_file *s, void *unused)  		if (!m0_name)  			continue; +		/* REVISIT: Needs to be updated if mode0 names get longer */  		for (i = 0; i < OMAP_MUX_DEFNAME_LEN; i++) {  			if (m0_name[i] == '\0') {  				m0_def[i] = m0_name[i]; @@ -960,7 +961,12 @@ static void __init omap_mux_init_list(struct omap_mux *superset)  	while (superset->reg_offset !=  OMAP_MUX_TERMINATOR) {  		struct omap_mux *entry; -#ifndef CONFIG_OMAP_MUX +#ifdef CONFIG_OMAP_MUX +		if (!superset->muxnames || !superset->muxnames[0]) { +			superset++; +			continue; +		} +#else  		/* Skip pins that are not muxed as GPIO by bootloader */  		if (!OMAP_MODE_GPIO(omap_mux_read(superset->reg_offset))) {  			superset++;  |