[ARM] OMAP1: N770: Convert audio_pwr_sem in a mutex

ARM: OMAP1: N770: The semaphore audio_pwr_sem is used as a
mutex. Convert it to the mutex API

[akpm@linux-foundation.org: include mutex.h]
Signed-off-by: Matthias Kaehlcke <matthias@kaehlcke.net>
Cc: Tony Lindgren <tony@atomide.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
Matthias Kaehlcke 2008-06-09 16:24:08 -07:00 коммит произвёл Russell King
Родитель 3c093f9f18
Коммит d41d219e81
1 изменённых файлов: 9 добавлений и 8 удалений

Просмотреть файл

@ -10,6 +10,7 @@
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/mutex.h>
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/input.h> #include <linux/input.h>
#include <linux/clk.h> #include <linux/clk.h>
@ -202,7 +203,7 @@ static struct omap_board_config_kernel nokia770_config[] __initdata = {
#define AMPLIFIER_CTRL_GPIO 58 #define AMPLIFIER_CTRL_GPIO 58
static struct clk *dspxor_ck; static struct clk *dspxor_ck;
static DECLARE_MUTEX(audio_pwr_sem); static DEFINE_MUTEX(audio_pwr_lock);
/* /*
* audio_pwr_state * audio_pwr_state
* +--+-------------------------+---------------------------------------+ * +--+-------------------------+---------------------------------------+
@ -218,7 +219,7 @@ static DECLARE_MUTEX(audio_pwr_sem);
static int audio_pwr_state = -1; static int audio_pwr_state = -1;
/* /*
* audio_pwr_up / down should be called under audio_pwr_sem * audio_pwr_up / down should be called under audio_pwr_lock
*/ */
static void nokia770_audio_pwr_up(void) static void nokia770_audio_pwr_up(void)
{ {
@ -237,11 +238,11 @@ static void nokia770_audio_pwr_up(void)
static void codec_delayed_power_down(struct work_struct *work) static void codec_delayed_power_down(struct work_struct *work)
{ {
down(&audio_pwr_sem); mutex_lock(&audio_pwr_lock);
if (audio_pwr_state == -1) if (audio_pwr_state == -1)
aic23_power_down(); aic23_power_down();
clk_disable(dspxor_ck); clk_disable(dspxor_ck);
up(&audio_pwr_sem); mutex_unlock(&audio_pwr_lock);
} }
static DECLARE_DELAYED_WORK(codec_power_down_work, codec_delayed_power_down); static DECLARE_DELAYED_WORK(codec_power_down_work, codec_delayed_power_down);
@ -258,19 +259,19 @@ static void nokia770_audio_pwr_down(void)
static int static int
nokia770_audio_pwr_up_request(struct dsp_kfunc_device *kdev, int stage) nokia770_audio_pwr_up_request(struct dsp_kfunc_device *kdev, int stage)
{ {
down(&audio_pwr_sem); mutex_lock(&audio_pwr_lock);
if (audio_pwr_state == -1) if (audio_pwr_state == -1)
nokia770_audio_pwr_up(); nokia770_audio_pwr_up();
/* force audio_pwr_state = 0, even if it was 1. */ /* force audio_pwr_state = 0, even if it was 1. */
audio_pwr_state = 0; audio_pwr_state = 0;
up(&audio_pwr_sem); mutex_unlock(&audio_pwr_lock);
return 0; return 0;
} }
static int static int
nokia770_audio_pwr_down_request(struct dsp_kfunc_device *kdev, int stage) nokia770_audio_pwr_down_request(struct dsp_kfunc_device *kdev, int stage)
{ {
down(&audio_pwr_sem); mutex_lock(&audio_pwr_lock);
switch (stage) { switch (stage) {
case 1: case 1:
if (audio_pwr_state == 0) if (audio_pwr_state == 0)
@ -283,7 +284,7 @@ nokia770_audio_pwr_down_request(struct dsp_kfunc_device *kdev, int stage)
} }
break; break;
} }
up(&audio_pwr_sem); mutex_unlock(&audio_pwr_lock);
return 0; return 0;
} }