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
5ec02a1c
Commit
5ec02a1c
authored
Sep 26, 2011
by
Takashi Iwai
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'fix/hda' into topic/hda
parents
34588709
e0d32e33
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
35 additions
and
36 deletions
+35
-36
sound/pci/fm801.c
sound/pci/fm801.c
+10
-5
sound/pci/hda/patch_realtek.c
sound/pci/hda/patch_realtek.c
+7
-1
sound/pci/hda/patch_sigmatel.c
sound/pci/hda/patch_sigmatel.c
+1
-0
sound/soc/blackfin/bf5xx-ad73311.c
sound/soc/blackfin/bf5xx-ad73311.c
+1
-1
sound/soc/codecs/wm8962.c
sound/soc/codecs/wm8962.c
+0
-26
sound/soc/soc-core.c
sound/soc/soc-core.c
+15
-3
sound/usb/card.c
sound/usb/card.c
+1
-0
No files found.
sound/pci/fm801.c
View file @
5ec02a1c
...
...
@@ -68,6 +68,7 @@ MODULE_PARM_DESC(enable, "Enable FM801 soundcard.");
module_param_array
(
tea575x_tuner
,
int
,
NULL
,
0444
);
MODULE_PARM_DESC
(
tea575x_tuner
,
"TEA575x tuner access method (0 = auto, 1 = SF256-PCS, 2=SF256-PCP, 3=SF64-PCR, 8=disable, +16=tuner-only)."
);
#define TUNER_DISABLED (1<<3)
#define TUNER_ONLY (1<<4)
#define TUNER_TYPE_MASK (~TUNER_ONLY & 0xFFFF)
...
...
@@ -1150,7 +1151,8 @@ static int snd_fm801_free(struct fm801 *chip)
__end_hw:
#ifdef CONFIG_SND_FM801_TEA575X_BOOL
snd_tea575x_exit
(
&
chip
->
tea
);
if
(
!
(
chip
->
tea575x_tuner
&
TUNER_DISABLED
))
snd_tea575x_exit
(
&
chip
->
tea
);
#endif
if
(
chip
->
irq
>=
0
)
free_irq
(
chip
->
irq
,
chip
);
...
...
@@ -1236,7 +1238,6 @@ static int __devinit snd_fm801_create(struct snd_card *card,
(
tea575x_tuner
&
TUNER_TYPE_MASK
)
<
4
)
{
if
(
snd_tea575x_init
(
&
chip
->
tea
))
{
snd_printk
(
KERN_ERR
"TEA575x radio not found
\n
"
);
snd_fm801_free
(
chip
);
return
-
ENODEV
;
}
}
else
if
((
tea575x_tuner
&
TUNER_TYPE_MASK
)
==
0
)
{
...
...
@@ -1251,11 +1252,15 @@ static int __devinit snd_fm801_create(struct snd_card *card,
}
if
(
tea575x_tuner
==
4
)
{
snd_printk
(
KERN_ERR
"TEA575x radio not found
\n
"
);
snd_fm801_free
(
chip
);
return
-
ENODEV
;
chip
->
tea575x_tuner
=
TUNER_DISABLED
;
}
}
strlcpy
(
chip
->
tea
.
card
,
snd_fm801_tea575x_gpios
[(
tea575x_tuner
&
TUNER_TYPE_MASK
)
-
1
].
name
,
sizeof
(
chip
->
tea
.
card
));
if
(
!
(
chip
->
tea575x_tuner
&
TUNER_DISABLED
))
{
strlcpy
(
chip
->
tea
.
card
,
snd_fm801_tea575x_gpios
[(
tea575x_tuner
&
TUNER_TYPE_MASK
)
-
1
].
name
,
sizeof
(
chip
->
tea
.
card
));
}
#endif
*
rchip
=
chip
;
...
...
sound/pci/hda/patch_realtek.c
View file @
5ec02a1c
...
...
@@ -594,6 +594,10 @@ static void alc_line_automute(struct hda_codec *codec)
{
struct
alc_spec
*
spec
=
codec
->
spec
;
/* check LO jack only when it's different from HP */
if
(
spec
->
autocfg
.
line_out_pins
[
0
]
==
spec
->
autocfg
.
hp_pins
[
0
])
return
;
spec
->
line_jack_present
=
detect_jacks
(
codec
,
ARRAY_SIZE
(
spec
->
autocfg
.
line_out_pins
),
spec
->
autocfg
.
line_out_pins
);
...
...
@@ -1347,7 +1351,9 @@ static int alc_subsystem_id(struct hda_codec *codec,
* 15 : 1 --> enable the function "Mute internal speaker
* when the external headphone out jack is plugged"
*/
if
(
!
spec
->
autocfg
.
hp_pins
[
0
])
{
if
(
!
spec
->
autocfg
.
hp_pins
[
0
]
&&
!
(
spec
->
autocfg
.
line_out_pins
[
0
]
&&
spec
->
autocfg
.
line_out_type
==
AUTO_PIN_HP_OUT
))
{
hda_nid_t
nid
;
tmp
=
(
ass
>>
11
)
&
0x3
;
/* HP to chassis */
if
(
tmp
==
0
)
...
...
sound/pci/hda/patch_sigmatel.c
View file @
5ec02a1c
...
...
@@ -5630,6 +5630,7 @@ static int patch_stac92hd83xxx(struct hda_codec *codec)
switch
(
codec
->
vendor_id
)
{
case
0x111d76d1
:
case
0x111d76d9
:
case
0x111d76df
:
case
0x111d76e5
:
case
0x111d7666
:
case
0x111d7667
:
...
...
sound/soc/blackfin/bf5xx-ad73311.c
View file @
5ec02a1c
...
...
@@ -128,7 +128,7 @@ static int snd_ad73311_configure(void)
return
0
;
}
static
int
bf5xx_probe
(
struct
platform_device
*
pdev
)
static
int
bf5xx_probe
(
struct
snd_soc_card
*
card
)
{
int
err
;
if
(
gpio_request
(
GPIO_SE
,
"AD73311_SE"
))
{
...
...
sound/soc/codecs/wm8962.c
View file @
5ec02a1c
...
...
@@ -3479,31 +3479,6 @@ int wm8962_mic_detect(struct snd_soc_codec *codec, struct snd_soc_jack *jack)
}
EXPORT_SYMBOL_GPL
(
wm8962_mic_detect
);
#ifdef CONFIG_PM
static
int
wm8962_resume
(
struct
snd_soc_codec
*
codec
)
{
u16
*
reg_cache
=
codec
->
reg_cache
;
int
i
;
/* Restore the registers */
for
(
i
=
1
;
i
<
codec
->
driver
->
reg_cache_size
;
i
++
)
{
switch
(
i
)
{
case
WM8962_SOFTWARE_RESET
:
continue
;
default:
break
;
}
if
(
reg_cache
[
i
]
!=
wm8962_reg
[
i
])
snd_soc_write
(
codec
,
i
,
reg_cache
[
i
]);
}
return
0
;
}
#else
#define wm8962_resume NULL
#endif
#if defined(CONFIG_INPUT) || defined(CONFIG_INPUT_MODULE)
static
int
beep_rates
[]
=
{
500
,
1000
,
2000
,
4000
,
...
...
@@ -4015,7 +3990,6 @@ static int wm8962_remove(struct snd_soc_codec *codec)
static
struct
snd_soc_codec_driver
soc_codec_dev_wm8962
=
{
.
probe
=
wm8962_probe
,
.
remove
=
wm8962_remove
,
.
resume
=
wm8962_resume
,
.
set_bias_level
=
wm8962_set_bias_level
,
.
reg_cache_size
=
WM8962_MAX_REGISTER
+
1
,
.
reg_word_size
=
sizeof
(
u16
),
...
...
sound/soc/soc-core.c
View file @
5ec02a1c
...
...
@@ -30,6 +30,7 @@
#include <linux/bitops.h>
#include <linux/debugfs.h>
#include <linux/platform_device.h>
#include <linux/ctype.h>
#include <linux/slab.h>
#include <sound/ac97_codec.h>
#include <sound/core.h>
...
...
@@ -1434,9 +1435,20 @@ static void snd_soc_instantiate_card(struct snd_soc_card *card)
"%s"
,
card
->
name
);
snprintf
(
card
->
snd_card
->
longname
,
sizeof
(
card
->
snd_card
->
longname
),
"%s"
,
card
->
long_name
?
card
->
long_name
:
card
->
name
);
if
(
card
->
driver_name
)
strlcpy
(
card
->
snd_card
->
driver
,
card
->
driver_name
,
sizeof
(
card
->
snd_card
->
driver
));
snprintf
(
card
->
snd_card
->
driver
,
sizeof
(
card
->
snd_card
->
driver
),
"%s"
,
card
->
driver_name
?
card
->
driver_name
:
card
->
name
);
for
(
i
=
0
;
i
<
ARRAY_SIZE
(
card
->
snd_card
->
driver
);
i
++
)
{
switch
(
card
->
snd_card
->
driver
[
i
])
{
case
'_'
:
case
'-'
:
case
'\0'
:
break
;
default:
if
(
!
isalnum
(
card
->
snd_card
->
driver
[
i
]))
card
->
snd_card
->
driver
[
i
]
=
'_'
;
break
;
}
}
if
(
card
->
late_probe
)
{
ret
=
card
->
late_probe
(
card
);
...
...
sound/usb/card.c
View file @
5ec02a1c
...
...
@@ -532,6 +532,7 @@ snd_usb_audio_probe(struct usb_device *dev,
__error:
if
(
chip
&&
!
chip
->
num_interfaces
)
snd_card_free
(
chip
->
card
);
chip
->
probing
=
0
;
mutex_unlock
(
&
register_mutex
);
__err_val:
return
NULL
;
...
...
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