diff options
Diffstat (limited to 'sound/oss/waveartist.c')
| -rw-r--r-- | sound/oss/waveartist.c | 22 |
1 files changed, 7 insertions, 15 deletions
diff --git a/sound/oss/waveartist.c b/sound/oss/waveartist.c index 88490418f93..672af8b5654 100644 --- a/sound/oss/waveartist.c +++ b/sound/oss/waveartist.c @@ -35,19 +35,19 @@ #include <linux/module.h> #include <linux/init.h> +#include <linux/slab.h> #include <linux/sched.h> #include <linux/interrupt.h> #include <linux/delay.h> #include <linux/spinlock.h> #include <linux/bitops.h> -#include <asm/system.h> #include "sound_config.h" #include "waveartist.h" #ifdef CONFIG_ARM -#include <asm/hardware.h> +#include <mach/hardware.h> #include <asm/mach-types.h> #endif @@ -183,14 +183,8 @@ waveartist_iack(wavnc_info *devc) static inline int waveartist_sleep(int timeout_ms) { - unsigned int timeout = timeout_ms * 10 * HZ / 100; - - do { - set_current_state(TASK_INTERRUPTIBLE); - timeout = schedule_timeout(timeout); - } while (timeout); - - return 0; + unsigned int timeout = msecs_to_jiffies(timeout_ms*100); + return schedule_timeout_interruptible(timeout); } static int @@ -1483,16 +1477,14 @@ static void __exit unload_waveartist(struct address_info *hw) #define VNC_HANDSET_DETECT 0x40 #define VNC_DISABLE_AUTOSWITCH 0x80 -extern spinlock_t gpio_lock; - static inline void vnc_mute_spkr(wavnc_info *devc) { unsigned long flags; - spin_lock_irqsave(&gpio_lock, flags); - cpld_modify(CPLD_UNMUTE, devc->spkr_mute_state ? 0 : CPLD_UNMUTE); - spin_unlock_irqrestore(&gpio_lock, flags); + raw_spin_lock_irqsave(&nw_gpio_lock, flags); + nw_cpld_modify(CPLD_UNMUTE, devc->spkr_mute_state ? 0 : CPLD_UNMUTE); + raw_spin_unlock_irqrestore(&nw_gpio_lock, flags); } static void |
