Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
ce40a6d3
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看板
提交
ce40a6d3
编写于
10月 30, 2014
作者:
T
Takashi Iwai
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'topic/kerneldoc' into for-next
上级
eafe8404
95a962c3
变更
10
展开全部
隐藏空白更改
内联
并排
Showing
10 changed file
with
469 addition
and
34 deletion
+469
-34
Documentation/DocBook/alsa-driver-api.tmpl
Documentation/DocBook/alsa-driver-api.tmpl
+2
-0
include/sound/jack.h
include/sound/jack.h
+15
-1
include/uapi/sound/compress_offload.h
include/uapi/sound/compress_offload.h
+9
-8
sound/pci/hda/hda_auto_parser.c
sound/pci/hda/hda_auto_parser.c
+64
-2
sound/pci/hda/hda_beep.c
sound/pci/hda/hda_beep.c
+38
-0
sound/pci/hda/hda_codec.c
sound/pci/hda/hda_codec.c
+244
-18
sound/pci/hda/hda_eld.c
sound/pci/hda/hda_eld.c
+1
-1
sound/pci/hda/hda_jack.c
sound/pci/hda/hda_jack.c
+60
-0
sound/pci/hda/hda_jack.h
sound/pci/hda/hda_jack.h
+5
-0
sound/pci/hda/hda_sysfs.c
sound/pci/hda/hda_sysfs.c
+31
-4
未找到文件。
Documentation/DocBook/alsa-driver-api.tmpl
浏览文件 @
ce40a6d3
...
...
@@ -99,6 +99,8 @@
<chapter><title>
Compress Offload
</title>
<sect1><title>
Compress Offload API
</title>
!Esound/core/compress_offload.c
!Iinclude/uapi/sound/compress_offload.h
!Iinclude/uapi/sound/compress_params.h
!Iinclude/sound/compress_driver.h
</sect1>
</chapter>
...
...
include/sound/jack.h
浏览文件 @
ce40a6d3
...
...
@@ -28,7 +28,21 @@
struct
input_dev
;
/**
* enum snd_jack_types: Jack types which can be reported
* enum snd_jack_types - Jack types which can be reported
* @SND_JACK_HEADPHONE: Headphone
* @SND_JACK_MICROPHONE: Microphone
* @SND_JACK_HEADSET: Headset
* @SND_JACK_LINEOUT: Line out
* @SND_JACK_MECHANICAL: Mechanical switch
* @SND_JACK_VIDEOOUT: Video out
* @SND_JACK_AVOUT: AV (Audio Video) out
* @SND_JACK_LINEIN: Line in
* @SND_JACK_BTN_0: Button 0
* @SND_JACK_BTN_1: Button 1
* @SND_JACK_BTN_2: Button 2
* @SND_JACK_BTN_3: Button 3
* @SND_JACK_BTN_4: Button 4
* @SND_JACK_BTN_5: Button 5
*
* These values are used as a bitmask.
*
...
...
include/uapi/sound/compress_offload.h
浏览文件 @
ce40a6d3
...
...
@@ -32,7 +32,7 @@
#define SNDRV_COMPRESS_VERSION SNDRV_PROTOCOL_VERSION(0, 1, 2)
/**
* struct snd_compressed_buffer
:
compressed buffer
* struct snd_compressed_buffer
-
compressed buffer
* @fragment_size: size of buffer fragment in bytes
* @fragments: number of such fragments
*/
...
...
@@ -42,7 +42,7 @@ struct snd_compressed_buffer {
}
__attribute__
((
packed
,
aligned
(
4
)));
/**
* struct snd_compr_params
:
compressed stream params
* struct snd_compr_params
-
compressed stream params
* @buffer: buffer description
* @codec: codec parameters
* @no_wake_mode: dont wake on fragment elapsed
...
...
@@ -54,7 +54,7 @@ struct snd_compr_params {
}
__attribute__
((
packed
,
aligned
(
4
)));
/**
* struct snd_compr_tstamp
:
timestamp descriptor
* struct snd_compr_tstamp
-
timestamp descriptor
* @byte_offset: Byte offset in ring buffer to DSP
* @copied_total: Total number of bytes copied from/to ring buffer to/by DSP
* @pcm_frames: Frames decoded or encoded by DSP. This field will evolve by
...
...
@@ -73,7 +73,7 @@ struct snd_compr_tstamp {
}
__attribute__
((
packed
,
aligned
(
4
)));
/**
* struct snd_compr_avail
:
avail descriptor
* struct snd_compr_avail
-
avail descriptor
* @avail: Number of bytes available in ring buffer for writing/reading
* @tstamp: timestamp infomation
*/
...
...
@@ -88,7 +88,7 @@ enum snd_compr_direction {
};
/**
* struct snd_compr_caps
:
caps descriptor
* struct snd_compr_caps
-
caps descriptor
* @codecs: pointer to array of codecs
* @direction: direction supported. Of type snd_compr_direction
* @min_fragment_size: minimum fragment supported by DSP
...
...
@@ -110,7 +110,7 @@ struct snd_compr_caps {
}
__attribute__
((
packed
,
aligned
(
4
)));
/**
* struct snd_compr_codec_caps
:
query capability of codec
* struct snd_compr_codec_caps
-
query capability of codec
* @codec: codec for which capability is queried
* @num_descriptors: number of codec descriptors
* @descriptor: array of codec capability descriptor
...
...
@@ -122,18 +122,19 @@ struct snd_compr_codec_caps {
}
__attribute__
((
packed
,
aligned
(
4
)));
/**
* enum sndrv_compress_encoder
* @SNDRV_COMPRESS_ENCODER_PADDING: no of samples appended by the encoder at the
* end of the track
* @SNDRV_COMPRESS_ENCODER_DELAY: no of samples inserted by the encoder at the
* beginning of the track
*/
enum
{
enum
sndrv_compress_encoder
{
SNDRV_COMPRESS_ENCODER_PADDING
=
1
,
SNDRV_COMPRESS_ENCODER_DELAY
=
2
,
};
/**
* struct snd_compr_metadata
:
compressed stream metadata
* struct snd_compr_metadata
-
compressed stream metadata
* @key: key id
* @value: key value
*/
...
...
sound/pci/hda/hda_auto_parser.c
浏览文件 @
ce40a6d3
...
...
@@ -441,6 +441,13 @@ int snd_hda_parse_pin_defcfg(struct hda_codec *codec,
}
EXPORT_SYMBOL_GPL
(
snd_hda_parse_pin_defcfg
);
/**
* snd_hda_get_input_pin_attr - Get the input pin attribute from pin config
* @def_conf: pin configuration value
*
* Guess the input pin attribute (INPUT_PIN_ATTR_XXX) from the given
* default pin configuration value.
*/
int
snd_hda_get_input_pin_attr
(
unsigned
int
def_conf
)
{
unsigned
int
loc
=
get_defcfg_location
(
def_conf
);
...
...
@@ -464,12 +471,15 @@ EXPORT_SYMBOL_GPL(snd_hda_get_input_pin_attr);
/**
* hda_get_input_pin_label - Give a label for the given input pin
* @codec: the HDA codec
* @item: ping config item to refer
* @pin: the pin NID
* @check_location: flag to add the jack location prefix
*
* When check_location is true, the function checks the pin location
* When
@
check_location is true, the function checks the pin location
* for mic and line-in pins, and set an appropriate prefix like "Front",
* "Rear", "Internal".
*/
static
const
char
*
hda_get_input_pin_label
(
struct
hda_codec
*
codec
,
const
struct
auto_pin_cfg_item
*
item
,
hda_nid_t
pin
,
bool
check_location
)
...
...
@@ -550,6 +560,9 @@ static int check_mic_location_need(struct hda_codec *codec,
/**
* hda_get_autocfg_input_label - Get a label for the given input
* @codec: the HDA codec
* @cfg: the parsed pin configuration
* @input: the input index number
*
* Get a label for the given input pin defined by the autocfg item.
* Unlike hda_get_input_pin_label(), this function checks all inputs
...
...
@@ -677,6 +690,12 @@ static int fill_audio_out_name(struct hda_codec *codec, hda_nid_t nid,
/**
* snd_hda_get_pin_label - Get a label for the given I/O pin
* @codec: the HDA codec
* @nid: pin NID
* @cfg: the parsed pin configuration
* @label: the string buffer to store
* @maxlen: the max length of string buffer (including termination)
* @indexp: the pointer to return the index number (for multiple ctls)
*
* Get a label for the given pin. This function works for both input and
* output pins. When @cfg is given as non-NULL, the function tries to get
...
...
@@ -748,6 +767,14 @@ int snd_hda_get_pin_label(struct hda_codec *codec, hda_nid_t nid,
}
EXPORT_SYMBOL_GPL
(
snd_hda_get_pin_label
);
/**
* snd_hda_add_verbs - Add verbs to the init list
* @codec: the HDA codec
* @list: zero-terminated verb list to add
*
* Append the given verb list to the execution list. The verbs will be
* performed at init and resume time via snd_hda_apply_verbs().
*/
int
snd_hda_add_verbs
(
struct
hda_codec
*
codec
,
const
struct
hda_verb
*
list
)
{
...
...
@@ -760,6 +787,10 @@ int snd_hda_add_verbs(struct hda_codec *codec,
}
EXPORT_SYMBOL_GPL
(
snd_hda_add_verbs
);
/**
* snd_hda_apply_verbs - Execute the init verb lists
* @codec: the HDA codec
*/
void
snd_hda_apply_verbs
(
struct
hda_codec
*
codec
)
{
int
i
;
...
...
@@ -770,6 +801,11 @@ void snd_hda_apply_verbs(struct hda_codec *codec)
}
EXPORT_SYMBOL_GPL
(
snd_hda_apply_verbs
);
/**
* snd_hda_apply_pincfgs - Set each pin config in the given list
* @codec: the HDA codec
* @cfg: NULL-terminated pin config table
*/
void
snd_hda_apply_pincfgs
(
struct
hda_codec
*
codec
,
const
struct
hda_pintbl
*
cfg
)
{
...
...
@@ -837,6 +873,11 @@ static void apply_fixup(struct hda_codec *codec, int id, int action, int depth)
}
}
/**
* snd_hda_apply_fixup - Apply the fixup chain with the given action
* @codec: the HDA codec
* @action: fixup action (HDA_FIXUP_ACT_XXX)
*/
void
snd_hda_apply_fixup
(
struct
hda_codec
*
codec
,
int
action
)
{
if
(
codec
->
fixup_list
)
...
...
@@ -855,6 +896,12 @@ static bool pin_config_match(struct hda_codec *codec,
return
true
;
}
/**
* snd_hda_pick_pin_fixup - Pick up a fixup matching with the pin quirk list
* @codec: the HDA codec
* @pin_quirk: zero-terminated pin quirk list
* @fixlist: the fixup list
*/
void
snd_hda_pick_pin_fixup
(
struct
hda_codec
*
codec
,
const
struct
snd_hda_pin_quirk
*
pin_quirk
,
const
struct
hda_fixup
*
fixlist
)
...
...
@@ -881,6 +928,21 @@ void snd_hda_pick_pin_fixup(struct hda_codec *codec,
}
EXPORT_SYMBOL_GPL
(
snd_hda_pick_pin_fixup
);
/**
* snd_hda_pick_fixup - Pick up a fixup matching with PCI/codec SSID or model string
* @codec: the HDA codec
* @models: NULL-terminated model string list
* @quirk: zero-terminated PCI/codec SSID quirk list
* @fixlist: the fixup list
*
* Pick up a fixup entry matching with the given model string or SSID.
* If a fixup was already set beforehand, the function doesn't do anything.
* When a special model string "nofixup" is given, also no fixup is applied.
*
* The function tries to find the matching model name at first, if given.
* If nothing matched, try to look up the PCI SSID.
* If still nothing matched, try to look up the codec SSID.
*/
void
snd_hda_pick_fixup
(
struct
hda_codec
*
codec
,
const
struct
hda_model_fixup
*
models
,
const
struct
snd_pci_quirk
*
quirk
,
...
...
sound/pci/hda/hda_beep.c
浏览文件 @
ce40a6d3
...
...
@@ -175,6 +175,11 @@ static int snd_hda_do_attach(struct hda_beep *beep)
return
0
;
}
/**
* snd_hda_enable_beep_device - Turn on/off beep sound
* @codec: the HDA codec
* @enable: flag to turn on/off
*/
int
snd_hda_enable_beep_device
(
struct
hda_codec
*
codec
,
int
enable
)
{
struct
hda_beep
*
beep
=
codec
->
beep
;
...
...
@@ -191,6 +196,20 @@ int snd_hda_enable_beep_device(struct hda_codec *codec, int enable)
}
EXPORT_SYMBOL_GPL
(
snd_hda_enable_beep_device
);
/**
* snd_hda_attach_beep_device - Attach a beep input device
* @codec: the HDA codec
* @nid: beep NID
*
* Attach a beep object to the given widget. If beep hint is turned off
* explicitly or beep_mode of the codec is turned off, this doesn't nothing.
*
* The attached beep device has to be registered via
* snd_hda_register_beep_device() and released via snd_hda_detach_beep_device()
* appropriately.
*
* Currently, only one beep device is allowed to each codec.
*/
int
snd_hda_attach_beep_device
(
struct
hda_codec
*
codec
,
int
nid
)
{
struct
hda_beep
*
beep
;
...
...
@@ -228,6 +247,10 @@ int snd_hda_attach_beep_device(struct hda_codec *codec, int nid)
}
EXPORT_SYMBOL_GPL
(
snd_hda_attach_beep_device
);
/**
* snd_hda_detach_beep_device - Detach the beep device
* @codec: the HDA codec
*/
void
snd_hda_detach_beep_device
(
struct
hda_codec
*
codec
)
{
struct
hda_beep
*
beep
=
codec
->
beep
;
...
...
@@ -240,6 +263,10 @@ void snd_hda_detach_beep_device(struct hda_codec *codec)
}
EXPORT_SYMBOL_GPL
(
snd_hda_detach_beep_device
);
/**
* snd_hda_register_beep_device - Register the beep device
* @codec: the HDA codec
*/
int
snd_hda_register_beep_device
(
struct
hda_codec
*
codec
)
{
struct
hda_beep
*
beep
=
codec
->
beep
;
...
...
@@ -269,6 +296,12 @@ static bool ctl_has_mute(struct snd_kcontrol *kcontrol)
}
/* get/put callbacks for beep mute mixer switches */
/**
* snd_hda_mixer_amp_switch_get_beep - Get callback for beep controls
* @kcontrol: ctl element
* @ucontrol: pointer to get/store the data
*/
int
snd_hda_mixer_amp_switch_get_beep
(
struct
snd_kcontrol
*
kcontrol
,
struct
snd_ctl_elem_value
*
ucontrol
)
{
...
...
@@ -283,6 +316,11 @@ int snd_hda_mixer_amp_switch_get_beep(struct snd_kcontrol *kcontrol,
}
EXPORT_SYMBOL_GPL
(
snd_hda_mixer_amp_switch_get_beep
);
/**
* snd_hda_mixer_amp_switch_put_beep - Put callback for beep controls
* @kcontrol: ctl element
* @ucontrol: pointer to get/store the data
*/
int
snd_hda_mixer_amp_switch_put_beep
(
struct
snd_kcontrol
*
kcontrol
,
struct
snd_ctl_elem_value
*
ucontrol
)
{
...
...
sound/pci/hda/hda_codec.c
浏览文件 @
ce40a6d3
此差异已折叠。
点击以展开。
sound/pci/hda/hda_eld.c
浏览文件 @
ce40a6d3
...
...
@@ -371,7 +371,7 @@ int snd_hdmi_get_eld(struct hda_codec *codec, hda_nid_t nid,
return
ret
;
}
/*
*
/*
* SNDRV_PCM_RATE_* and AC_PAR_PCM values don't match, print correct rates with
* hdmi-specific routine.
*/
...
...
sound/pci/hda/hda_jack.c
浏览文件 @
ce40a6d3
...
...
@@ -20,6 +20,16 @@
#include "hda_auto_parser.h"
#include "hda_jack.h"
/**
* is_jack_detectable - Check whether the given pin is jack-detectable
* @codec: the HDA codec
* @nid: pin NID
*
* Check whether the given pin is capable to report the jack detection.
* The jack detection might not work by various reasons, e.g. the jack
* detection is prohibited in the codec level, the pin config has
* AC_DEFCFG_MISC_NO_PRESENCE bit, no unsol support, etc.
*/
bool
is_jack_detectable
(
struct
hda_codec
*
codec
,
hda_nid_t
nid
)
{
if
(
codec
->
no_jack_detect
)
...
...
@@ -57,6 +67,8 @@ static u32 read_pin_sense(struct hda_codec *codec, hda_nid_t nid)
/**
* snd_hda_jack_tbl_get - query the jack-table entry for the given NID
* @codec: the HDA codec
* @nid: pin NID to refer to
*/
struct
hda_jack_tbl
*
snd_hda_jack_tbl_get
(
struct
hda_codec
*
codec
,
hda_nid_t
nid
)
...
...
@@ -75,6 +87,8 @@ EXPORT_SYMBOL_GPL(snd_hda_jack_tbl_get);
/**
* snd_hda_jack_tbl_get_from_tag - query the jack-table entry for the given tag
* @codec: the HDA codec
* @tag: tag value to refer to
*/
struct
hda_jack_tbl
*
snd_hda_jack_tbl_get_from_tag
(
struct
hda_codec
*
codec
,
unsigned
char
tag
)
...
...
@@ -93,6 +107,8 @@ EXPORT_SYMBOL_GPL(snd_hda_jack_tbl_get_from_tag);
/**
* snd_hda_jack_tbl_new - create a jack-table entry for the given NID
* @codec: the HDA codec
* @nid: pin NID to assign
*/
static
struct
hda_jack_tbl
*
snd_hda_jack_tbl_new
(
struct
hda_codec
*
codec
,
hda_nid_t
nid
)
...
...
@@ -162,6 +178,7 @@ static void jack_detect_update(struct hda_codec *codec,
/**
* snd_hda_set_dirty_all - Mark all the cached as dirty
* @codec: the HDA codec
*
* This function sets the dirty flag to all entries of jack table.
* It's called from the resume path in hda_codec.c.
...
...
@@ -218,6 +235,9 @@ EXPORT_SYMBOL_GPL(snd_hda_jack_detect_state);
/**
* snd_hda_jack_detect_enable - enable the jack-detection
* @codec: the HDA codec
* @nid: pin NID to enable
* @func: callback function to register
*
* In the case of error, the return value will be a pointer embedded with
* errno. Check and handle the return value appropriately with standard
...
...
@@ -258,6 +278,14 @@ snd_hda_jack_detect_enable_callback(struct hda_codec *codec, hda_nid_t nid,
}
EXPORT_SYMBOL_GPL
(
snd_hda_jack_detect_enable_callback
);
/**
* snd_hda_jack_detect_enable - Enable the jack detection on the given pin
* @codec: the HDA codec
* @nid: pin NID to enable jack detection
*
* Enable the jack detection with the default callback. Returns zero if
* successful or a negative error code.
*/
int
snd_hda_jack_detect_enable
(
struct
hda_codec
*
codec
,
hda_nid_t
nid
)
{
return
PTR_ERR_OR_ZERO
(
snd_hda_jack_detect_enable_callback
(
codec
,
nid
,
NULL
));
...
...
@@ -266,6 +294,9 @@ EXPORT_SYMBOL_GPL(snd_hda_jack_detect_enable);
/**
* snd_hda_jack_set_gating_jack - Set gating jack.
* @codec: the HDA codec
* @gated_nid: gated pin NID
* @gating_nid: gating pin NID
*
* Indicates the gated jack is only valid when the gating jack is plugged.
*/
...
...
@@ -287,6 +318,7 @@ EXPORT_SYMBOL_GPL(snd_hda_jack_set_gating_jack);
/**
* snd_hda_jack_report_sync - sync the states of all jacks and report if changed
* @codec: the HDA codec
*/
void
snd_hda_jack_report_sync
(
struct
hda_codec
*
codec
)
{
...
...
@@ -349,6 +381,11 @@ static void hda_free_jack_priv(struct snd_jack *jack)
/**
* snd_hda_jack_add_kctl - Add a kctl for the given pin
* @codec: the HDA codec
* @nid: pin NID to assign
* @name: string name for the jack
* @idx: index number for the jack
* @phantom_jack: flag to deal as a phantom jack
*
* This assigns a jack-detection kctl to the given pin. The kcontrol
* will have the given name and index.
...
...
@@ -391,6 +428,15 @@ static int __snd_hda_jack_add_kctl(struct hda_codec *codec, hda_nid_t nid,
return
0
;
}
/**
* snd_hda_jack_add_kctl - Add a jack kctl for the given pin
* @codec: the HDA codec
* @nid: pin NID
* @name: the name string for the jack ctl
* @idx: the ctl index for the jack ctl
*
* This is a simple helper calling __snd_hda_jack_add_kctl().
*/
int
snd_hda_jack_add_kctl
(
struct
hda_codec
*
codec
,
hda_nid_t
nid
,
const
char
*
name
,
int
idx
)
{
...
...
@@ -456,6 +502,8 @@ static int add_jack_kctl(struct hda_codec *codec, hda_nid_t nid,
/**
* snd_hda_jack_add_kctls - Add kctls for all pins included in the given pincfg
* @codec: the HDA codec
* @cfg: pin config table to parse
*/
int
snd_hda_jack_add_kctls
(
struct
hda_codec
*
codec
,
const
struct
auto_pin_cfg
*
cfg
)
...
...
@@ -531,6 +579,11 @@ static void call_jack_callback(struct hda_codec *codec,
}
}
/**
* snd_hda_jack_unsol_event - Handle an unsolicited event
* @codec: the HDA codec
* @res: the unsolicited event data
*/
void
snd_hda_jack_unsol_event
(
struct
hda_codec
*
codec
,
unsigned
int
res
)
{
struct
hda_jack_tbl
*
event
;
...
...
@@ -546,6 +599,13 @@ void snd_hda_jack_unsol_event(struct hda_codec *codec, unsigned int res)
}
EXPORT_SYMBOL_GPL
(
snd_hda_jack_unsol_event
);
/**
* snd_hda_jack_poll_all - Poll all jacks
* @codec: the HDA codec
*
* Poll all detectable jacks with dirty flag, update the status, call
* callbacks and call snd_hda_jack_report_sync() if any changes are found.
*/
void
snd_hda_jack_poll_all
(
struct
hda_codec
*
codec
)
{
struct
hda_jack_tbl
*
jack
=
codec
->
jacktbl
.
list
;
...
...
sound/pci/hda/hda_jack.h
浏览文件 @
ce40a6d3
...
...
@@ -72,6 +72,11 @@ enum {
int
snd_hda_jack_detect_state
(
struct
hda_codec
*
codec
,
hda_nid_t
nid
);
/**
* snd_hda_jack_detect - Detect the jack
* @codec: the HDA codec
* @nid: pin NID to check jack detection
*/
static
inline
bool
snd_hda_jack_detect
(
struct
hda_codec
*
codec
,
hda_nid_t
nid
)
{
return
snd_hda_jack_detect_state
(
codec
,
nid
)
!=
HDA_JACK_NOT_PRESENT
;
...
...
sound/pci/hda/hda_sysfs.c
浏览文件 @
ce40a6d3
...
...
@@ -417,8 +417,13 @@ static DEVICE_ATTR_RW(user_pin_configs);
static
DEVICE_ATTR_WO
(
reconfig
);
static
DEVICE_ATTR_WO
(
clear
);
/*
* Look for hint string
/**
* snd_hda_get_hint - Look for hint string
* @codec: the HDA codec
* @key: the hint key string
*
* Look for a hint key/value pair matching with the given key string
* and returns the value string. If nothing found, returns NULL.
*/
const
char
*
snd_hda_get_hint
(
struct
hda_codec
*
codec
,
const
char
*
key
)
{
...
...
@@ -427,6 +432,15 @@ const char *snd_hda_get_hint(struct hda_codec *codec, const char *key)
}
EXPORT_SYMBOL_GPL
(
snd_hda_get_hint
);
/**
* snd_hda_get_bool_hint - Get a boolean hint value
* @codec: the HDA codec
* @key: the hint key string
*
* Look for a hint key/value pair matching with the given key string
* and returns a boolean value parsed from the value. If no matching
* key is found, return a negative value.
*/
int
snd_hda_get_bool_hint
(
struct
hda_codec
*
codec
,
const
char
*
key
)
{
const
char
*
p
;
...
...
@@ -453,6 +467,16 @@ int snd_hda_get_bool_hint(struct hda_codec *codec, const char *key)
}
EXPORT_SYMBOL_GPL
(
snd_hda_get_bool_hint
);
/**
* snd_hda_get_bool_hint - Get a boolean hint value
* @codec: the HDA codec
* @key: the hint key string
* @valp: pointer to store a value
*
* Look for a hint key/value pair matching with the given key string
* and stores the integer value to @valp. If no matching key is found,
* return a negative error code. Otherwise it returns zero.
*/
int
snd_hda_get_int_hint
(
struct
hda_codec
*
codec
,
const
char
*
key
,
int
*
valp
)
{
const
char
*
p
;
...
...
@@ -690,8 +714,11 @@ static int get_line_from_fw(char *buf, int size, size_t *fw_size_p,
return
1
;
}
/*
* load a "patch" firmware file and parse it
/**
* snd_hda_load_patch - load a "patch" firmware file and parse it
* @bus: HD-audio bus
* @fw_size: the firmware byte size
* @fw_buf: the firmware data
*/
int
snd_hda_load_patch
(
struct
hda_bus
*
bus
,
size_t
fw_size
,
const
void
*
fw_buf
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录