Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
63cf123b
Commit
63cf123b
authored
Nov 07, 2008
by
Takashi Iwai
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'topic/fix/misc' into topic/misc
parents
6834d7ce
fcef7836
Changes
23
Hide whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
106 additions
and
64 deletions
+106
-64
include/sound/core.h
include/sound/core.h
+7
-3
sound/aoa/soundbus/core.c
sound/aoa/soundbus/core.c
+1
-1
sound/core/control.c
sound/core/control.c
+6
-1
sound/core/rawmidi.c
sound/core/rawmidi.c
+8
-0
sound/drivers/ml403-ac97cr.c
sound/drivers/ml403-ac97cr.c
+2
-2
sound/drivers/pcsp/pcsp_input.c
sound/drivers/pcsp/pcsp_input.c
+2
-2
sound/isa/ad1848/ad1848.c
sound/isa/ad1848/ad1848.c
+3
-3
sound/isa/adlib.c
sound/isa/adlib.c
+6
-6
sound/isa/cs423x/cs4231.c
sound/isa/cs423x/cs4231.c
+4
-4
sound/isa/cs423x/cs4236.c
sound/isa/cs423x/cs4236.c
+4
-4
sound/isa/es1688/es1688.c
sound/isa/es1688/es1688.c
+3
-6
sound/isa/gus/gusclassic.c
sound/isa/gus/gusclassic.c
+5
-8
sound/isa/gus/gusextreme.c
sound/isa/gus/gusextreme.c
+7
-12
sound/isa/sb/sb8.c
sound/isa/sb/sb8.c
+2
-2
sound/oss/kahlua.c
sound/oss/kahlua.c
+1
-1
sound/pci/ac97/ac97_codec.c
sound/pci/ac97/ac97_codec.c
+3
-3
sound/pci/cs5530.c
sound/pci/cs5530.c
+1
-1
sound/pci/emu10k1/emu10k1_main.c
sound/pci/emu10k1/emu10k1_main.c
+3
-0
sound/pci/ice1712/ice1712.c
sound/pci/ice1712/ice1712.c
+4
-2
sound/pci/intel8x0.c
sound/pci/intel8x0.c
+1
-0
sound/soc/soc-core.c
sound/soc/soc-core.c
+2
-2
sound/sound_core.c
sound/sound_core.c
+1
-1
sound/usb/usbquirks.h
sound/usb/usbquirks.h
+30
-0
No files found.
include/sound/core.h
View file @
63cf123b
...
@@ -388,9 +388,13 @@ void snd_verbose_printd(const char *file, int line, const char *format, ...)
...
@@ -388,9 +388,13 @@ void snd_verbose_printd(const char *file, int line, const char *format, ...)
#else
/* !CONFIG_SND_DEBUG */
#else
/* !CONFIG_SND_DEBUG */
#define snd_printd(fmt, args...)
/* nothing */
#define snd_printd(fmt, args...) do { } while (0)
#define snd_BUG()
/* nothing */
#define snd_BUG() do { } while (0)
#define snd_BUG_ON(cond) ({
/*(void)(cond);*/
0;})
/* always false */
static
inline
int
__snd_bug_on
(
void
)
{
return
0
;
}
#define snd_BUG_ON(cond) __snd_bug_on()
/* always false */
#endif
/* CONFIG_SND_DEBUG */
#endif
/* CONFIG_SND_DEBUG */
...
...
sound/aoa/soundbus/core.c
View file @
63cf123b
...
@@ -176,7 +176,7 @@ int soundbus_add_one(struct soundbus_dev *dev)
...
@@ -176,7 +176,7 @@ int soundbus_add_one(struct soundbus_dev *dev)
return
-
EINVAL
;
return
-
EINVAL
;
}
}
snprintf
(
dev
->
ofdev
.
dev
.
bus_id
,
BUS_ID_SIZE
,
"soundbus:%x"
,
++
devcount
);
dev_set_name
(
&
dev
->
ofdev
.
dev
,
"soundbus:%x"
,
++
devcount
);
dev
->
ofdev
.
dev
.
bus
=
&
soundbus_bus_type
;
dev
->
ofdev
.
dev
.
bus
=
&
soundbus_bus_type
;
return
of_device_register
(
&
dev
->
ofdev
);
return
of_device_register
(
&
dev
->
ofdev
);
}
}
...
...
sound/core/control.c
View file @
63cf123b
...
@@ -225,8 +225,13 @@ struct snd_kcontrol *snd_ctl_new1(const struct snd_kcontrol_new *ncontrol,
...
@@ -225,8 +225,13 @@ struct snd_kcontrol *snd_ctl_new1(const struct snd_kcontrol_new *ncontrol,
kctl
.
id
.
iface
=
ncontrol
->
iface
;
kctl
.
id
.
iface
=
ncontrol
->
iface
;
kctl
.
id
.
device
=
ncontrol
->
device
;
kctl
.
id
.
device
=
ncontrol
->
device
;
kctl
.
id
.
subdevice
=
ncontrol
->
subdevice
;
kctl
.
id
.
subdevice
=
ncontrol
->
subdevice
;
if
(
ncontrol
->
name
)
if
(
ncontrol
->
name
)
{
strlcpy
(
kctl
.
id
.
name
,
ncontrol
->
name
,
sizeof
(
kctl
.
id
.
name
));
strlcpy
(
kctl
.
id
.
name
,
ncontrol
->
name
,
sizeof
(
kctl
.
id
.
name
));
if
(
strcmp
(
ncontrol
->
name
,
kctl
.
id
.
name
)
!=
0
)
snd_printk
(
KERN_WARNING
"Control name '%s' truncated to '%s'
\n
"
,
ncontrol
->
name
,
kctl
.
id
.
name
);
}
kctl
.
id
.
index
=
ncontrol
->
index
;
kctl
.
id
.
index
=
ncontrol
->
index
;
kctl
.
count
=
ncontrol
->
count
?
ncontrol
->
count
:
1
;
kctl
.
count
=
ncontrol
->
count
?
ncontrol
->
count
:
1
;
access
=
ncontrol
->
access
==
0
?
SNDRV_CTL_ELEM_ACCESS_READWRITE
:
access
=
ncontrol
->
access
==
0
?
SNDRV_CTL_ELEM_ACCESS_READWRITE
:
...
...
sound/core/rawmidi.c
View file @
63cf123b
...
@@ -148,6 +148,8 @@ static int snd_rawmidi_runtime_free(struct snd_rawmidi_substream *substream)
...
@@ -148,6 +148,8 @@ static int snd_rawmidi_runtime_free(struct snd_rawmidi_substream *substream)
static
inline
void
snd_rawmidi_output_trigger
(
struct
snd_rawmidi_substream
*
substream
,
int
up
)
static
inline
void
snd_rawmidi_output_trigger
(
struct
snd_rawmidi_substream
*
substream
,
int
up
)
{
{
if
(
!
substream
->
opened
)
return
;
if
(
up
)
{
if
(
up
)
{
tasklet_hi_schedule
(
&
substream
->
runtime
->
tasklet
);
tasklet_hi_schedule
(
&
substream
->
runtime
->
tasklet
);
}
else
{
}
else
{
...
@@ -158,6 +160,8 @@ static inline void snd_rawmidi_output_trigger(struct snd_rawmidi_substream *subs
...
@@ -158,6 +160,8 @@ static inline void snd_rawmidi_output_trigger(struct snd_rawmidi_substream *subs
static
void
snd_rawmidi_input_trigger
(
struct
snd_rawmidi_substream
*
substream
,
int
up
)
static
void
snd_rawmidi_input_trigger
(
struct
snd_rawmidi_substream
*
substream
,
int
up
)
{
{
if
(
!
substream
->
opened
)
return
;
substream
->
ops
->
trigger
(
substream
,
up
);
substream
->
ops
->
trigger
(
substream
,
up
);
if
(
!
up
&&
substream
->
runtime
->
event
)
if
(
!
up
&&
substream
->
runtime
->
event
)
tasklet_kill
(
&
substream
->
runtime
->
tasklet
);
tasklet_kill
(
&
substream
->
runtime
->
tasklet
);
...
@@ -857,6 +861,8 @@ int snd_rawmidi_receive(struct snd_rawmidi_substream *substream,
...
@@ -857,6 +861,8 @@ int snd_rawmidi_receive(struct snd_rawmidi_substream *substream,
int
result
=
0
,
count1
;
int
result
=
0
,
count1
;
struct
snd_rawmidi_runtime
*
runtime
=
substream
->
runtime
;
struct
snd_rawmidi_runtime
*
runtime
=
substream
->
runtime
;
if
(
!
substream
->
opened
)
return
-
EBADFD
;
if
(
runtime
->
buffer
==
NULL
)
{
if
(
runtime
->
buffer
==
NULL
)
{
snd_printd
(
"snd_rawmidi_receive: input is not active!!!
\n
"
);
snd_printd
(
"snd_rawmidi_receive: input is not active!!!
\n
"
);
return
-
EINVAL
;
return
-
EINVAL
;
...
@@ -1126,6 +1132,8 @@ int snd_rawmidi_transmit_ack(struct snd_rawmidi_substream *substream, int count)
...
@@ -1126,6 +1132,8 @@ int snd_rawmidi_transmit_ack(struct snd_rawmidi_substream *substream, int count)
int
snd_rawmidi_transmit
(
struct
snd_rawmidi_substream
*
substream
,
int
snd_rawmidi_transmit
(
struct
snd_rawmidi_substream
*
substream
,
unsigned
char
*
buffer
,
int
count
)
unsigned
char
*
buffer
,
int
count
)
{
{
if
(
!
substream
->
opened
)
return
-
EBADFD
;
count
=
snd_rawmidi_transmit_peek
(
substream
,
buffer
,
count
);
count
=
snd_rawmidi_transmit_peek
(
substream
,
buffer
,
count
);
if
(
count
<
0
)
if
(
count
<
0
)
return
count
;
return
count
;
...
...
sound/drivers/ml403-ac97cr.c
View file @
63cf123b
...
@@ -1153,7 +1153,7 @@ snd_ml403_ac97cr_create(struct snd_card *card, struct platform_device *pfdev,
...
@@ -1153,7 +1153,7 @@ snd_ml403_ac97cr_create(struct snd_card *card, struct platform_device *pfdev,
/* get irq */
/* get irq */
irq
=
platform_get_irq
(
pfdev
,
0
);
irq
=
platform_get_irq
(
pfdev
,
0
);
if
(
request_irq
(
irq
,
snd_ml403_ac97cr_irq
,
IRQF_DISABLED
,
if
(
request_irq
(
irq
,
snd_ml403_ac97cr_irq
,
IRQF_DISABLED
,
pfdev
->
dev
.
bus_id
,
(
void
*
)
ml403_ac97cr
))
{
dev_name
(
&
pfdev
->
dev
)
,
(
void
*
)
ml403_ac97cr
))
{
snd_printk
(
KERN_ERR
SND_ML403_AC97CR_DRIVER
": "
snd_printk
(
KERN_ERR
SND_ML403_AC97CR_DRIVER
": "
"unable to grab IRQ %d
\n
"
,
"unable to grab IRQ %d
\n
"
,
irq
);
irq
);
...
@@ -1166,7 +1166,7 @@ snd_ml403_ac97cr_create(struct snd_card *card, struct platform_device *pfdev,
...
@@ -1166,7 +1166,7 @@ snd_ml403_ac97cr_create(struct snd_card *card, struct platform_device *pfdev,
ml403_ac97cr
->
irq
);
ml403_ac97cr
->
irq
);
irq
=
platform_get_irq
(
pfdev
,
1
);
irq
=
platform_get_irq
(
pfdev
,
1
);
if
(
request_irq
(
irq
,
snd_ml403_ac97cr_irq
,
IRQF_DISABLED
,
if
(
request_irq
(
irq
,
snd_ml403_ac97cr_irq
,
IRQF_DISABLED
,
pfdev
->
dev
.
bus_id
,
(
void
*
)
ml403_ac97cr
))
{
dev_name
(
&
pfdev
->
dev
)
,
(
void
*
)
ml403_ac97cr
))
{
snd_printk
(
KERN_ERR
SND_ML403_AC97CR_DRIVER
": "
snd_printk
(
KERN_ERR
SND_ML403_AC97CR_DRIVER
": "
"unable to grab IRQ %d
\n
"
,
"unable to grab IRQ %d
\n
"
,
irq
);
irq
);
...
...
sound/drivers/pcsp/pcsp_input.c
View file @
63cf123b
...
@@ -24,13 +24,13 @@ static void pcspkr_do_sound(unsigned int count)
...
@@ -24,13 +24,13 @@ static void pcspkr_do_sound(unsigned int count)
spin_lock_irqsave
(
&
i8253_lock
,
flags
);
spin_lock_irqsave
(
&
i8253_lock
,
flags
);
if
(
count
)
{
if
(
count
)
{
/* enable counter 2 */
outb_p
(
inb_p
(
0x61
)
|
3
,
0x61
);
/* set command for counter 2, 2 byte write */
/* set command for counter 2, 2 byte write */
outb_p
(
0xB6
,
0x43
);
outb_p
(
0xB6
,
0x43
);
/* select desired HZ */
/* select desired HZ */
outb_p
(
count
&
0xff
,
0x42
);
outb_p
(
count
&
0xff
,
0x42
);
outb
((
count
>>
8
)
&
0xff
,
0x42
);
outb
((
count
>>
8
)
&
0xff
,
0x42
);
/* enable counter 2 */
outb_p
(
inb_p
(
0x61
)
|
3
,
0x61
);
}
else
{
}
else
{
/* disable counter 2 */
/* disable counter 2 */
outb
(
inb_p
(
0x61
)
&
0xFC
,
0x61
);
outb
(
inb_p
(
0x61
)
&
0xFC
,
0x61
);
...
...
sound/isa/ad1848/ad1848.c
View file @
63cf123b
...
@@ -70,15 +70,15 @@ static int __devinit snd_ad1848_match(struct device *dev, unsigned int n)
...
@@ -70,15 +70,15 @@ static int __devinit snd_ad1848_match(struct device *dev, unsigned int n)
return
0
;
return
0
;
if
(
port
[
n
]
==
SNDRV_AUTO_PORT
)
{
if
(
port
[
n
]
==
SNDRV_AUTO_PORT
)
{
snd_printk
(
KERN_ERR
"%s: please specify port
\n
"
,
dev
->
bus_id
);
dev_err
(
dev
,
"please specify port
\n
"
);
return
0
;
return
0
;
}
}
if
(
irq
[
n
]
==
SNDRV_AUTO_IRQ
)
{
if
(
irq
[
n
]
==
SNDRV_AUTO_IRQ
)
{
snd_printk
(
KERN_ERR
"%s: please specify irq
\n
"
,
dev
->
bus_id
);
dev_err
(
dev
,
"please specify irq
\n
"
);
return
0
;
return
0
;
}
}
if
(
dma1
[
n
]
==
SNDRV_AUTO_DMA
)
{
if
(
dma1
[
n
]
==
SNDRV_AUTO_DMA
)
{
snd_printk
(
KERN_ERR
"%s: please specify dma1
\n
"
,
dev
->
bus_id
);
dev_err
(
dev
,
"please specify dma1
\n
"
);
return
0
;
return
0
;
}
}
return
1
;
return
1
;
...
...
sound/isa/adlib.c
View file @
63cf123b
...
@@ -36,7 +36,7 @@ static int __devinit snd_adlib_match(struct device *dev, unsigned int n)
...
@@ -36,7 +36,7 @@ static int __devinit snd_adlib_match(struct device *dev, unsigned int n)
return
0
;
return
0
;
if
(
port
[
n
]
==
SNDRV_AUTO_PORT
)
{
if
(
port
[
n
]
==
SNDRV_AUTO_PORT
)
{
snd_printk
(
KERN_ERR
"%s: please specify port
\n
"
,
dev
->
bus_id
);
dev_err
(
dev
,
"please specify port
\n
"
);
return
0
;
return
0
;
}
}
return
1
;
return
1
;
...
@@ -55,13 +55,13 @@ static int __devinit snd_adlib_probe(struct device *dev, unsigned int n)
...
@@ -55,13 +55,13 @@ static int __devinit snd_adlib_probe(struct device *dev, unsigned int n)
card
=
snd_card_new
(
index
[
n
],
id
[
n
],
THIS_MODULE
,
0
);
card
=
snd_card_new
(
index
[
n
],
id
[
n
],
THIS_MODULE
,
0
);
if
(
!
card
)
{
if
(
!
card
)
{
snd_printk
(
KERN_ERR
"%s: could not create card
\n
"
,
dev
->
bus_id
);
dev_err
(
dev
,
"could not create card
\n
"
);
return
-
EINVAL
;
return
-
EINVAL
;
}
}
card
->
private_data
=
request_region
(
port
[
n
],
4
,
CRD_NAME
);
card
->
private_data
=
request_region
(
port
[
n
],
4
,
CRD_NAME
);
if
(
!
card
->
private_data
)
{
if
(
!
card
->
private_data
)
{
snd_printk
(
KERN_ERR
"%s: could not grab ports
\n
"
,
dev
->
bus_id
);
dev_err
(
dev
,
"could not grab ports
\n
"
);
error
=
-
EBUSY
;
error
=
-
EBUSY
;
goto
out
;
goto
out
;
}
}
...
@@ -73,13 +73,13 @@ static int __devinit snd_adlib_probe(struct device *dev, unsigned int n)
...
@@ -73,13 +73,13 @@ static int __devinit snd_adlib_probe(struct device *dev, unsigned int n)
error
=
snd_opl3_create
(
card
,
port
[
n
],
port
[
n
]
+
2
,
OPL3_HW_AUTO
,
1
,
&
opl3
);
error
=
snd_opl3_create
(
card
,
port
[
n
],
port
[
n
]
+
2
,
OPL3_HW_AUTO
,
1
,
&
opl3
);
if
(
error
<
0
)
{
if
(
error
<
0
)
{
snd_printk
(
KERN_ERR
"%s: could not create OPL
\n
"
,
dev
->
bus_id
);
dev_err
(
dev
,
"could not create OPL
\n
"
);
goto
out
;
goto
out
;
}
}
error
=
snd_opl3_hwdep_new
(
opl3
,
0
,
0
,
NULL
);
error
=
snd_opl3_hwdep_new
(
opl3
,
0
,
0
,
NULL
);
if
(
error
<
0
)
{
if
(
error
<
0
)
{
snd_printk
(
KERN_ERR
"%s: could not create FM
\n
"
,
dev
->
bus_id
);
dev_err
(
dev
,
"could not create FM
\n
"
);
goto
out
;
goto
out
;
}
}
...
@@ -87,7 +87,7 @@ static int __devinit snd_adlib_probe(struct device *dev, unsigned int n)
...
@@ -87,7 +87,7 @@ static int __devinit snd_adlib_probe(struct device *dev, unsigned int n)
error
=
snd_card_register
(
card
);
error
=
snd_card_register
(
card
);
if
(
error
<
0
)
{
if
(
error
<
0
)
{
snd_printk
(
KERN_ERR
"%s: could not register card
\n
"
,
dev
->
bus_id
);
dev_err
(
dev
,
"could not register card
\n
"
);
goto
out
;
goto
out
;
}
}
...
...
sound/isa/cs423x/cs4231.c
View file @
63cf123b
...
@@ -74,15 +74,15 @@ static int __devinit snd_cs4231_match(struct device *dev, unsigned int n)
...
@@ -74,15 +74,15 @@ static int __devinit snd_cs4231_match(struct device *dev, unsigned int n)
return
0
;
return
0
;
if
(
port
[
n
]
==
SNDRV_AUTO_PORT
)
{
if
(
port
[
n
]
==
SNDRV_AUTO_PORT
)
{
snd_printk
(
KERN_ERR
"%s: please specify port
\n
"
,
dev
->
bus_id
);
dev_err
(
dev
,
"please specify port
\n
"
);
return
0
;
return
0
;
}
}
if
(
irq
[
n
]
==
SNDRV_AUTO_IRQ
)
{
if
(
irq
[
n
]
==
SNDRV_AUTO_IRQ
)
{
snd_printk
(
KERN_ERR
"%s: please specify irq
\n
"
,
dev
->
bus_id
);
dev_err
(
dev
,
"please specify irq
\n
"
);
return
0
;
return
0
;
}
}
if
(
dma1
[
n
]
==
SNDRV_AUTO_DMA
)
{
if
(
dma1
[
n
]
==
SNDRV_AUTO_DMA
)
{
snd_printk
(
KERN_ERR
"%s: please specify dma1
\n
"
,
dev
->
bus_id
);
dev_err
(
dev
,
"please specify dma1
\n
"
);
return
0
;
return
0
;
}
}
return
1
;
return
1
;
...
@@ -133,7 +133,7 @@ static int __devinit snd_cs4231_probe(struct device *dev, unsigned int n)
...
@@ -133,7 +133,7 @@ static int __devinit snd_cs4231_probe(struct device *dev, unsigned int n)
mpu_port
[
n
],
0
,
mpu_irq
[
n
],
mpu_port
[
n
],
0
,
mpu_irq
[
n
],
mpu_irq
[
n
]
>=
0
?
IRQF_DISABLED
:
0
,
mpu_irq
[
n
]
>=
0
?
IRQF_DISABLED
:
0
,
NULL
)
<
0
)
NULL
)
<
0
)
printk
(
KERN_WARNING
"%s: MPU401 not detected
\n
"
,
dev
->
bus_id
);
dev_warn
(
dev
,
"MPU401 not detected
\n
"
);
}
}
snd_card_set_dev
(
card
,
dev
);
snd_card_set_dev
(
card
,
dev
);
...
...
sound/isa/cs423x/cs4236.c
View file @
63cf123b
...
@@ -488,19 +488,19 @@ static int __devinit snd_cs423x_isa_match(struct device *pdev,
...
@@ -488,19 +488,19 @@ static int __devinit snd_cs423x_isa_match(struct device *pdev,
return
0
;
return
0
;
if
(
port
[
dev
]
==
SNDRV_AUTO_PORT
)
{
if
(
port
[
dev
]
==
SNDRV_AUTO_PORT
)
{
snd_printk
(
KERN_ERR
"%s: please specify port
\n
"
,
pdev
->
bus_id
);
dev_err
(
pdev
,
"please specify port
\n
"
);
return
0
;
return
0
;
}
}
if
(
cport
[
dev
]
==
SNDRV_AUTO_PORT
)
{
if
(
cport
[
dev
]
==
SNDRV_AUTO_PORT
)
{
snd_printk
(
KERN_ERR
"%s: please specify cport
\n
"
,
pdev
->
bus_id
);
dev_err
(
pdev
,
"please specify cport
\n
"
);
return
0
;
return
0
;
}
}
if
(
irq
[
dev
]
==
SNDRV_AUTO_IRQ
)
{
if
(
irq
[
dev
]
==
SNDRV_AUTO_IRQ
)
{
snd_printk
(
KERN_ERR
"%s: please specify irq
\n
"
,
pdev
->
bus_id
);
dev_err
(
pdev
,
"please specify irq
\n
"
);
return
0
;
return
0
;
}
}
if
(
dma1
[
dev
]
==
SNDRV_AUTO_DMA
)
{
if
(
dma1
[
dev
]
==
SNDRV_AUTO_DMA
)
{
snd_printk
(
KERN_ERR
"%s: please specify dma1
\n
"
,
pdev
->
bus_id
);
dev_err
(
pdev
,
"please specify dma1
\n
"
);
return
0
;
return
0
;
}
}
return
1
;
return
1
;
...
...
sound/isa/es1688/es1688.c
View file @
63cf123b
...
@@ -88,16 +88,14 @@ static int __devinit snd_es1688_legacy_create(struct snd_card *card,
...
@@ -88,16 +88,14 @@ static int __devinit snd_es1688_legacy_create(struct snd_card *card,
if
(
irq
[
n
]
==
SNDRV_AUTO_IRQ
)
{
if
(
irq
[
n
]
==
SNDRV_AUTO_IRQ
)
{
irq
[
n
]
=
snd_legacy_find_free_irq
(
possible_irqs
);
irq
[
n
]
=
snd_legacy_find_free_irq
(
possible_irqs
);
if
(
irq
[
n
]
<
0
)
{
if
(
irq
[
n
]
<
0
)
{
snd_printk
(
KERN_ERR
"%s: unable to find a free IRQ
\n
"
,
dev_err
(
dev
,
"unable to find a free IRQ
\n
"
);
dev
->
bus_id
);
return
-
EBUSY
;
return
-
EBUSY
;
}
}
}
}
if
(
dma8
[
n
]
==
SNDRV_AUTO_DMA
)
{
if
(
dma8
[
n
]
==
SNDRV_AUTO_DMA
)
{
dma8
[
n
]
=
snd_legacy_find_free_dma
(
possible_dmas
);
dma8
[
n
]
=
snd_legacy_find_free_dma
(
possible_dmas
);
if
(
dma8
[
n
]
<
0
)
{
if
(
dma8
[
n
]
<
0
)
{
snd_printk
(
KERN_ERR
"%s: unable to find a free DMA
\n
"
,
dev_err
(
dev
,
"unable to find a free DMA
\n
"
);
dev
->
bus_id
);
return
-
EBUSY
;
return
-
EBUSY
;
}
}
}
}
...
@@ -147,8 +145,7 @@ static int __devinit snd_es1688_probe(struct device *dev, unsigned int n)
...
@@ -147,8 +145,7 @@ static int __devinit snd_es1688_probe(struct device *dev, unsigned int n)
if
(
snd_opl3_create
(
card
,
chip
->
port
,
chip
->
port
+
2
,
if
(
snd_opl3_create
(
card
,
chip
->
port
,
chip
->
port
+
2
,
OPL3_HW_OPL3
,
0
,
&
opl3
)
<
0
)
OPL3_HW_OPL3
,
0
,
&
opl3
)
<
0
)
printk
(
KERN_WARNING
"%s: opl3 not detected at 0x%lx
\n
"
,
dev_warn
(
dev
,
"opl3 not detected at 0x%lx
\n
"
,
chip
->
port
);
dev
->
bus_id
,
chip
->
port
);
else
{
else
{
error
=
snd_opl3_hwdep_new
(
opl3
,
0
,
1
,
NULL
);
error
=
snd_opl3_hwdep_new
(
opl3
,
0
,
1
,
NULL
);
if
(
error
<
0
)
if
(
error
<
0
)
...
...
sound/isa/gus/gusclassic.c
View file @
63cf123b
...
@@ -90,24 +90,21 @@ static int __devinit snd_gusclassic_create(struct snd_card *card,
...
@@ -90,24 +90,21 @@ static int __devinit snd_gusclassic_create(struct snd_card *card,
if
(
irq
[
n
]
==
SNDRV_AUTO_IRQ
)
{
if
(
irq
[
n
]
==
SNDRV_AUTO_IRQ
)
{
irq
[
n
]
=
snd_legacy_find_free_irq
(
possible_irqs
);
irq
[
n
]
=
snd_legacy_find_free_irq
(
possible_irqs
);
if
(
irq
[
n
]
<
0
)
{
if
(
irq
[
n
]
<
0
)
{
snd_printk
(
KERN_ERR
"%s: unable to find a free IRQ
\n
"
,
dev_err
(
dev
,
"unable to find a free IRQ
\n
"
);
dev
->
bus_id
);
return
-
EBUSY
;
return
-
EBUSY
;
}
}
}
}
if
(
dma1
[
n
]
==
SNDRV_AUTO_DMA
)
{
if
(
dma1
[
n
]
==
SNDRV_AUTO_DMA
)
{
dma1
[
n
]
=
snd_legacy_find_free_dma
(
possible_dmas
);
dma1
[
n
]
=
snd_legacy_find_free_dma
(
possible_dmas
);
if
(
dma1
[
n
]
<
0
)
{
if
(
dma1
[
n
]
<
0
)
{
snd_printk
(
KERN_ERR
"%s: unable to find a free DMA1
\n
"
,
dev_err
(
dev
,
"unable to find a free DMA1
\n
"
);
dev
->
bus_id
);
return
-
EBUSY
;
return
-
EBUSY
;
}
}
}
}
if
(
dma2
[
n
]
==
SNDRV_AUTO_DMA
)
{
if
(
dma2
[
n
]
==
SNDRV_AUTO_DMA
)
{
dma2
[
n
]
=
snd_legacy_find_free_dma
(
possible_dmas
);
dma2
[
n
]
=
snd_legacy_find_free_dma
(
possible_dmas
);
if
(
dma2
[
n
]
<
0
)
{
if
(
dma2
[
n
]
<
0
)
{
snd_printk
(
KERN_ERR
"%s: unable to find a free DMA2
\n
"
,
dev_err
(
dev
,
"unable to find a free DMA2
\n
"
);
dev
->
bus_id
);
return
-
EBUSY
;
return
-
EBUSY
;
}
}
}
}
...
@@ -174,8 +171,8 @@ static int __devinit snd_gusclassic_probe(struct device *dev, unsigned int n)
...
@@ -174,8 +171,8 @@ static int __devinit snd_gusclassic_probe(struct device *dev, unsigned int n)
error
=
-
ENODEV
;
error
=
-
ENODEV
;
if
(
gus
->
max_flag
||
gus
->
ess_flag
)
{
if
(
gus
->
max_flag
||
gus
->
ess_flag
)
{
snd_printk
(
KERN_ERR
"%s:
GUS Classic or ACE soundcard was "
dev_err
(
dev
,
"
GUS Classic or ACE soundcard was "
"not detected at 0x%lx
\n
"
,
dev
->
bus_id
,
gus
->
gf1
.
port
);
"not detected at 0x%lx
\n
"
,
gus
->
gf1
.
port
);
goto
out
;
goto
out
;
}
}
...
...
sound/isa/gus/gusextreme.c
View file @
63cf123b
...
@@ -106,16 +106,14 @@ static int __devinit snd_gusextreme_es1688_create(struct snd_card *card,
...
@@ -106,16 +106,14 @@ static int __devinit snd_gusextreme_es1688_create(struct snd_card *card,
if
(
irq
[
n
]
==
SNDRV_AUTO_IRQ
)
{
if
(
irq
[
n
]
==
SNDRV_AUTO_IRQ
)
{
irq
[
n
]
=
snd_legacy_find_free_irq
(
possible_irqs
);
irq
[
n
]
=
snd_legacy_find_free_irq
(
possible_irqs
);
if
(
irq
[
n
]
<
0
)
{
if
(
irq
[
n
]
<
0
)
{
snd_printk
(
KERN_ERR
"%s: unable to find a free IRQ "
dev_err
(
dev
,
"unable to find a free IRQ for ES1688
\n
"
);
"for ES1688
\n
"
,
dev
->
bus_id
);
return
-
EBUSY
;
return
-
EBUSY
;
}
}
}
}
if
(
dma8
[
n
]
==
SNDRV_AUTO_DMA
)
{
if
(
dma8
[
n
]
==
SNDRV_AUTO_DMA
)
{
dma8
[
n
]
=
snd_legacy_find_free_dma
(
possible_dmas
);
dma8
[
n
]
=
snd_legacy_find_free_dma
(
possible_dmas
);
if
(
dma8
[
n
]
<
0
)
{
if
(
dma8
[
n
]
<
0
)
{
snd_printk
(
KERN_ERR
"%s: unable to find a free DMA "
dev_err
(
dev
,
"unable to find a free DMA for ES1688
\n
"
);
"for ES1688
\n
"
,
dev
->
bus_id
);
return
-
EBUSY
;
return
-
EBUSY
;
}
}
}
}
...
@@ -143,16 +141,14 @@ static int __devinit snd_gusextreme_gus_card_create(struct snd_card *card,
...
@@ -143,16 +141,14 @@ static int __devinit snd_gusextreme_gus_card_create(struct snd_card *card,
if
(
gf1_irq
[
n
]
==
SNDRV_AUTO_IRQ
)
{
if
(
gf1_irq
[
n
]
==
SNDRV_AUTO_IRQ
)
{
gf1_irq
[
n
]
=
snd_legacy_find_free_irq
(
possible_irqs
);
gf1_irq
[
n
]
=
snd_legacy_find_free_irq
(
possible_irqs
);
if
(
gf1_irq
[
n
]
<
0
)
{
if
(
gf1_irq
[
n
]
<
0
)
{
snd_printk
(
KERN_ERR
"%s: unable to find a free IRQ "
dev_err
(
dev
,
"unable to find a free IRQ for GF1
\n
"
);
"for GF1
\n
"
,
dev
->
bus_id
);
return
-
EBUSY
;
return
-
EBUSY
;
}
}
}
}
if
(
dma1
[
n
]
==
SNDRV_AUTO_DMA
)
{
if
(
dma1
[
n
]
==
SNDRV_AUTO_DMA
)
{
dma1
[
n
]
=
snd_legacy_find_free_dma
(
possible_dmas
);
dma1
[
n
]
=
snd_legacy_find_free_dma
(
possible_dmas
);
if
(
dma1
[
n
]
<
0
)
{
if
(
dma1
[
n
]
<
0
)
{
snd_printk
(
KERN_ERR
"%s: unable to find a free DMA "
dev_err
(
dev
,
"unable to find a free DMA for GF1
\n
"
);
"for GF1
\n
"
,
dev
->
bus_id
);
return
-
EBUSY
;
return
-
EBUSY
;
}
}
}
}
...
@@ -278,8 +274,8 @@ static int __devinit snd_gusextreme_probe(struct device *dev, unsigned int n)
...
@@ -278,8 +274,8 @@ static int __devinit snd_gusextreme_probe(struct device *dev, unsigned int n)
error
=
-
ENODEV
;
error
=
-
ENODEV
;
if
(
!
gus
->
ess_flag
)
{
if
(
!
gus
->
ess_flag
)
{
snd_printk
(
KERN_ERR
"%s:
GUS Extreme soundcard was not "
dev_err
(
dev
,
"
GUS Extreme soundcard was not "
"detected at 0x%lx
\n
"
,
dev
->
bus_id
,
gus
->
gf1
.
port
);
"detected at 0x%lx
\n
"
,
gus
->
gf1
.
port
);
goto
out
;
goto
out
;
}
}
gus
->
codec_flag
=
1
;
gus
->
codec_flag
=
1
;
...
@@ -310,8 +306,7 @@ static int __devinit snd_gusextreme_probe(struct device *dev, unsigned int n)
...
@@ -310,8 +306,7 @@ static int __devinit snd_gusextreme_probe(struct device *dev, unsigned int n)
if
(
snd_opl3_create
(
card
,
es1688
->
port
,
es1688
->
port
+
2
,
if
(
snd_opl3_create
(
card
,
es1688
->
port
,
es1688
->
port
+
2
,
OPL3_HW_OPL3
,
0
,
&
opl3
)
<
0
)
OPL3_HW_OPL3
,
0
,
&
opl3
)
<
0
)
printk
(
KERN_ERR
"%s: opl3 not detected at 0x%lx
\n
"
,
dev_warn
(
dev
,
"opl3 not detected at 0x%lx
\n
"
,
es1688
->
port
);
dev
->
bus_id
,
es1688
->
port
);
else
{
else
{
error
=
snd_opl3_hwdep_new
(
opl3
,
0
,
2
,
NULL
);
error
=
snd_opl3_hwdep_new
(
opl3
,
0
,
2
,
NULL
);
if
(
error
<
0
)
if
(
error
<
0
)
...
...
sound/isa/sb/sb8.c
View file @
63cf123b
...
@@ -85,11 +85,11 @@ static int __devinit snd_sb8_match(struct device *pdev, unsigned int dev)
...
@@ -85,11 +85,11 @@ static int __devinit snd_sb8_match(struct device *pdev, unsigned int dev)
if
(
!
enable
[
dev
])
if
(
!
enable
[
dev
])
return
0
;
return
0
;
if
(
irq
[
dev
]
==
SNDRV_AUTO_IRQ
)
{
if
(
irq
[
dev
]
==
SNDRV_AUTO_IRQ
)
{
snd_printk
(
KERN_ERR
"%s: please specify irq
\n
"
,
pdev
->
bus_id
);
dev_err
(
pdev
,
"please specify irq
\n
"
);
return
0
;
return
0
;
}
}
if
(
dma8
[
dev
]
==
SNDRV_AUTO_DMA
)
{
if
(
dma8
[
dev
]
==
SNDRV_AUTO_DMA
)
{
snd_printk
(
KERN_ERR
"%s: please specify dma8
\n
"
,
pdev
->
bus_id
);
dev_err
(
pdev
,
"please specify dma8
\n
"
);
return
0
;
return
0
;
}
}
return
1
;
return
1
;
...
...
sound/oss/kahlua.c
View file @
63cf123b
/*
/*
* Initialisation code for Cyrix/NatSemi VSA1 softaudio
* Initialisation code for Cyrix/NatSemi VSA1 softaudio
*
*
* (C) Copyright 2003 Red Hat Inc <alan@
redhat.com
>
* (C) Copyright 2003 Red Hat Inc <alan@
lxorguk.ukuu.org.uk
>
*
*
* XpressAudio(tm) is used on the Cyrix MediaGX (now NatSemi Geode) systems.
* XpressAudio(tm) is used on the Cyrix MediaGX (now NatSemi Geode) systems.
* The older version (VSA1) provides fairly good soundblaster emulation
* The older version (VSA1) provides fairly good soundblaster emulation
...
...
sound/pci/ac97/ac97_codec.c
View file @
63cf123b
...
@@ -1927,9 +1927,9 @@ static int snd_ac97_dev_register(struct snd_device *device)
...
@@ -1927,9 +1927,9 @@ static int snd_ac97_dev_register(struct snd_device *device)
ac97
->
dev
.
bus
=
&
ac97_bus_type
;
ac97
->
dev
.
bus
=
&
ac97_bus_type
;
ac97
->
dev
.
parent
=
ac97
->
bus
->
card
->
dev
;
ac97
->
dev
.
parent
=
ac97
->
bus
->
card
->
dev
;
ac97
->
dev
.
release
=
ac97_device_release
;
ac97
->
dev
.
release
=
ac97_device_release
;
snprintf
(
ac97
->
dev
.
bus_id
,
BUS_ID_SIZE
,
"%d-%d:%s"
,
dev_set_name
(
&
ac97
->
dev
,
"%d-%d:%s"
,
ac97
->
bus
->
card
->
number
,
ac97
->
num
,
ac97
->
bus
->
card
->
number
,
ac97
->
num
,
snd_ac97_get_short_name
(
ac97
));
snd_ac97_get_short_name
(
ac97
));
if
((
err
=
device_register
(
&
ac97
->
dev
))
<
0
)
{
if
((
err
=
device_register
(
&
ac97
->
dev
))
<
0
)
{
snd_printk
(
KERN_ERR
"Can't register ac97 bus
\n
"
);
snd_printk
(
KERN_ERR
"Can't register ac97 bus
\n
"
);
ac97
->
dev
.
bus
=
NULL
;
ac97
->
dev
.
bus
=
NULL
;
...
...
sound/pci/cs5530.c
View file @
63cf123b
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* cs5530.c - Initialisation code for Cyrix/NatSemi VSA1 softaudio
* cs5530.c - Initialisation code for Cyrix/NatSemi VSA1 softaudio
*
*
* (C) Copyright 2007 Ash Willis <ashwillis@programmer.net>
* (C) Copyright 2007 Ash Willis <ashwillis@programmer.net>
* (C) Copyright 2003 Red Hat Inc <alan@
redhat.com
>
* (C) Copyright 2003 Red Hat Inc <alan@
lxorguk.ukuu.org.uk
>
*
*
* This driver was ported (shamelessly ripped ;) from oss/kahlua.c but I did
* This driver was ported (shamelessly ripped ;) from oss/kahlua.c but I did
* mess with it a bit. The chip seems to have to have trouble with full duplex
* mess with it a bit. The chip seems to have to have trouble with full duplex
...
...
sound/pci/emu10k1/emu10k1_main.c
View file @
63cf123b
...
@@ -1470,6 +1470,7 @@ static struct snd_emu_chip_details emu_chip_details[] = {
...
@@ -1470,6 +1470,7 @@ static struct snd_emu_chip_details emu_chip_details[] = {
.
ca0151_chip
=
1
,
.
ca0151_chip
=
1
,
.
spk71
=
1
,
.
spk71
=
1
,
.
spdif_bug
=
1
,
.
spdif_bug
=
1
,
.
invert_shared_spdif
=
1
,
/* digital/analog switch swapped */
.
ac97_chip
=
1
}
,
.
ac97_chip
=
1
}
,
{.
vendor
=
0x1102
,
.
device
=
0x0004
,
.
subsystem
=
0x20021102
,
{.
vendor
=
0x1102
,
.
device
=
0x0004
,
.
subsystem
=
0x20021102
,
.
driver
=
"Audigy2"
,
.
name
=
"SB Audigy 2 ZS [SB0350]"
,
.
driver
=
"Audigy2"
,
.
name
=
"SB Audigy 2 ZS [SB0350]"
,
...
@@ -1479,6 +1480,7 @@ static struct snd_emu_chip_details emu_chip_details[] = {
...
@@ -1479,6 +1480,7 @@ static struct snd_emu_chip_details emu_chip_details[] = {
.
ca0151_chip
=
1
,
.
ca0151_chip
=
1
,
.
spk71
=
1
,
.
spk71
=
1
,
.
spdif_bug
=
1
,
.
spdif_bug
=
1
,
.
invert_shared_spdif
=
1
,
/* digital/analog switch swapped */
.
ac97_chip
=
1
}
,
.
ac97_chip
=
1
}
,
{.
vendor
=
0x1102
,
.
device
=
0x0004
,
.
subsystem
=
0x20011102
,
{.
vendor
=
0x1102
,
.
device
=
0x0004
,
.
subsystem
=
0x20011102
,
.
driver
=
"Audigy2"
,
.
name
=
"SB Audigy 2 ZS [SB0360]"
,
.
driver
=
"Audigy2"
,
.
name
=
"SB Audigy 2 ZS [SB0360]"
,
...
@@ -1488,6 +1490,7 @@ static struct snd_emu_chip_details emu_chip_details[] = {
...
@@ -1488,6 +1490,7 @@ static struct snd_emu_chip_details emu_chip_details[] = {
.
ca0151_chip
=
1
,
.
ca0151_chip
=
1
,
.
spk71
=
1
,
.
spk71
=
1
,
.
spdif_bug
=
1
,
.
spdif_bug
=
1
,
.
invert_shared_spdif
=
1
,
/* digital/analog switch swapped */
.
ac97_chip
=
1
}
,
.
ac97_chip
=
1
}
,
/* Audigy 2 */
/* Audigy 2 */
/* Tested by James@superbug.co.uk 3rd July 2005 */
/* Tested by James@superbug.co.uk 3rd July 2005 */
...
...
sound/pci/ice1712/ice1712.c
View file @
63cf123b
...
@@ -2688,12 +2688,13 @@ static int __devinit snd_ice1712_probe(struct pci_dev *pci,
...
@@ -2688,12 +2688,13 @@ static int __devinit snd_ice1712_probe(struct pci_dev *pci,
return
err
;
return
err
;
}
}
if
(
ice_has_con_ac97
(
ice
))
if
(
ice_has_con_ac97
(
ice
))
{
err
=
snd_ice1712_pcm
(
ice
,
pcm_dev
++
,
NULL
);
err
=
snd_ice1712_pcm
(
ice
,
pcm_dev
++
,
NULL
);
if
(
err
<
0
)
{
if
(
err
<
0
)
{
snd_card_free
(
card
);
snd_card_free
(
card
);
return
err
;
return
err
;
}
}
}
err
=
snd_ice1712_ac97_mixer
(
ice
);
err
=
snd_ice1712_ac97_mixer
(
ice
);
if
(
err
<
0
)
{
if
(
err
<
0
)
{
...
@@ -2715,12 +2716,13 @@ static int __devinit snd_ice1712_probe(struct pci_dev *pci,
...
@@ -2715,12 +2716,13 @@ static int __devinit snd_ice1712_probe(struct pci_dev *pci,
}
}
}
}
if
(
ice_has_con_ac97
(
ice
))
if
(
ice_has_con_ac97
(
ice
))
{
err
=
snd_ice1712_pcm_ds
(
ice
,
pcm_dev
++
,
NULL
);
err
=
snd_ice1712_pcm_ds
(
ice
,
pcm_dev
++
,
NULL
);
if
(
err
<
0
)
{
if
(
err
<
0
)
{
snd_card_free
(
card
);
snd_card_free
(
card
);
return
err
;
return
err
;
}
}
}
if
(
!
c
->
no_mpu401
)
{
if
(
!
c
->
no_mpu401
)
{
err
=
snd_mpu401_uart_new
(
card
,
0
,
MPU401_HW_ICE1712
,
err
=
snd_mpu401_uart_new
(
card
,
0
,
MPU401_HW_ICE1712
,
...
...
sound/pci/intel8x0.c
View file @
63cf123b
...
@@ -2702,6 +2702,7 @@ static struct snd_pci_quirk intel8x0_clock_list[] __devinitdata = {
...
@@ -2702,6 +2702,7 @@ static struct snd_pci_quirk intel8x0_clock_list[] __devinitdata = {
SND_PCI_QUIRK
(
0x0e11
,
0x008a
,
"AD1885"
,
41000
),
SND_PCI_QUIRK
(
0x0e11
,
0x008a
,
"AD1885"
,
41000
),
SND_PCI_QUIRK
(
0x1028
,
0x00be
,
"AD1885"
,
44100
),
SND_PCI_QUIRK
(
0x1028
,
0x00be
,
"AD1885"
,
44100
),
SND_PCI_QUIRK
(
0x1028
,
0x0177
,
"AD1980"
,
48000
),
SND_PCI_QUIRK
(
0x1028
,
0x0177
,
"AD1980"
,
48000
),
SND_PCI_QUIRK
(
0x1028
,
0x01ad
,
"AD1981B"
,
48000
),
SND_PCI_QUIRK
(
0x1043
,
0x80f3
,
"AD1985"
,
48000
),
SND_PCI_QUIRK
(
0x1043
,
0x80f3
,
"AD1985"
,
48000
),
{
}
/* terminator */
{
}
/* terminator */
};
};
...
...
sound/soc/soc-core.c
View file @
63cf123b
...
@@ -95,8 +95,8 @@ static int soc_ac97_dev_register(struct snd_soc_codec *codec)
...
@@ -95,8 +95,8 @@ static int soc_ac97_dev_register(struct snd_soc_codec *codec)
codec
->
ac97
->
dev
.
parent
=
NULL
;
codec
->
ac97
->
dev
.
parent
=
NULL
;
codec
->
ac97
->
dev
.
release
=
soc_ac97_device_release
;
codec
->
ac97
->
dev
.
release
=
soc_ac97_device_release
;
snprintf
(
codec
->
ac97
->
dev
.
bus_id
,
BUS_ID_SIZE
,
"%d-%d:%s"
,
dev_set_name
(
&
codec
->
ac97
->
dev
,
"%d-%d:%s"
,
codec
->
card
->
number
,
0
,
codec
->
name
);
codec
->
card
->
number
,
0
,
codec
->
name
);
err
=
device_register
(
&
codec
->
ac97
->
dev
);
err
=
device_register
(
&
codec
->
ac97
->
dev
);
if
(
err
<
0
)
{
if
(
err
<
0
)
{
snd_printk
(
KERN_ERR
"Can't register ac97 bus
\n
"
);
snd_printk
(
KERN_ERR
"Can't register ac97 bus
\n
"
);
...
...
sound/sound_core.c
View file @
63cf123b
...
@@ -57,7 +57,7 @@ module_exit(cleanup_soundcore);
...
@@ -57,7 +57,7 @@ module_exit(cleanup_soundcore);
/*
/*
* OSS sound core handling. Breaks out sound functions to submodules
* OSS sound core handling. Breaks out sound functions to submodules
*
*
* Author: Alan Cox <alan
.cox@linux.org
>
* Author: Alan Cox <alan
@lxorguk.ukuu.org.uk
>
*
*
* Fixes:
* Fixes:
*
*
...
...
sound/usb/usbquirks.h
View file @
63cf123b
...
@@ -1480,6 +1480,36 @@ YAMAHA_DEVICE(0x7010, "UB99"),
...
@@ -1480,6 +1480,36 @@ YAMAHA_DEVICE(0x7010, "UB99"),
}
}
}
}
},
},
{
/* Advanced modes of the Edirol UA-25EX.
* For the standard mode, UA-25EX has ID 0582:00e7, which
* offers only 16-bit PCM at 44.1 kHz and no MIDI.
*/
USB_DEVICE_VENDOR_SPEC
(
0x0582
,
0x00e6
),
.
driver_info
=
(
unsigned
long
)
&
(
const
struct
snd_usb_audio_quirk
)
{
.
vendor_name
=
"EDIROL"
,
.
product_name
=
"UA-25EX"
,
.
ifnum
=
QUIRK_ANY_INTERFACE
,
.
type
=
QUIRK_COMPOSITE
,
.
data
=
(
const
struct
snd_usb_audio_quirk
[])
{
{
.
ifnum
=
0
,
.
type
=
QUIRK_AUDIO_EDIROL_UAXX
},
{
.
ifnum
=
1
,
.
type
=
QUIRK_AUDIO_EDIROL_UAXX
},
{
.
ifnum
=
2
,
.
type
=
QUIRK_AUDIO_EDIROL_UAXX
},
{
.
ifnum
=
-
1
}
}
}
},
/* Guillemot devices */
/* Guillemot devices */
{
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment