From ac350c464a3b646bdded294ef9a0c0188d31de43 Mon Sep 17 00:00:00 2001 From: Kevin Hilman Date: Fri, 11 Aug 2006 13:18:08 +0300 Subject: [PATCH] [PATCH] ARM: OMAP: rework mutex_init() for RT compatibility Replace remaining __MUTEX_INITIALIZER() calls with mutex_init() to enable compatibility with the realtime-preempt patchset. Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren --- arch/arm/mach-omap2/board-h4.c | 5 +++++ arch/arm/plat-omap/dsp/dsp_common.c | 3 ++- sound/oss/omap-audio-aic23.c | 3 ++- sound/oss/omap-audio-tsc2101.c | 3 ++- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/arch/arm/mach-omap2/board-h4.c b/arch/arm/mach-omap2/board-h4.c index 20e513f0b98..10d378756ac 100644 --- a/arch/arm/mach-omap2/board-h4.c +++ b/arch/arm/mach-omap2/board-h4.c @@ -156,6 +156,7 @@ static struct platform_device h4_smc91x_device = { /* Select between the IrDA and aGPS module */ +#if defined(CONFIG_OMAP_IR) || defined(CONFIG_OMAP_IR_MODULE) static int h4_select_irda(struct device *dev, int state) { unsigned char expa; @@ -212,6 +213,10 @@ static int h4_transceiver_mode(struct device *dev, int mode) return 0; } +#else +static int h4_select_irda(struct device *dev, int state) { return 0; } +static int h4_transceiver_mode(struct device *dev, int mode) { return 0; } +#endif static struct omap_irda_config h4_irda_data = { .transceiver_cap = IR_SIRMODE | IR_MIRMODE | IR_FIRMODE, diff --git a/arch/arm/plat-omap/dsp/dsp_common.c b/arch/arm/plat-omap/dsp/dsp_common.c index 2117a243271..ae0eaaee483 100644 --- a/arch/arm/plat-omap/dsp/dsp_common.c +++ b/arch/arm/plat-omap/dsp/dsp_common.c @@ -59,7 +59,6 @@ struct cpustat { void (*mem_rel_cb)(void); }; struct cpustat cpustat = { - .lock = __MUTEX_INITIALIZER(cpustat.lock), .stat = CPUSTAT_RESET, .icrmask = 0xffff, }; @@ -243,6 +242,8 @@ static int init_done; static int __init omap_dsp_init(void) { + mutex_init(&cpustat.lock); + dspmem_size = 0; #ifdef CONFIG_ARCH_OMAP15XX if (cpu_is_omap1510()) { diff --git a/sound/oss/omap-audio-aic23.c b/sound/oss/omap-audio-aic23.c index 1e41b1d4d32..0ecb2f77c67 100644 --- a/sound/oss/omap-audio-aic23.c +++ b/sound/oss/omap-audio-aic23.c @@ -244,7 +244,6 @@ static audio_state_t aic23_state = { .hw_remove = __exit_p(omap_aic23_remove), .hw_suspend = omap_aic23_suspend, .hw_resume = omap_aic23_resume, - .mutex = __MUTEX_INITIALIZER(aic23_state.mutex), }; /* This will be defined in the audio.h */ @@ -673,6 +672,8 @@ static int __init audio_aic23_init(void) if (machine_is_omap_h2() || machine_is_omap_h3()) return -ENODEV; + mutex_init(&aic23_state.mutex); + if (machine_is_omap_osk()) { /* Set MCLK to be clock input for AIC23 */ aic23_mclk = clk_get(0, "mclk"); diff --git a/sound/oss/omap-audio-tsc2101.c b/sound/oss/omap-audio-tsc2101.c index f8e6dacf1ff..cbabcf59ad9 100644 --- a/sound/oss/omap-audio-tsc2101.c +++ b/sound/oss/omap-audio-tsc2101.c @@ -326,7 +326,6 @@ static audio_state_t tsc2101_state = { .hw_remove = omap_tsc2101_remove, .hw_suspend = omap_tsc2101_suspend, .hw_resume = omap_tsc2101_resume, - .mutex = __MUTEX_INITIALIZER(tsc2101_state.mutex), }; /* This will be defined in the Audio.h */ @@ -1031,6 +1030,8 @@ static int __init audio_tsc2101_init(void) if (machine_is_omap_osk() || machine_is_omap_innovator()) return -ENODEV; + mutex_init(&tsc2101_state.mutex); + /* register the codec with the audio driver */ if ((err = audio_register_codec(&tsc2101_state))) { printk(KERN_ERR -- 2.41.0