diff --git a/sound/pci/ca0106/ca0106_main.c b/sound/pci/ca0106/ca0106_main.c
index aaaef9e..ee58d16 100644
--- a/sound/pci/ca0106/ca0106_main.c
+++ b/sound/pci/ca0106/ca0106_main.c
@@ -1331,27 +1331,33 @@
 }
 
 
-void ca0106_midi_interrupt_enable(ca_midi_t *midi, int intr){
+static void ca0106_midi_interrupt_enable(ca_midi_t *midi, int intr)
+{
 	snd_ca0106_intr_enable((ca0106_t *)(midi->dev_id), intr);
 }
 
-void ca0106_midi_interrupt_disable(ca_midi_t *midi, int intr){
+static void ca0106_midi_interrupt_disable(ca_midi_t *midi, int intr)
+{
 	snd_ca0106_intr_disable((ca0106_t *)(midi->dev_id), intr);
 }
 
-unsigned char ca0106_midi_read(ca_midi_t *midi, int idx){
+static unsigned char ca0106_midi_read(ca_midi_t *midi, int idx)
+{
 	return (unsigned char)snd_ca0106_ptr_read((ca0106_t *)(midi->dev_id), midi->port + idx, 0);
 }
 
-void ca0106_midi_write(ca_midi_t *midi, int data, int idx){
+static void ca0106_midi_write(ca_midi_t *midi, int data, int idx)
+{
 	snd_ca0106_ptr_write((ca0106_t *)(midi->dev_id), midi->port + idx, 0, data);
 }
 
-snd_card_t *ca0106_dev_id_card(void *dev_id){
+static snd_card_t *ca0106_dev_id_card(void *dev_id)
+{
 	return ((ca0106_t *)dev_id)->card;
 }
 
-int ca0106_dev_id_port(void *dev_id){
+static int ca0106_dev_id_port(void *dev_id)
+{
 	return ((ca0106_t *)dev_id)->port;
 }
 
@@ -1457,19 +1463,13 @@
 		return err;
 	}
 
-#ifdef CONFIG_SND_DEBUG_DETECT
-	printk("ca0106: probe for MIDI channel A ...");
-#endif
+	snd_printdd("ca0106: probe for MIDI channel A ...");
 	if ((err = snd_ca0106_midi(chip,CA0106_MIDI_CHAN_A)) < 0) {
 		snd_card_free(card);
-#ifdef CONFIG_SND_DEBUG_DETECT
-		printk(" failed, err=0x%x\n",err);
-#endif
+		snd_printdd(" failed, err=0x%x\n",err);
 		return err;
 	}
-#ifdef CONFIG_SND_DEBUG_DETECT
-	printk(" done.\n");
-#endif
+	snd_printdd(" done.\n");
 
 	snd_ca0106_proc_init(chip);
 
diff --git a/sound/pci/ca0106/ca_midi.c b/sound/pci/ca0106/ca_midi.c
index f439d14..9cc0c67 100644
--- a/sound/pci/ca0106/ca_midi.c
+++ b/sound/pci/ca0106/ca_midi.c
@@ -49,7 +49,7 @@
 #endif
 }
 
-void ca_midi_interrupt(ca_midi_t *midi, unsigned int status) {
+static void ca_midi_interrupt(ca_midi_t *midi, unsigned int status) {
 	unsigned char byte;
 
 	if (midi->rmidi == NULL) {
@@ -258,7 +258,7 @@
 	.trigger =	ca_midi_input_trigger,
 };
 
-void ca_midi_free(ca_midi_t *midi) {
+static void ca_midi_free(ca_midi_t *midi) {
 	midi->interrupt = NULL;
 	midi->interrupt_enable = NULL;
 	midi->interrupt_disable = NULL;
diff --git a/sound/pci/ca0106/ca_midi.h b/sound/pci/ca0106/ca_midi.h
index 95c8e1c..b452cec 100644
--- a/sound/pci/ca0106/ca_midi.h
+++ b/sound/pci/ca0106/ca_midi.h
@@ -64,9 +64,6 @@
 	int (*get_dev_id_port)(void *dev_id);
 };
 
-void ca_midi_interrupt(ca_midi_t *midi, unsigned int status);
-
 int __devinit ca_midi_init(void *card, ca_midi_t *midi, int device, char *name);
 
-void ca_midi_free(ca_midi_t *midi);
 
