ALSA: hda - Enabling Realtek ALC 671 codec
[linux-2.6.git] / sound / sound_core.c
index c8627fc..c6e81fb 100644 (file)
@@ -29,7 +29,7 @@ MODULE_DESCRIPTION("Core sound module");
 MODULE_AUTHOR("Alan Cox");
 MODULE_LICENSE("GPL");
 
-static char *sound_devnode(struct device *dev, mode_t *mode)
+static char *sound_devnode(struct device *dev, umode_t *mode)
 {
        if (MAJOR(dev->devt) == SOUND_MAJOR)
                return NULL;
@@ -104,7 +104,6 @@ module_exit(cleanup_soundcore);
 
 #include <linux/init.h>
 #include <linux/slab.h>
-#include <linux/smp_lock.h>
 #include <linux/types.h>
 #include <linux/kernel.h>
 #include <linux/sound.h>
@@ -165,6 +164,7 @@ static const struct file_operations soundcore_fops =
        /* We must have an owner or the module locking fails */
        .owner  = THIS_MODULE,
        .open   = soundcore_open,
+       .llseek = noop_llseek,
 };
 
 /*
@@ -384,6 +384,9 @@ int register_sound_special_device(const struct file_operations *fops, int unit,
            case 4:
                name = "audio";
                break;
+           case 5:
+               name = "dspW";
+               break;
            case 8:
                name = "sequencer2";
                if (unit >= SOUND_STEP)
@@ -629,12 +632,8 @@ static int soundcore_open(struct inode *inode, struct file *file)
                file->f_op = new_fops;
                spin_unlock(&sound_loader_lock);
 
-               if (file->f_op->open) {
-                       /* TODO: push down BKL into indivial open functions */
-                       lock_kernel();
+               if (file->f_op->open)
                        err = file->f_op->open(inode,file);
-                       unlock_kernel();
-               }
 
                if (err) {
                        fops_put(file->f_op);