git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.4-vs2.0.2-rc26.diff
[linux-2.6.git]
/
sound
/
drivers
/
opl3
/
opl3_lib.c
diff --git
a/sound/drivers/opl3/opl3_lib.c
b/sound/drivers/opl3/opl3_lib.c
index
c313e52
..
4f85569
100644
(file)
--- a/
sound/drivers/opl3/opl3_lib.c
+++ b/
sound/drivers/opl3/opl3_lib.c
@@
-37,7
+37,7
@@
MODULE_LICENSE("GPL");
extern char snd_opl3_regmap[MAX_OPL2_VOICES][4];
extern char snd_opl3_regmap[MAX_OPL2_VOICES][4];
-static void snd_opl2_command(
opl3_t
* opl3, unsigned short cmd, unsigned char val)
+static void snd_opl2_command(
struct snd_opl3
* opl3, unsigned short cmd, unsigned char val)
{
unsigned long flags;
unsigned long port;
{
unsigned long flags;
unsigned long port;
@@
-60,7
+60,7
@@
static void snd_opl2_command(opl3_t * opl3, unsigned short cmd, unsigned char va
spin_unlock_irqrestore(&opl3->reg_lock, flags);
}
spin_unlock_irqrestore(&opl3->reg_lock, flags);
}
-static void snd_opl3_command(
opl3_t
* opl3, unsigned short cmd, unsigned char val)
+static void snd_opl3_command(
struct snd_opl3
* opl3, unsigned short cmd, unsigned char val)
{
unsigned long flags;
unsigned long port;
{
unsigned long flags;
unsigned long port;
@@
-85,7
+85,7
@@
static void snd_opl3_command(opl3_t * opl3, unsigned short cmd, unsigned char va
spin_unlock_irqrestore(&opl3->reg_lock, flags);
}
spin_unlock_irqrestore(&opl3->reg_lock, flags);
}
-static int snd_opl3_detect(
opl3_t
* opl3)
+static int snd_opl3_detect(
struct snd_opl3
* opl3)
{
/*
* This function returns 1 if the FM chip is present at the given I/O port
{
/*
* This function returns 1 if the FM chip is present at the given I/O port
@@
-153,12
+153,12
@@
static int snd_opl3_detect(opl3_t * opl3)
* Timer 1 - 80us
*/
* Timer 1 - 80us
*/
-static int snd_opl3_timer1_start(s
nd_timer_t
* timer)
+static int snd_opl3_timer1_start(s
truct snd_timer
* timer)
{
unsigned long flags;
unsigned char tmp;
unsigned int ticks;
{
unsigned long flags;
unsigned char tmp;
unsigned int ticks;
-
opl3_t
*opl3;
+
struct snd_opl3
*opl3;
opl3 = snd_timer_chip(timer);
spin_lock_irqsave(&opl3->timer_lock, flags);
opl3 = snd_timer_chip(timer);
spin_lock_irqsave(&opl3->timer_lock, flags);
@@
-171,11
+171,11
@@
static int snd_opl3_timer1_start(snd_timer_t * timer)
return 0;
}
return 0;
}
-static int snd_opl3_timer1_stop(s
nd_timer_t
* timer)
+static int snd_opl3_timer1_stop(s
truct snd_timer
* timer)
{
unsigned long flags;
unsigned char tmp;
{
unsigned long flags;
unsigned char tmp;
-
opl3_t
*opl3;
+
struct snd_opl3
*opl3;
opl3 = snd_timer_chip(timer);
spin_lock_irqsave(&opl3->timer_lock, flags);
opl3 = snd_timer_chip(timer);
spin_lock_irqsave(&opl3->timer_lock, flags);
@@
-190,12
+190,12
@@
static int snd_opl3_timer1_stop(snd_timer_t * timer)
* Timer 2 - 320us
*/
* Timer 2 - 320us
*/
-static int snd_opl3_timer2_start(s
nd_timer_t
* timer)
+static int snd_opl3_timer2_start(s
truct snd_timer
* timer)
{
unsigned long flags;
unsigned char tmp;
unsigned int ticks;
{
unsigned long flags;
unsigned char tmp;
unsigned int ticks;
-
opl3_t
*opl3;
+
struct snd_opl3
*opl3;
opl3 = snd_timer_chip(timer);
spin_lock_irqsave(&opl3->timer_lock, flags);
opl3 = snd_timer_chip(timer);
spin_lock_irqsave(&opl3->timer_lock, flags);
@@
-208,11
+208,11
@@
static int snd_opl3_timer2_start(snd_timer_t * timer)
return 0;
}
return 0;
}
-static int snd_opl3_timer2_stop(s
nd_timer_t
* timer)
+static int snd_opl3_timer2_stop(s
truct snd_timer
* timer)
{
unsigned long flags;
unsigned char tmp;
{
unsigned long flags;
unsigned char tmp;
-
opl3_t
*opl3;
+
struct snd_opl3
*opl3;
opl3 = snd_timer_chip(timer);
spin_lock_irqsave(&opl3->timer_lock, flags);
opl3 = snd_timer_chip(timer);
spin_lock_irqsave(&opl3->timer_lock, flags);
@@
-227,7
+227,7
@@
static int snd_opl3_timer2_stop(snd_timer_t * timer)
*/
*/
-static struct
_
snd_timer_hardware snd_opl3_timer1 =
+static struct snd_timer_hardware snd_opl3_timer1 =
{
.flags = SNDRV_TIMER_HW_STOP,
.resolution = 80000,
{
.flags = SNDRV_TIMER_HW_STOP,
.resolution = 80000,
@@
-236,7
+236,7
@@
static struct _snd_timer_hardware snd_opl3_timer1 =
.stop = snd_opl3_timer1_stop,
};
.stop = snd_opl3_timer1_stop,
};
-static struct
_
snd_timer_hardware snd_opl3_timer2 =
+static struct snd_timer_hardware snd_opl3_timer2 =
{
.flags = SNDRV_TIMER_HW_STOP,
.resolution = 320000,
{
.flags = SNDRV_TIMER_HW_STOP,
.resolution = 320000,
@@
-245,10
+245,10
@@
static struct _snd_timer_hardware snd_opl3_timer2 =
.stop = snd_opl3_timer2_stop,
};
.stop = snd_opl3_timer2_stop,
};
-static int snd_opl3_timer1_init(
opl3_t
* opl3, int timer_no)
+static int snd_opl3_timer1_init(
struct snd_opl3
* opl3, int timer_no)
{
{
- s
nd_timer_t
*timer = NULL;
- s
nd_timer_id_t
tid;
+ s
truct snd_timer
*timer = NULL;
+ s
truct snd_timer_id
tid;
int err;
tid.dev_class = SNDRV_TIMER_CLASS_CARD;
int err;
tid.dev_class = SNDRV_TIMER_CLASS_CARD;
@@
-265,10
+265,10
@@
static int snd_opl3_timer1_init(opl3_t * opl3, int timer_no)
return err;
}
return err;
}
-static int snd_opl3_timer2_init(
opl3_t
* opl3, int timer_no)
+static int snd_opl3_timer2_init(
struct snd_opl3
* opl3, int timer_no)
{
{
- s
nd_timer_t
*timer = NULL;
- s
nd_timer_id_t
tid;
+ s
truct snd_timer
*timer = NULL;
+ s
truct snd_timer_id
tid;
int err;
tid.dev_class = SNDRV_TIMER_CLASS_CARD;
int err;
tid.dev_class = SNDRV_TIMER_CLASS_CARD;
@@
-289,11
+289,11
@@
static int snd_opl3_timer2_init(opl3_t * opl3, int timer_no)
*/
*/
-void snd_opl3_interrupt(s
nd_hwdep_t
* hw)
+void snd_opl3_interrupt(s
truct snd_hwdep
* hw)
{
unsigned char status;
{
unsigned char status;
-
opl3_t
*opl3;
- s
nd_timer_t
*timer;
+
struct snd_opl3
*opl3;
+ s
truct snd_timer
*timer;
if (hw == NULL)
return;
if (hw == NULL)
return;
@@
-320,49
+320,45
@@
void snd_opl3_interrupt(snd_hwdep_t * hw)
*/
*/
-static int snd_opl3_free(
opl3_t
*opl3)
+static int snd_opl3_free(
struct snd_opl3
*opl3)
{
snd_assert(opl3 != NULL, return -ENXIO);
if (opl3->private_free)
opl3->private_free(opl3);
{
snd_assert(opl3 != NULL, return -ENXIO);
if (opl3->private_free)
opl3->private_free(opl3);
- if (opl3->res_l_port) {
- release_resource(opl3->res_l_port);
- kfree_nocheck(opl3->res_l_port);
- }
- if (opl3->res_r_port) {
- release_resource(opl3->res_r_port);
- kfree_nocheck(opl3->res_r_port);
- }
+ release_and_free_resource(opl3->res_l_port);
+ release_and_free_resource(opl3->res_r_port);
kfree(opl3);
return 0;
}
kfree(opl3);
return 0;
}
-static int snd_opl3_dev_free(s
nd_device_t
*device)
+static int snd_opl3_dev_free(s
truct snd_device
*device)
{
{
-
opl3_t
*opl3 = device->device_data;
+
struct snd_opl3
*opl3 = device->device_data;
return snd_opl3_free(opl3);
}
return snd_opl3_free(opl3);
}
-int snd_opl3_new(s
nd_card_t
*card,
+int snd_opl3_new(s
truct snd_card
*card,
unsigned short hardware,
unsigned short hardware,
-
opl3_t
**ropl3)
+
struct snd_opl3
**ropl3)
{
{
- static s
nd_device_ops_t
ops = {
+ static s
truct snd_device_ops
ops = {
.dev_free = snd_opl3_dev_free,
};
.dev_free = snd_opl3_dev_free,
};
-
opl3_t
*opl3;
+
struct snd_opl3
*opl3;
int err;
*ropl3 = NULL;
int err;
*ropl3 = NULL;
- opl3 = kcalloc(1, sizeof(*opl3), GFP_KERNEL);
- if (opl3 == NULL)
+ opl3 = kzalloc(sizeof(*opl3), GFP_KERNEL);
+ if (opl3 == NULL) {
+ snd_printk(KERN_ERR "opl3: cannot allocate\n");
return -ENOMEM;
return -ENOMEM;
+ }
opl3->card = card;
opl3->hardware = hardware;
spin_lock_init(&opl3->reg_lock);
spin_lock_init(&opl3->timer_lock);
opl3->card = card;
opl3->hardware = hardware;
spin_lock_init(&opl3->reg_lock);
spin_lock_init(&opl3->timer_lock);
-
init_MUTEX
(&opl3->access_mutex);
+
mutex_init
(&opl3->access_mutex);
if ((err = snd_device_new(card, SNDRV_DEV_CODEC, opl3, &ops)) < 0) {
snd_opl3_free(opl3);
if ((err = snd_device_new(card, SNDRV_DEV_CODEC, opl3, &ops)) < 0) {
snd_opl3_free(opl3);
@@
-373,7
+369,7
@@
int snd_opl3_new(snd_card_t *card,
return 0;
}
return 0;
}
-int snd_opl3_init(
opl3_t
*opl3)
+int snd_opl3_init(
struct snd_opl3
*opl3)
{
if (! opl3->command) {
printk(KERN_ERR "snd_opl3_init: command not defined!\n");
{
if (! opl3->command) {
printk(KERN_ERR "snd_opl3_init: command not defined!\n");
@@
-397,14
+393,14
@@
int snd_opl3_init(opl3_t *opl3)
return 0;
}
return 0;
}
-int snd_opl3_create(s
nd_card_t *
card,
+int snd_opl3_create(s
truct snd_card *
card,
unsigned long l_port,
unsigned long r_port,
unsigned short hardware,
int integrated,
unsigned long l_port,
unsigned long r_port,
unsigned short hardware,
int integrated,
-
opl3_t
** ropl3)
+
struct snd_opl3
** ropl3)
{
{
-
opl3_t
*opl3;
+
struct snd_opl3
*opl3;
int err;
*ropl3 = NULL;
int err;
*ropl3 = NULL;
@@
-413,13
+409,13
@@
int snd_opl3_create(snd_card_t * card,
if (! integrated) {
if ((opl3->res_l_port = request_region(l_port, 2, "OPL2/3 (left)")) == NULL) {
snd_printk(KERN_ERR "opl3: can't grab left port 0x%lx\n", l_port);
if (! integrated) {
if ((opl3->res_l_port = request_region(l_port, 2, "OPL2/3 (left)")) == NULL) {
snd_printk(KERN_ERR "opl3: can't grab left port 0x%lx\n", l_port);
- snd_
opl3_free(
opl3);
+ snd_
device_free(card,
opl3);
return -EBUSY;
}
if (r_port != 0 &&
(opl3->res_r_port = request_region(r_port, 2, "OPL2/3 (right)")) == NULL) {
snd_printk(KERN_ERR "opl3: can't grab right port 0x%lx\n", r_port);
return -EBUSY;
}
if (r_port != 0 &&
(opl3->res_r_port = request_region(r_port, 2, "OPL2/3 (right)")) == NULL) {
snd_printk(KERN_ERR "opl3: can't grab right port 0x%lx\n", r_port);
- snd_
opl3_free(
opl3);
+ snd_
device_free(card,
opl3);
return -EBUSY;
}
}
return -EBUSY;
}
}
@@
-438,7
+434,7
@@
int snd_opl3_create(snd_card_t * card,
if ((err = snd_opl3_detect(opl3)) < 0) {
snd_printd("OPL2/3 chip not detected at 0x%lx/0x%lx\n",
opl3->l_port, opl3->r_port);
if ((err = snd_opl3_detect(opl3)) < 0) {
snd_printd("OPL2/3 chip not detected at 0x%lx/0x%lx\n",
opl3->l_port, opl3->r_port);
- snd_
opl3_free(
opl3);
+ snd_
device_free(card,
opl3);
return err;
}
/* detect routine returns correct hardware type */
return err;
}
/* detect routine returns correct hardware type */
@@
-455,7
+451,7
@@
int snd_opl3_create(snd_card_t * card,
return 0;
}
return 0;
}
-int snd_opl3_timer_new(
opl3_t
* opl3, int timer1_dev, int timer2_dev)
+int snd_opl3_timer_new(
struct snd_opl3
* opl3, int timer1_dev, int timer2_dev)
{
int err;
{
int err;
@@
-472,12
+468,12
@@
int snd_opl3_timer_new(opl3_t * opl3, int timer1_dev, int timer2_dev)
return 0;
}
return 0;
}
-int snd_opl3_hwdep_new(
opl3_t
* opl3,
+int snd_opl3_hwdep_new(
struct snd_opl3
* opl3,
int device, int seq_device,
int device, int seq_device,
- s
nd_hwdep_t
** rhwdep)
+ s
truct snd_hwdep
** rhwdep)
{
{
- s
nd_hwdep_t
*hw;
- s
nd_card_t
*card = opl3->card;
+ s
truct snd_hwdep
*hw;
+ s
truct snd_card
*card = opl3->card;
int err;
if (rhwdep)
int err;
if (rhwdep)
@@
-520,9
+516,9
@@
int snd_opl3_hwdep_new(opl3_t * opl3,
opl3->seq_dev_num = seq_device;
#if defined(CONFIG_SND_SEQUENCER) || (defined(MODULE) && defined(CONFIG_SND_SEQUENCER_MODULE))
if (snd_seq_device_new(card, seq_device, SNDRV_SEQ_DEV_ID_OPL3,
opl3->seq_dev_num = seq_device;
#if defined(CONFIG_SND_SEQUENCER) || (defined(MODULE) && defined(CONFIG_SND_SEQUENCER_MODULE))
if (snd_seq_device_new(card, seq_device, SNDRV_SEQ_DEV_ID_OPL3,
- sizeof(
opl3_t
*), &opl3->seq_dev) >= 0) {
+ sizeof(
struct snd_opl3
*), &opl3->seq_dev) >= 0) {
strcpy(opl3->seq_dev->name, hw->name);
strcpy(opl3->seq_dev->name, hw->name);
- *(
opl3_t
**)SNDRV_SEQ_DEVICE_ARGPTR(opl3->seq_dev) = opl3;
+ *(
struct snd_opl3
**)SNDRV_SEQ_DEVICE_ARGPTR(opl3->seq_dev) = opl3;
}
#endif
if (rhwdep)
}
#endif
if (rhwdep)