Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > fc11cd6e1c513a17304da94a5390f3cd > files > 3718

kernel-2.6.18-194.11.1.el5.src.rpm

From: Prarit Bhargava <prarit@redhat.com>
Date: Mon, 28 Jul 2008 14:36:50 -0400
Subject: [snd] fix snd-sb16.ko compile
Message-id: 20080728183649.3917.29422.sendpatchset@prarit.bos.redhat.com
O-Subject: [RHEL5.4 PATCH]: Fix snd-sb16.ko compile
Bugzilla: 456698
RH-Acked-by: Brian Maly <bmaly@redhat.com>
RH-Acked-by: Jaroslav Kysela <jkysela@redhat.com>

Fix snd-sb16.ko compile.

This option is not turned on in our kernel, however, it should compile.

Compile tested only.

Resolves BZ 456698.

diff --git a/include/sound/initval.h b/include/sound/initval.h
index e85b907..3a088ad 100644
--- a/include/sound/initval.h
+++ b/include/sound/initval.h
@@ -53,7 +53,8 @@
 #ifdef SNDRV_LEGACY_FIND_FREE_IRQ
 #include <linux/interrupt.h>
 
-static irqreturn_t snd_legacy_empty_irq_handler(int irq, void *dev_id)
+static irqreturn_t snd_legacy_empty_irq_handler(int irq, void *dev_id,
+						struct pt_regs *regs)
 {
 	return IRQ_HANDLED;
 }
diff --git a/include/sound/sb.h b/include/sound/sb.h
index 81b2096..d0b434c 100644
--- a/include/sound/sb.h
+++ b/include/sound/sb.h
@@ -100,6 +100,7 @@ struct snd_sb {
 	struct snd_rawmidi *rmidi;
 	struct snd_rawmidi_substream *midi_substream_input;
 	struct snd_rawmidi_substream *midi_substream_output;
+	irq_handler_t rmidi_callback;
 
 	spinlock_t reg_lock;
 	spinlock_t open_lock;
@@ -315,7 +316,7 @@ int snd_sb16dsp_pcm(struct snd_sb *chip, int device, struct snd_pcm ** rpcm);
 const struct snd_pcm_ops *snd_sb16dsp_get_pcm_ops(int direction);
 int snd_sb16dsp_configure(struct snd_sb *chip);
 /* sb16.c */
-irqreturn_t snd_sb16dsp_interrupt(int irq, void *dev_id);
+irqreturn_t snd_sb16dsp_interrupt(int irq, void *dev_id, struct pt_regs *regs);
 
 /* exported mixer stuffs */
 enum {
diff --git a/sound/isa/sb/sb16_main.c b/sound/isa/sb/sb16_main.c
index 383911b..f183f18 100644
--- a/sound/isa/sb/sb16_main.c
+++ b/sound/isa/sb/sb16_main.c
@@ -395,7 +395,7 @@ static int snd_sb16_capture_trigger(struct snd_pcm_substream *substream,
 	return result;
 }
 
-irqreturn_t snd_sb16dsp_interrupt(int irq, void *dev_id)
+irqreturn_t snd_sb16dsp_interrupt(int irq, void *dev_id, struct pt_regs *regs)
 {
 	struct snd_sb *chip = dev_id;
 	unsigned char status;
@@ -405,7 +405,7 @@ irqreturn_t snd_sb16dsp_interrupt(int irq, void *dev_id)
 	status = snd_sbmixer_read(chip, SB_DSP4_IRQSTATUS);
 	spin_unlock(&chip->mixer_lock);
 	if ((status & SB_IRQTYPE_MPUIN) && chip->rmidi_callback)
-		chip->rmidi_callback(irq, chip->rmidi->private_data);
+		chip->rmidi_callback(irq, chip->rmidi->private_data, regs);
 	if (status & SB_IRQTYPE_8BIT) {
 		ok = 0;
 		if (chip->mode & SB_MODE_PLAYBACK_8) {
diff --git a/sound/isa/sb/sb8.c b/sound/isa/sb/sb8.c
index be1e83e..7b46cfc 100644
--- a/sound/isa/sb/sb8.c
+++ b/sound/isa/sb/sb8.c
@@ -63,7 +63,8 @@ struct snd_sb8 {
 	struct snd_sb *chip;
 };
 
-static irqreturn_t snd_sb8_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_sb8_interrupt(int irq, void *dev_id,
+				     struct pt_regs *regs)
 {
 	struct snd_sb *chip = dev_id;