Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
5ab775c7
R
raspberrypi-kernel
项目概览
openeuler
/
raspberrypi-kernel
通知
13
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
raspberrypi-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
5ab775c7
编写于
6月 13, 2011
作者:
T
Takashi Iwai
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'fix/hda' into topic/hda
上级
8b0bd226
2308f4ad
变更
17
隐藏空白更改
内联
并排
Showing
17 changed file
with
96 addition
and
66 deletion
+96
-66
sound/core/misc.c
sound/core/misc.c
+17
-23
sound/pci/emu10k1/emu10k1_main.c
sound/pci/emu10k1/emu10k1_main.c
+8
-0
sound/pci/hda/hda_beep.h
sound/pci/hda/hda_beep.h
+7
-2
sound/pci/hda/patch_conexant.c
sound/pci/hda/patch_conexant.c
+1
-0
sound/pci/hda/patch_realtek.c
sound/pci/hda/patch_realtek.c
+10
-8
sound/pci/rme9652/hdspm.c
sound/pci/rme9652/hdspm.c
+6
-2
sound/soc/atmel/atmel_ssc_dai.c
sound/soc/atmel/atmel_ssc_dai.c
+3
-2
sound/soc/blackfin/bf5xx-ad1836.c
sound/soc/blackfin/bf5xx-ad1836.c
+2
-2
sound/soc/codecs/ad1836.c
sound/soc/codecs/ad1836.c
+7
-7
sound/soc/codecs/ad1836.h
sound/soc/codecs/ad1836.h
+6
-0
sound/soc/codecs/wm8804.c
sound/soc/codecs/wm8804.c
+7
-2
sound/soc/codecs/wm8915.c
sound/soc/codecs/wm8915.c
+2
-1
sound/soc/codecs/wm8962.c
sound/soc/codecs/wm8962.c
+2
-2
sound/soc/fsl/fsl_dma.c
sound/soc/fsl/fsl_dma.c
+5
-4
sound/soc/samsung/i2s.c
sound/soc/samsung/i2s.c
+2
-2
sound/soc/soc-cache.c
sound/soc/soc-cache.c
+3
-0
sound/soc/soc-dapm.c
sound/soc/soc-dapm.c
+8
-9
未找到文件。
sound/core/misc.c
浏览文件 @
5ab775c7
...
...
@@ -58,26 +58,6 @@ static const char *sanity_file_name(const char *path)
else
return
path
;
}
/* print file and line with a certain printk prefix */
static
int
print_snd_pfx
(
unsigned
int
level
,
const
char
*
path
,
int
line
,
const
char
*
format
)
{
const
char
*
file
=
sanity_file_name
(
path
);
char
tmp
[]
=
"<0>"
;
const
char
*
pfx
=
level
?
KERN_DEBUG
:
KERN_DEFAULT
;
int
ret
=
0
;
if
(
format
[
0
]
==
'<'
&&
format
[
2
]
==
'>'
)
{
tmp
[
1
]
=
format
[
1
];
pfx
=
tmp
;
ret
=
1
;
}
printk
(
"%sALSA %s:%d: "
,
pfx
,
file
,
line
);
return
ret
;
}
#else
#define print_snd_pfx(level, path, line, format) 0
#endif
#if defined(CONFIG_SND_DEBUG) || defined(CONFIG_SND_VERBOSE_PRINTK)
...
...
@@ -85,15 +65,29 @@ void __snd_printk(unsigned int level, const char *path, int line,
const
char
*
format
,
...)
{
va_list
args
;
#ifdef CONFIG_SND_VERBOSE_PRINTK
struct
va_format
vaf
;
char
verbose_fmt
[]
=
KERN_DEFAULT
"ALSA %s:%d %pV"
;
#endif
#ifdef CONFIG_SND_DEBUG
if
(
debug
<
level
)
return
;
#endif
va_start
(
args
,
format
);
if
(
print_snd_pfx
(
level
,
path
,
line
,
format
))
format
+=
3
;
/* skip the printk level-prefix */
#ifdef CONFIG_SND_VERBOSE_PRINTK
vaf
.
fmt
=
format
;
vaf
.
va
=
&
args
;
if
(
format
[
0
]
==
'<'
&&
format
[
2
]
==
'>'
)
{
memcpy
(
verbose_fmt
,
format
,
3
);
vaf
.
fmt
=
format
+
3
;
}
else
if
(
level
)
memcpy
(
verbose_fmt
,
KERN_DEBUG
,
3
);
printk
(
verbose_fmt
,
sanity_file_name
(
path
),
line
,
&
vaf
);
#else
vprintk
(
format
,
args
);
#endif
va_end
(
args
);
}
EXPORT_SYMBOL_GPL
(
__snd_printk
);
...
...
sound/pci/emu10k1/emu10k1_main.c
浏览文件 @
5ab775c7
...
...
@@ -1440,6 +1440,14 @@ static struct snd_emu_chip_details emu_chip_details[] = {
.
ca0102_chip
=
1
,
.
spk71
=
1
,
.
emu_model
=
EMU_MODEL_EMU0404
},
/* EMU 0404 */
/* EMU0404 PCIe */
{.
vendor
=
0x1102
,
.
device
=
0x0008
,
.
subsystem
=
0x40051102
,
.
driver
=
"Audigy2"
,
.
name
=
"E-mu 0404 PCIe [MAEM8984]"
,
.
id
=
"EMU0404"
,
.
emu10k2_chip
=
1
,
.
ca0108_chip
=
1
,
.
spk71
=
1
,
.
emu_model
=
EMU_MODEL_EMU0404
},
/* EMU 0404 PCIe ver_03 */
/* Note that all E-mu cards require kernel 2.6 or newer. */
{.
vendor
=
0x1102
,
.
device
=
0x0008
,
.
driver
=
"Audigy2"
,
.
name
=
"SB Audigy 2 Value [Unknown]"
,
...
...
sound/pci/hda/hda_beep.h
浏览文件 @
5ab775c7
...
...
@@ -50,7 +50,12 @@ int snd_hda_enable_beep_device(struct hda_codec *codec, int enable);
int
snd_hda_attach_beep_device
(
struct
hda_codec
*
codec
,
int
nid
);
void
snd_hda_detach_beep_device
(
struct
hda_codec
*
codec
);
#else
#define snd_hda_attach_beep_device(...) 0
#define snd_hda_detach_beep_device(...)
static
inline
int
snd_hda_attach_beep_device
(
struct
hda_codec
*
codec
,
int
nid
)
{
return
0
;
}
void
snd_hda_detach_beep_device
(
struct
hda_codec
*
codec
)
{
}
#endif
#endif
sound/pci/hda/patch_conexant.c
浏览文件 @
5ab775c7
...
...
@@ -3103,6 +3103,7 @@ static const struct snd_pci_quirk cxt5066_cfg_tbl[] = {
SND_PCI_QUIRK
(
0x17aa
,
0x38af
,
"Lenovo G560"
,
CXT5066_ASUS
),
SND_PCI_QUIRK
(
0x17aa
,
0x3938
,
"Lenovo G565"
,
CXT5066_AUTO
),
SND_PCI_QUIRK_VENDOR
(
0x17aa
,
"Lenovo"
,
CXT5066_IDEAPAD
),
/* Fallback for Lenovos without dock mic */
SND_PCI_QUIRK
(
0x1b0a
,
0x2092
,
"CyberpowerPC Gamer Xplorer N57001"
,
CXT5066_AUTO
),
{}
};
...
...
sound/pci/hda/patch_realtek.c
浏览文件 @
5ab775c7
...
...
@@ -1141,6 +1141,13 @@ static void update_speakers(struct hda_codec *codec)
struct alc_spec *spec = codec->spec;
int on;
/* Control HP pins/amps depending on master_mute state;
* in general, HP pins/amps control should be enabled in all cases,
* but currently set only for master_mute, just to be safe
*/
do_automute(codec, ARRAY_SIZE(spec->autocfg.hp_pins),
spec->autocfg.hp_pins, spec->master_mute, true);
if (!spec->automute)
on = 0;
else
...
...
@@ -6202,11 +6209,6 @@ static const struct snd_kcontrol_new alc260_input_mixer[] = {
/* update HP, line and mono out pins according to the master switch */
static void alc260_hp_master_update(struct hda_codec *codec)
{
struct alc_spec *spec = codec->spec;
/* change HP pins */
do_automute(codec, ARRAY_SIZE(spec->autocfg.hp_pins),
spec->autocfg.hp_pins, spec->master_mute, true);
update_speakers(codec);
}
...
...
@@ -11925,7 +11927,7 @@ static const struct hda_verb alc262_nec_verbs[] = {
* 0x1b = port replicator headphone out
*/
#define ALC_HP_EVENT
0x37
#define ALC_HP_EVENT
ALC880_HP_EVENT
static const struct hda_verb alc262_fujitsu_unsol_verbs[] = {
{0x14, AC_VERB_SET_UNSOLICITED_ENABLE, AC_USRSP_EN | ALC_HP_EVENT},
...
...
@@ -13315,9 +13317,8 @@ static void alc268_acer_lc_setup(struct hda_codec *codec)
struct alc_spec *spec = codec->spec;
spec->autocfg.hp_pins[0] = 0x15;
spec->autocfg.speaker_pins[0] = 0x14;
spec->automute_mixer_nid[0] = 0x0f;
spec->automute = 1;
spec->automute_mode = ALC_AUTOMUTE_
MIXER
;
spec->automute_mode = ALC_AUTOMUTE_
AMP
;
spec->ext_mic.pin = 0x18;
spec->ext_mic.mux_idx = 0;
spec->int_mic.pin = 0x12;
...
...
@@ -13861,6 +13862,7 @@ static const struct snd_pci_quirk alc268_cfg_tbl[] = {
SND_PCI_QUIRK(0x1025, 0x015b, "Acer Aspire One",
ALC268_ACER_ASPIRE_ONE),
SND_PCI_QUIRK(0x1028, 0x0253, "Dell OEM", ALC268_DELL),
SND_PCI_QUIRK(0x1028, 0x02b0, "Dell Inspiron 910", ALC268_AUTO),
SND_PCI_QUIRK_MASK(0x1028, 0xfff0, 0x02b0,
"Dell Inspiron Mini9/Vostro A90", ALC268_DELL),
/* almost compatible with toshiba but with optional digital outs;
...
...
sound/pci/rme9652/hdspm.c
浏览文件 @
5ab775c7
...
...
@@ -521,6 +521,7 @@ MODULE_SUPPORTED_DEVICE("{{RME HDSPM-MADI}}");
#define HDSPM_DMA_AREA_KILOBYTES (HDSPM_DMA_AREA_BYTES/1024)
/* revisions >= 230 indicate AES32 card */
#define HDSPM_MADI_OLD_REV 207
#define HDSPM_MADI_REV 210
#define HDSPM_RAYDAT_REV 211
#define HDSPM_AIO_REV 212
...
...
@@ -1143,7 +1144,7 @@ static int hdspm_external_sample_rate(struct hdspm *hdspm)
/* if wordclock has synced freq and wordclock is valid */
if
((
status2
&
HDSPM_wcLock
)
!=
0
&&
(
status
&
HDSPM_SelSyncRef0
)
==
0
)
{
(
status
2
&
HDSPM_SelSyncRef0
)
==
0
)
{
rate_bits
=
status2
&
HDSPM_wcFreqMask
;
...
...
@@ -1639,12 +1640,14 @@ static int snd_hdspm_midi_input_read (struct hdspm_midi *hmidi)
}
}
hmidi
->
pending
=
0
;
spin_unlock_irqrestore
(
&
hmidi
->
lock
,
flags
);
spin_lock_irqsave
(
&
hmidi
->
hdspm
->
lock
,
flags
);
hmidi
->
hdspm
->
control_register
|=
hmidi
->
ie
;
hdspm_write
(
hmidi
->
hdspm
,
HDSPM_controlRegister
,
hmidi
->
hdspm
->
control_register
);
spin_unlock_irqrestore
(
&
hmidi
->
hdspm
->
lock
,
flags
);
spin_unlock_irqrestore
(
&
hmidi
->
lock
,
flags
);
return
snd_hdspm_midi_output_write
(
hmidi
);
}
...
...
@@ -6377,6 +6380,7 @@ static int __devinit snd_hdspm_create(struct snd_card *card,
switch
(
hdspm
->
firmware_rev
)
{
case
HDSPM_MADI_REV
:
case
HDSPM_MADI_OLD_REV
:
hdspm
->
io_type
=
MADI
;
hdspm
->
card_name
=
"RME MADI"
;
hdspm
->
midiPorts
=
3
;
...
...
sound/soc/atmel/atmel_ssc_dai.c
浏览文件 @
5ab775c7
...
...
@@ -848,9 +848,10 @@ int atmel_ssc_set_audio(int ssc_id)
if
(
IS_ERR
(
ssc
))
pr_warn
(
"Unable to parent ASoC SSC DAI on SSC: %ld
\n
"
,
PTR_ERR
(
ssc
));
else
else
{
ssc_pdev
->
dev
.
parent
=
&
(
ssc
->
pdev
->
dev
);
ssc_free
(
ssc
);
ssc_free
(
ssc
);
}
ret
=
platform_device_add
(
ssc_pdev
);
if
(
ret
<
0
)
...
...
sound/soc/blackfin/bf5xx-ad1836.c
浏览文件 @
5ab775c7
...
...
@@ -75,7 +75,7 @@ static struct snd_soc_dai_link bf5xx_ad1836_dai[] = {
.
cpu_dai_name
=
"bfin-tdm.0"
,
.
codec_dai_name
=
"ad1836-hifi"
,
.
platform_name
=
"bfin-tdm-pcm-audio"
,
.
codec_name
=
"
ad1836.0
"
,
.
codec_name
=
"
spi0.4
"
,
.
ops
=
&
bf5xx_ad1836_ops
,
},
{
...
...
@@ -84,7 +84,7 @@ static struct snd_soc_dai_link bf5xx_ad1836_dai[] = {
.
cpu_dai_name
=
"bfin-tdm.1"
,
.
codec_dai_name
=
"ad1836-hifi"
,
.
platform_name
=
"bfin-tdm-pcm-audio"
,
.
codec_name
=
"
ad1836.0
"
,
.
codec_name
=
"
spi0.4
"
,
.
ops
=
&
bf5xx_ad1836_ops
,
},
};
...
...
sound/soc/codecs/ad1836.c
浏览文件 @
5ab775c7
...
...
@@ -145,22 +145,22 @@ static int ad1836_hw_params(struct snd_pcm_substream *substream,
/* bit size */
switch
(
params_format
(
params
))
{
case
SNDRV_PCM_FORMAT_S16_LE
:
word_len
=
3
;
word_len
=
AD1836_WORD_LEN_16
;
break
;
case
SNDRV_PCM_FORMAT_S20_3LE
:
word_len
=
1
;
word_len
=
AD1836_WORD_LEN_20
;
break
;
case
SNDRV_PCM_FORMAT_S24_LE
:
case
SNDRV_PCM_FORMAT_S32_LE
:
word_len
=
0
;
word_len
=
AD1836_WORD_LEN_24
;
break
;
}
snd_soc_update_bits
(
codec
,
AD1836_DAC_CTRL1
,
AD1836_DAC_WORD_LEN_MASK
,
word_len
);
snd_soc_update_bits
(
codec
,
AD1836_DAC_CTRL1
,
AD1836_DAC_WORD_LEN_MASK
,
word_len
<<
AD1836_DAC_WORD_LEN_OFFSET
);
snd_soc_update_bits
(
codec
,
AD1836_ADC_CTRL2
,
AD1836_ADC_WORD_LEN_MASK
,
word_len
);
snd_soc_update_bits
(
codec
,
AD1836_ADC_CTRL2
,
AD1836_ADC_WORD_LEN_MASK
,
word_len
<<
AD1836_ADC_WORD_OFFSET
);
return
0
;
}
...
...
sound/soc/codecs/ad1836.h
浏览文件 @
5ab775c7
...
...
@@ -25,6 +25,7 @@
#define AD1836_DAC_SERFMT_PCK256 (0x4 << 5)
#define AD1836_DAC_SERFMT_PCK128 (0x5 << 5)
#define AD1836_DAC_WORD_LEN_MASK 0x18
#define AD1836_DAC_WORD_LEN_OFFSET 3
#define AD1836_DAC_CTRL2 1
#define AD1836_DACL1_MUTE 0
...
...
@@ -51,6 +52,7 @@
#define AD1836_ADCL2_MUTE 2
#define AD1836_ADCR2_MUTE 3
#define AD1836_ADC_WORD_LEN_MASK 0x30
#define AD1836_ADC_WORD_OFFSET 5
#define AD1836_ADC_SERFMT_MASK (7 << 6)
#define AD1836_ADC_SERFMT_PCK256 (0x4 << 6)
#define AD1836_ADC_SERFMT_PCK128 (0x5 << 6)
...
...
@@ -60,4 +62,8 @@
#define AD1836_NUM_REGS 16
#define AD1836_WORD_LEN_24 0x0
#define AD1836_WORD_LEN_20 0x1
#define AD1836_WORD_LEN_16 0x2
#endif
sound/soc/codecs/wm8804.c
浏览文件 @
5ab775c7
...
...
@@ -680,20 +680,25 @@ static struct snd_soc_dai_ops wm8804_dai_ops = {
#define WM8804_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE | \
SNDRV_PCM_FMTBIT_S24_LE)
#define WM8804_RATES (SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 | \
SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_64000 | \
SNDRV_PCM_RATE_88200 | SNDRV_PCM_RATE_96000 | \
SNDRV_PCM_RATE_176400 | SNDRV_PCM_RATE_192000)
static
struct
snd_soc_dai_driver
wm8804_dai
=
{
.
name
=
"wm8804-spdif"
,
.
playback
=
{
.
stream_name
=
"Playback"
,
.
channels_min
=
2
,
.
channels_max
=
2
,
.
rates
=
SNDRV_PCM_RATE_8000_192000
,
.
rates
=
WM8804_RATES
,
.
formats
=
WM8804_FORMATS
,
},
.
capture
=
{
.
stream_name
=
"Capture"
,
.
channels_min
=
2
,
.
channels_max
=
2
,
.
rates
=
SNDRV_PCM_RATE_8000_192000
,
.
rates
=
WM8804_RATES
,
.
formats
=
WM8804_FORMATS
,
},
.
ops
=
&
wm8804_dai_ops
,
...
...
sound/soc/codecs/wm8915.c
浏览文件 @
5ab775c7
...
...
@@ -1839,7 +1839,7 @@ static int wm8915_set_sysclk(struct snd_soc_dai *dai,
int
old
;
/* Disable SYSCLK while we reconfigure */
old
=
snd_soc_read
(
codec
,
WM8915_AIF_CLOCKING_1
);
old
=
snd_soc_read
(
codec
,
WM8915_AIF_CLOCKING_1
)
&
WM8915_SYSCLK_ENA
;
snd_soc_update_bits
(
codec
,
WM8915_AIF_CLOCKING_1
,
WM8915_SYSCLK_ENA
,
0
);
...
...
@@ -2038,6 +2038,7 @@ static int wm8915_set_fll(struct snd_soc_codec *codec, int fll_id, int source,
break
;
case
WM8915_FLL_MCLK2
:
reg
=
1
;
break
;
case
WM8915_FLL_DACLRCLK1
:
reg
=
2
;
break
;
...
...
sound/soc/codecs/wm8962.c
浏览文件 @
5ab775c7
...
...
@@ -1999,12 +1999,12 @@ static int wm8962_put_hp_sw(struct snd_kcontrol *kcontrol,
return
0
;
/* If the left PGA is enabled hit that VU bit... */
if
(
reg_cache
[
WM8962_PWR_MGMT_2
]
&
WM8962_HPOUTL_PGA_ENA
)
if
(
snd_soc_read
(
codec
,
WM8962_PWR_MGMT_2
)
&
WM8962_HPOUTL_PGA_ENA
)
return
snd_soc_write
(
codec
,
WM8962_HPOUTL_VOLUME
,
reg_cache
[
WM8962_HPOUTL_VOLUME
]);
/* ...otherwise the right. The VU is stereo. */
if
(
reg_cache
[
WM8962_PWR_MGMT_2
]
&
WM8962_HPOUTR_PGA_ENA
)
if
(
snd_soc_read
(
codec
,
WM8962_PWR_MGMT_2
)
&
WM8962_HPOUTR_PGA_ENA
)
return
snd_soc_write
(
codec
,
WM8962_HPOUTR_VOLUME
,
reg_cache
[
WM8962_HPOUTR_VOLUME
]);
...
...
sound/soc/fsl/fsl_dma.c
浏览文件 @
5ab775c7
...
...
@@ -310,7 +310,7 @@ static int fsl_dma_new(struct snd_card *card, struct snd_soc_dai *dai,
* should allocate a DMA buffer only for the streams that are valid.
*/
if
(
dai
->
driver
->
playback
.
channels_min
)
{
if
(
pcm
->
streams
[
0
].
substream
)
{
ret
=
snd_dma_alloc_pages
(
SNDRV_DMA_TYPE_DEV
,
card
->
dev
,
fsl_dma_hardware
.
buffer_bytes_max
,
&
pcm
->
streams
[
0
].
substream
->
dma_buffer
);
...
...
@@ -320,13 +320,13 @@ static int fsl_dma_new(struct snd_card *card, struct snd_soc_dai *dai,
}
}
if
(
dai
->
driver
->
capture
.
channels_min
)
{
if
(
pcm
->
streams
[
1
].
substream
)
{
ret
=
snd_dma_alloc_pages
(
SNDRV_DMA_TYPE_DEV
,
card
->
dev
,
fsl_dma_hardware
.
buffer_bytes_max
,
&
pcm
->
streams
[
1
].
substream
->
dma_buffer
);
if
(
ret
)
{
snd_dma_free_pages
(
&
pcm
->
streams
[
0
].
substream
->
dma_buffer
);
dev_err
(
card
->
dev
,
"can't alloc capture dma buffer
\n
"
);
snd_dma_free_pages
(
&
pcm
->
streams
[
0
].
substream
->
dma_buffer
);
return
ret
;
}
}
...
...
@@ -449,7 +449,8 @@ static int fsl_dma_open(struct snd_pcm_substream *substream)
dma_private
->
ld_buf_phys
=
ld_buf_phys
;
dma_private
->
dma_buf_phys
=
substream
->
dma_buffer
.
addr
;
ret
=
request_irq
(
dma_private
->
irq
,
fsl_dma_isr
,
0
,
"DMA"
,
dma_private
);
ret
=
request_irq
(
dma_private
->
irq
,
fsl_dma_isr
,
0
,
"fsldma-audio"
,
dma_private
);
if
(
ret
)
{
dev_err
(
dev
,
"can't register ISR for IRQ %u (ret=%i)
\n
"
,
dma_private
->
irq
,
ret
);
...
...
sound/soc/samsung/i2s.c
浏览文件 @
5ab775c7
...
...
@@ -191,7 +191,7 @@ static inline bool tx_active(struct i2s_dai *i2s)
if
(
!
i2s
)
return
false
;
active
=
readl
(
i2s
->
addr
+
I2S
MOD
);
active
=
readl
(
i2s
->
addr
+
I2S
CON
);
if
(
is_secondary
(
i2s
))
active
&=
CON_TXSDMA_ACTIVE
;
...
...
@@ -223,7 +223,7 @@ static inline bool rx_active(struct i2s_dai *i2s)
if
(
!
i2s
)
return
false
;
active
=
readl
(
i2s
->
addr
+
I2S
MOD
)
&
CON_RXDMA_ACTIVE
;
active
=
readl
(
i2s
->
addr
+
I2S
CON
)
&
CON_RXDMA_ACTIVE
;
return
active
?
true
:
false
;
}
...
...
sound/soc/soc-cache.c
浏览文件 @
5ab775c7
...
...
@@ -466,6 +466,9 @@ static bool snd_soc_set_cache_val(void *base, unsigned int idx,
static
unsigned
int
snd_soc_get_cache_val
(
const
void
*
base
,
unsigned
int
idx
,
unsigned
int
word_size
)
{
if
(
!
base
)
return
-
1
;
switch
(
word_size
)
{
case
1
:
{
const
u8
*
cache
=
base
;
...
...
sound/soc/soc-dapm.c
浏览文件 @
5ab775c7
...
...
@@ -350,9 +350,9 @@ static int dapm_is_shared_kcontrol(struct snd_soc_dapm_context *dapm,
}
/* create new dapm mixer control */
static
int
dapm_new_mixer
(
struct
snd_soc_dapm_context
*
dapm
,
struct
snd_soc_dapm_widget
*
w
)
static
int
dapm_new_mixer
(
struct
snd_soc_dapm_widget
*
w
)
{
struct
snd_soc_dapm_context
*
dapm
=
w
->
dapm
;
int
i
,
ret
=
0
;
size_t
name_len
,
prefix_len
;
struct
snd_soc_dapm_path
*
path
;
...
...
@@ -450,9 +450,9 @@ static int dapm_new_mixer(struct snd_soc_dapm_context *dapm,
}
/* create new dapm mux control */
static
int
dapm_new_mux
(
struct
snd_soc_dapm_context
*
dapm
,
struct
snd_soc_dapm_widget
*
w
)
static
int
dapm_new_mux
(
struct
snd_soc_dapm_widget
*
w
)
{
struct
snd_soc_dapm_context
*
dapm
=
w
->
dapm
;
struct
snd_soc_dapm_path
*
path
=
NULL
;
struct
snd_kcontrol
*
kcontrol
;
struct
snd_card
*
card
=
dapm
->
card
->
snd_card
;
...
...
@@ -535,8 +535,7 @@ static int dapm_new_mux(struct snd_soc_dapm_context *dapm,
}
/* create new dapm volume control */
static
int
dapm_new_pga
(
struct
snd_soc_dapm_context
*
dapm
,
struct
snd_soc_dapm_widget
*
w
)
static
int
dapm_new_pga
(
struct
snd_soc_dapm_widget
*
w
)
{
if
(
w
->
num_kcontrols
)
dev_err
(
w
->
dapm
->
dev
,
...
...
@@ -1826,13 +1825,13 @@ int snd_soc_dapm_new_widgets(struct snd_soc_dapm_context *dapm)
case
snd_soc_dapm_mixer
:
case
snd_soc_dapm_mixer_named_ctl
:
w
->
power_check
=
dapm_generic_check_power
;
dapm_new_mixer
(
dapm
,
w
);
dapm_new_mixer
(
w
);
break
;
case
snd_soc_dapm_mux
:
case
snd_soc_dapm_virt_mux
:
case
snd_soc_dapm_value_mux
:
w
->
power_check
=
dapm_generic_check_power
;
dapm_new_mux
(
dapm
,
w
);
dapm_new_mux
(
w
);
break
;
case
snd_soc_dapm_adc
:
case
snd_soc_dapm_aif_out
:
...
...
@@ -1845,7 +1844,7 @@ int snd_soc_dapm_new_widgets(struct snd_soc_dapm_context *dapm)
case
snd_soc_dapm_pga
:
case
snd_soc_dapm_out_drv
:
w
->
power_check
=
dapm_generic_check_power
;
dapm_new_pga
(
dapm
,
w
);
dapm_new_pga
(
w
);
break
;
case
snd_soc_dapm_input
:
case
snd_soc_dapm_output
:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录