]> err.no Git - linux-2.6/blobdiff - sound/pci/rme9652/hdsp.c
Merge branches 'release', 'bugzilla-6217', 'bugzilla-6629', 'bugzilla-6933', 'bugzill...
[linux-2.6] / sound / pci / rme9652 / hdsp.c
index 5aa57aef1fa7f99f07b274af7584b56d6f426763..c2bd4384316a8ad4ccf509dce009b62c241da335 100644 (file)
@@ -21,7 +21,6 @@
  *
  */
 
-#include <sound/driver.h>
 #include <linux/init.h>
 #include <linux/delay.h>
 #include <linux/interrupt.h>
@@ -608,7 +607,10 @@ static int hdsp_playback_to_output_key (struct hdsp *hdsp, int in, int out)
        case Multiface:
        case Digiface:
        default:
-               return (64 * out) + (32 + (in));
+               if (hdsp->firmware_rev == 0xa)
+                       return (64 * out) + (32 + (in));
+               else
+                       return (52 * out) + (26 + (in));
        case H9632:
                return (32 * out) + (16 + (in));
        case H9652:
@@ -622,7 +624,10 @@ static int hdsp_input_to_output_key (struct hdsp *hdsp, int in, int out)
        case Multiface:
        case Digiface:
        default:
-               return (64 * out) + in;
+               if (hdsp->firmware_rev == 0xa)
+                       return (64 * out) + in;
+               else
+                       return (52 * out) + in;
        case H9632:
                return (32 * out) + in;
        case H9652:
@@ -2119,7 +2124,7 @@ static int snd_hdsp_put_clock_source_lock(struct snd_kcontrol *kcontrol, struct
 
        change = (int)ucontrol->value.integer.value[0] != hdsp->clock_source_locked;
        if (change)
-               hdsp->clock_source_locked = ucontrol->value.integer.value[0];
+               hdsp->clock_source_locked = !!ucontrol->value.integer.value[0];
        return change;
 }
 
@@ -3556,7 +3561,7 @@ snd_hdsp_proc_read(struct snd_info_entry *entry, struct snd_info_buffer *buffer)
 
 }
 
-static void __devinit snd_hdsp_proc_init(struct hdsp *hdsp)
+static void snd_hdsp_proc_init(struct hdsp *hdsp)
 {
        struct snd_info_entry *entry;
 
@@ -3604,7 +3609,7 @@ static int snd_hdsp_set_defaults(struct hdsp *hdsp)
 
        /* ASSUMPTION: hdsp->lock is either held, or
           there is no need to hold it (e.g. during module
-          initalization).
+          initialization).
         */
 
        /* set defaults: