summaryrefslogtreecommitdiffstats
path: root/drivers/sound/trident.c
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2000-02-23 00:40:54 +0000
committerRalf Baechle <ralf@linux-mips.org>2000-02-23 00:40:54 +0000
commit529c593ece216e4aaffd36bd940cb94f1fa63129 (patch)
tree78f1c0b805f5656aa7b0417a043c5346f700a2cf /drivers/sound/trident.c
parent0bd079751d25808d1972baee5c4eaa1db2227257 (diff)
Merge with 2.3.43. I did ignore all modifications to the qlogicisp.c
driver due to the Origin A64 hacks.
Diffstat (limited to 'drivers/sound/trident.c')
-rw-r--r--drivers/sound/trident.c49
1 files changed, 16 insertions, 33 deletions
diff --git a/drivers/sound/trident.c b/drivers/sound/trident.c
index 2f808c92c..bbe991eb2 100644
--- a/drivers/sound/trident.c
+++ b/drivers/sound/trident.c
@@ -29,6 +29,8 @@
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* History
+ * v0.11.1 Jan 28 2000 Ollie Lho
+ * small bug in setting sample rate for 4d-nx (reported by Aaron)
* v0.11 Jan 27 2000 Ollie Lho
* DMA bug, scheduler latency, second try
* v0.10 Jan 24 2000 Ollie Lho
@@ -61,7 +63,6 @@
* "Channel Binding" ioctl extension
*/
-#include <linux/config.h>
#include <linux/module.h>
#include <linux/version.h>
#include <linux/string.h>
@@ -81,16 +82,12 @@
#include <asm/uaccess.h>
#include <asm/hardirq.h>
-#ifdef CONFIG_APM
-#include <linux/apm_bios.h>
-#endif
-
#include "trident.h"
#include "ac97_codec.h"
#undef DEBUG
-#define DRIVER_VERSION "0.11"
+#define DRIVER_VERSION "0.11.1"
/* magic numbers to protect our data structures */
#define TRIDENT_CARD_MAGIC 0x5072696E /* "Prin" */
@@ -527,7 +524,7 @@ static int trident_write_voice_regs(struct trident_state *state, unsigned int re
break;
case PCI_DEVICE_ID_TRIDENT_4DWAVE_NX:
data[0] = (channel->delta << 24);
- data[2] = ((channel->delta << 24) & 0xff000000) | (channel->eso & 0x00ffffff);
+ data[2] = ((channel->delta << 16) & 0xff000000) | (channel->eso & 0x00ffffff);
data[3] = channel->fm_vol & 0xffff;
break;
default:
@@ -1837,19 +1834,14 @@ static int trident_release(struct inode *inode, struct file *file)
}
static /*const*/ struct file_operations trident_audio_fops = {
- &trident_llseek,
- &trident_read,
- &trident_write,
- NULL, /* readdir */
- &trident_poll,
- &trident_ioctl,
- &trident_mmap,
- &trident_open,
- NULL, /* flush */
- &trident_release,
- NULL, /* fsync */
- NULL, /* fasync */
- NULL, /* lock */
+ llseek: trident_llseek,
+ read: trident_read,
+ write: trident_write,
+ poll: trident_poll,
+ ioctl: trident_ioctl,
+ mmap: trident_mmap,
+ open: trident_open,
+ release: trident_release,
};
/* trident specific AC97 functions */
@@ -1999,19 +1991,10 @@ static int trident_ioctl_mixdev(struct inode *inode, struct file *file, unsigned
}
static /*const*/ struct file_operations trident_mixer_fops = {
- &trident_llseek,
- NULL, /* read */
- NULL, /* write */
- NULL, /* readdir */
- NULL, /* poll */
- &trident_ioctl_mixdev,
- NULL, /* mmap */
- &trident_open_mixdev,
- NULL, /* flush */
- &trident_release_mixdev,
- NULL, /* fsync */
- NULL, /* fasync */
- NULL, /* lock */
+ llseek: trident_llseek,
+ ioctl: trident_ioctl_mixdev,
+ open: trident_open_mixdev,
+ release: trident_release_mixdev,
};
/* AC97 codec initialisation. */