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
nexedi
linux
Commits
a1cb98ac
Commit
a1cb98ac
authored
Aug 04, 2014
by
Mark Brown
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'asoc/topic/component' into asoc-next
parents
7c081528
0f2780ad
Changes
23
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
1125 additions
and
749 deletions
+1125
-749
include/sound/soc-dai.h
include/sound/soc-dai.h
+4
-1
include/sound/soc-dapm.h
include/sound/soc-dapm.h
+5
-3
include/sound/soc.h
include/sound/soc.h
+57
-21
include/trace/events/asoc.h
include/trace/events/asoc.h
+3
-3
sound/soc/codecs/ac97.c
sound/soc/codecs/ac97.c
+2
-2
sound/soc/codecs/cx20442.c
sound/soc/codecs/cx20442.c
+3
-3
sound/soc/codecs/tlv320dac33.c
sound/soc/codecs/tlv320dac33.c
+1
-1
sound/soc/codecs/uda134x.c
sound/soc/codecs/uda134x.c
+1
-1
sound/soc/codecs/wm8960.c
sound/soc/codecs/wm8960.c
+1
-1
sound/soc/codecs/wm_adsp.c
sound/soc/codecs/wm_adsp.c
+2
-2
sound/soc/omap/ams-delta.c
sound/soc/omap/ams-delta.c
+1
-1
sound/soc/soc-cache.c
sound/soc/soc-cache.c
+3
-4
sound/soc/soc-compress.c
sound/soc/soc-compress.c
+10
-3
sound/soc/soc-core.c
sound/soc/soc-core.c
+462
-384
sound/soc/soc-dapm.c
sound/soc/soc-dapm.c
+158
-121
sound/soc/soc-jack.c
sound/soc/soc-jack.c
+2
-2
sound/soc/soc-pcm.c
sound/soc/soc-pcm.c
+400
-180
sound/soc/tegra/tegra_alc5632.c
sound/soc/tegra/tegra_alc5632.c
+2
-3
sound/soc/tegra/tegra_max98090.c
sound/soc/tegra/tegra_max98090.c
+2
-3
sound/soc/tegra/tegra_rt5640.c
sound/soc/tegra/tegra_rt5640.c
+2
-3
sound/soc/tegra/tegra_wm8753.c
sound/soc/tegra/tegra_wm8753.c
+1
-2
sound/soc/tegra/tegra_wm8903.c
sound/soc/tegra/tegra_wm8903.c
+2
-3
sound/soc/tegra/trimslice.c
sound/soc/tegra/trimslice.c
+1
-2
No files found.
include/sound/soc-dai.h
View file @
a1cb98ac
...
...
@@ -257,7 +257,6 @@ struct snd_soc_dai {
struct
snd_soc_dapm_widget
*
playback_widget
;
struct
snd_soc_dapm_widget
*
capture_widget
;
struct
snd_soc_dapm_context
dapm
;
/* DAI DMA data */
void
*
playback_dma_data
;
...
...
@@ -273,6 +272,10 @@ struct snd_soc_dai {
struct
snd_soc_codec
*
codec
;
struct
snd_soc_component
*
component
;
/* CODEC TDM slot masks and params (for fixup) */
unsigned
int
tx_mask
;
unsigned
int
rx_mask
;
struct
snd_soc_card
*
card
;
struct
list_head
list
;
...
...
include/sound/soc-dapm.h
View file @
a1cb98ac
...
...
@@ -431,7 +431,7 @@ int snd_soc_dapm_force_enable_pin_unlocked(struct snd_soc_dapm_context *dapm,
const
char
*
pin
);
int
snd_soc_dapm_ignore_suspend
(
struct
snd_soc_dapm_context
*
dapm
,
const
char
*
pin
);
void
snd_soc_dapm_auto_nc_
codec_pins
(
struct
snd_soc_codec
*
codec
);
void
snd_soc_dapm_auto_nc_
pins
(
struct
snd_soc_card
*
card
);
/* Mostly internal - should not normally be used */
void
dapm_mark_io_dirty
(
struct
snd_soc_dapm_context
*
dapm
);
...
...
@@ -441,6 +441,8 @@ int snd_soc_dapm_dai_get_connected_widgets(struct snd_soc_dai *dai, int stream,
struct
snd_soc_dapm_widget_list
**
list
);
struct
snd_soc_codec
*
snd_soc_dapm_kcontrol_codec
(
struct
snd_kcontrol
*
kcontrol
);
struct
snd_soc_dapm_context
*
snd_soc_dapm_kcontrol_dapm
(
struct
snd_kcontrol
*
kcontrol
);
/* dapm widget types */
enum
snd_soc_dapm_type
{
...
...
@@ -524,7 +526,6 @@ struct snd_soc_dapm_widget {
const
char
*
name
;
/* widget name */
const
char
*
sname
;
/* stream name */
struct
snd_soc_codec
*
codec
;
struct
snd_soc_platform
*
platform
;
struct
list_head
list
;
struct
snd_soc_dapm_context
*
dapm
;
...
...
@@ -593,7 +594,6 @@ struct snd_soc_dapm_context {
struct
device
*
dev
;
/* from parent - for debug */
struct
snd_soc_component
*
component
;
/* parent component */
struct
snd_soc_codec
*
codec
;
/* parent codec */
struct
snd_soc_platform
*
platform
;
/* parent platform */
struct
snd_soc_card
*
card
;
/* parent card */
/* used during DAPM updates */
...
...
@@ -601,6 +601,8 @@ struct snd_soc_dapm_context {
struct
list_head
list
;
int
(
*
stream_event
)(
struct
snd_soc_dapm_context
*
dapm
,
int
event
);
int
(
*
set_bias_level
)(
struct
snd_soc_dapm_context
*
dapm
,
enum
snd_soc_bias_level
level
);
#ifdef CONFIG_DEBUG_FS
struct
dentry
*
debugfs_dapm
;
...
...
include/sound/soc.h
View file @
a1cb98ac
...
...
@@ -436,6 +436,10 @@ int snd_soc_set_runtime_hwparams(struct snd_pcm_substream *substream,
int
snd_soc_platform_trigger
(
struct
snd_pcm_substream
*
substream
,
int
cmd
,
struct
snd_soc_platform
*
platform
);
int
soc_dai_hw_params
(
struct
snd_pcm_substream
*
substream
,
struct
snd_pcm_hw_params
*
params
,
struct
snd_soc_dai
*
dai
);
/* Jack reporting */
int
snd_soc_jack_new
(
struct
snd_soc_codec
*
codec
,
const
char
*
id
,
int
type
,
struct
snd_soc_jack
*
jack
);
...
...
@@ -503,10 +507,12 @@ struct snd_kcontrol *snd_soc_cnew(const struct snd_kcontrol_new *_template,
const
char
*
prefix
);
struct
snd_kcontrol
*
snd_soc_card_get_kcontrol
(
struct
snd_soc_card
*
soc_card
,
const
char
*
name
);
int
snd_soc_add_component_controls
(
struct
snd_soc_component
*
component
,
const
struct
snd_kcontrol_new
*
controls
,
unsigned
int
num_controls
);
int
snd_soc_add_codec_controls
(
struct
snd_soc_codec
*
codec
,
const
struct
snd_kcontrol_new
*
controls
,
int
num_controls
);
const
struct
snd_kcontrol_new
*
controls
,
unsigned
int
num_controls
);
int
snd_soc_add_platform_controls
(
struct
snd_soc_platform
*
platform
,
const
struct
snd_kcontrol_new
*
controls
,
int
num_controls
);
const
struct
snd_kcontrol_new
*
controls
,
unsigned
int
num_controls
);
int
snd_soc_add_card_controls
(
struct
snd_soc_card
*
soc_card
,
const
struct
snd_kcontrol_new
*
controls
,
int
num_controls
);
int
snd_soc_add_dai_controls
(
struct
snd_soc_dai
*
dai
,
...
...
@@ -677,12 +683,17 @@ struct snd_soc_component_driver {
int
(
*
of_xlate_dai_name
)(
struct
snd_soc_component
*
component
,
struct
of_phandle_args
*
args
,
const
char
**
dai_name
);
void
(
*
seq_notifier
)(
struct
snd_soc_component
*
,
enum
snd_soc_dapm_type
,
int
subseq
);
int
(
*
stream_event
)(
struct
snd_soc_component
*
,
int
event
);
};
struct
snd_soc_component
{
const
char
*
name
;
int
id
;
const
char
*
name_prefix
;
struct
device
*
dev
;
struct
snd_soc_card
*
card
;
unsigned
int
active
;
...
...
@@ -705,18 +716,18 @@ struct snd_soc_component {
int
val_bytes
;
struct
mutex
io_mutex
;
/* Don't use these, use snd_soc_component_get_dapm() */
struct
snd_soc_dapm_context
dapm
;
struct
snd_soc_dapm_context
*
dapm_ptr
;
};
/* SoC Audio Codec device */
struct
snd_soc_codec
{
const
char
*
name
;
const
char
*
name_prefix
;
int
id
;
struct
device
*
dev
;
const
struct
snd_soc_codec_driver
*
driver
;
struct
mutex
mutex
;
struct
snd_soc_card
*
card
;
struct
list_head
list
;
struct
list_head
card_list
;
...
...
@@ -790,9 +801,6 @@ struct snd_soc_codec_driver {
void
(
*
seq_notifier
)(
struct
snd_soc_dapm_context
*
,
enum
snd_soc_dapm_type
,
int
);
/* codec stream completion event */
int
(
*
stream_event
)(
struct
snd_soc_dapm_context
*
dapm
,
int
event
);
bool
ignore_pmdown_time
;
/* Doesn't benefit from pmdown delay */
/* probe ordering - for components with runtime dependencies */
...
...
@@ -834,9 +842,6 @@ struct snd_soc_platform_driver {
/* platform stream compress ops */
const
struct
snd_compr_ops
*
compr_ops
;
/* platform stream completion event */
int
(
*
stream_event
)(
struct
snd_soc_dapm_context
*
dapm
,
int
event
);
/* probe ordering - for components with runtime dependencies */
int
probe_order
;
int
remove_order
;
...
...
@@ -847,23 +852,23 @@ struct snd_soc_platform_driver {
int
(
*
bespoke_trigger
)(
struct
snd_pcm_substream
*
,
int
);
};
struct
snd_soc_
platform
{
struct
snd_soc_
dai_link_component
{
const
char
*
name
;
int
id
;
const
struct
device_node
*
of_node
;
const
char
*
dai_name
;
};
struct
snd_soc_platform
{
struct
device
*
dev
;
const
struct
snd_soc_platform_driver
*
driver
;
unsigned
int
suspended
:
1
;
/* platform is suspended */
unsigned
int
probed
:
1
;
struct
snd_soc_card
*
card
;
struct
list_head
list
;
struct
list_head
card_list
;
struct
snd_soc_component
component
;
struct
snd_soc_dapm_context
dapm
;
#ifdef CONFIG_DEBUG_FS
struct
dentry
*
debugfs_platform_root
;
#endif
...
...
@@ -896,6 +901,10 @@ struct snd_soc_dai_link {
const
struct
device_node
*
codec_of_node
;
/* You MUST specify the DAI name within the codec */
const
char
*
codec_dai_name
;
struct
snd_soc_dai_link_component
*
codecs
;
unsigned
int
num_codecs
;
/*
* You MAY specify the link's platform/PCM/DMA driver, either by
* device name, or by DT/OF node, but not both. Some forms of link
...
...
@@ -1047,7 +1056,6 @@ struct snd_soc_card {
/* lists of probed devices belonging to this card */
struct
list_head
codec_dev_list
;
struct
list_head
platform_dev_list
;
struct
list_head
widgets
;
struct
list_head
paths
;
...
...
@@ -1094,6 +1102,9 @@ struct snd_soc_pcm_runtime {
struct
snd_soc_dai
*
codec_dai
;
struct
snd_soc_dai
*
cpu_dai
;
struct
snd_soc_dai
**
codec_dais
;
unsigned
int
num_codecs
;
struct
delayed_work
delayed_work
;
#ifdef CONFIG_DEBUG_FS
struct
dentry
*
debugfs_dpcm_root
;
...
...
@@ -1164,6 +1175,21 @@ static inline struct snd_soc_platform *snd_soc_component_to_platform(
return
container_of
(
component
,
struct
snd_soc_platform
,
component
);
}
/**
* snd_soc_dapm_to_component() - Casts a DAPM context to the component it is
* embedded in
* @dapm: The DAPM context to cast to the component
*
* This function must only be used on DAPM contexts that are known to be part of
* a component (e.g. in a component driver). Otherwise the behavior is
* undefined.
*/
static
inline
struct
snd_soc_component
*
snd_soc_dapm_to_component
(
struct
snd_soc_dapm_context
*
dapm
)
{
return
container_of
(
dapm
,
struct
snd_soc_component
,
dapm
);
}
/**
* snd_soc_dapm_to_codec() - Casts a DAPM context to the CODEC it is embedded in
* @dapm: The DAPM context to cast to the CODEC
...
...
@@ -1188,7 +1214,18 @@ static inline struct snd_soc_codec *snd_soc_dapm_to_codec(
static
inline
struct
snd_soc_platform
*
snd_soc_dapm_to_platform
(
struct
snd_soc_dapm_context
*
dapm
)
{
return
container_of
(
dapm
,
struct
snd_soc_platform
,
dapm
);
return
snd_soc_component_to_platform
(
snd_soc_dapm_to_component
(
dapm
));
}
/**
* snd_soc_component_get_dapm() - Returns the DAPM context associated with a
* component
* @component: The component for which to get the DAPM context
*/
static
inline
struct
snd_soc_dapm_context
*
snd_soc_component_get_dapm
(
struct
snd_soc_component
*
component
)
{
return
component
->
dapm_ptr
;
}
/* codec IO */
...
...
@@ -1261,7 +1298,6 @@ static inline void *snd_soc_pcm_get_drvdata(struct snd_soc_pcm_runtime *rtd)
static
inline
void
snd_soc_initialize_card_lists
(
struct
snd_soc_card
*
card
)
{
INIT_LIST_HEAD
(
&
card
->
codec_dev_list
);
INIT_LIST_HEAD
(
&
card
->
platform_dev_list
);
INIT_LIST_HEAD
(
&
card
->
widgets
);
INIT_LIST_HEAD
(
&
card
->
paths
);
INIT_LIST_HEAD
(
&
card
->
dapm_list
);
...
...
include/trace/events/asoc.h
View file @
a1cb98ac
...
...
@@ -296,17 +296,17 @@ TRACE_EVENT(snd_soc_cache_sync,
TP_ARGS
(
codec
,
type
,
status
),
TP_STRUCT__entry
(
__string
(
name
,
codec
->
name
)
__string
(
name
,
codec
->
component
.
name
)
__string
(
status
,
status
)
__string
(
type
,
type
)
__field
(
int
,
id
)
),
TP_fast_assign
(
__assign_str
(
name
,
codec
->
name
);
__assign_str
(
name
,
codec
->
component
.
name
);
__assign_str
(
status
,
status
);
__assign_str
(
type
,
type
);
__entry
->
id
=
codec
->
id
;
__entry
->
id
=
codec
->
component
.
id
;
),
TP_printk
(
"codec=%s.%d type=%s status=%s"
,
__get_str
(
name
),
...
...
sound/soc/codecs/ac97.c
View file @
a1cb98ac
...
...
@@ -89,8 +89,8 @@ static int ac97_soc_probe(struct snd_soc_codec *codec)
int
ret
;
/* add codec as bus device for standard ac97 */
ret
=
snd_ac97_bus
(
codec
->
c
ard
->
snd_card
,
0
,
soc_ac97_ops
,
NULL
,
&
ac97_bus
);
ret
=
snd_ac97_bus
(
codec
->
c
omponent
.
card
->
snd_card
,
0
,
soc_ac97_ops
,
NULL
,
&
ac97_bus
);
if
(
ret
<
0
)
return
ret
;
...
...
sound/soc/codecs/cx20442.c
View file @
a1cb98ac
...
...
@@ -253,7 +253,7 @@ static void v253_close(struct tty_struct *tty)
/* Prevent the codec driver from further accessing the modem */
codec
->
hw_write
=
NULL
;
cx20442
->
control_data
=
NULL
;
codec
->
card
->
pop_time
=
0
;
codec
->
c
omponent
.
c
ard
->
pop_time
=
0
;
}
/* Line discipline .hangup() */
...
...
@@ -281,7 +281,7 @@ static void v253_receive(struct tty_struct *tty,
/* Set up codec driver access to modem controls */
cx20442
->
control_data
=
tty
;
codec
->
hw_write
=
(
hw_write_t
)
tty
->
ops
->
write
;
codec
->
card
->
pop_time
=
1
;
codec
->
c
omponent
.
c
ard
->
pop_time
=
1
;
}
}
...
...
@@ -372,7 +372,7 @@ static int cx20442_codec_probe(struct snd_soc_codec *codec)
snd_soc_codec_set_drvdata
(
codec
,
cx20442
);
codec
->
hw_write
=
NULL
;
codec
->
card
->
pop_time
=
0
;
codec
->
c
omponent
.
c
ard
->
pop_time
=
0
;
return
0
;
}
...
...
sound/soc/codecs/tlv320dac33.c
View file @
a1cb98ac
...
...
@@ -1404,7 +1404,7 @@ static int dac33_soc_probe(struct snd_soc_codec *codec)
if
(
dac33
->
irq
>=
0
)
{
ret
=
request_irq
(
dac33
->
irq
,
dac33_interrupt_handler
,
IRQF_TRIGGER_RISING
,
codec
->
name
,
codec
);
codec
->
component
.
name
,
codec
);
if
(
ret
<
0
)
{
dev_err
(
codec
->
dev
,
"Could not request IRQ%d (%d)
\n
"
,
dac33
->
irq
,
ret
);
...
...
sound/soc/codecs/uda134x.c
View file @
a1cb98ac
...
...
@@ -479,7 +479,7 @@ static struct snd_soc_dai_driver uda134x_dai = {
static
int
uda134x_soc_probe
(
struct
snd_soc_codec
*
codec
)
{
struct
uda134x_priv
*
uda134x
;
struct
uda134x_platform_data
*
pd
=
codec
->
card
->
dev
->
platform_data
;
struct
uda134x_platform_data
*
pd
=
codec
->
c
omponent
.
c
ard
->
dev
->
platform_data
;
const
struct
snd_soc_dapm_widget
*
widgets
;
unsigned
num_widgets
;
...
...
sound/soc/codecs/wm8960.c
View file @
a1cb98ac
...
...
@@ -472,7 +472,7 @@ static int wm8960_add_widgets(struct snd_soc_codec *codec)
* list each time to find the desired power state do so now
* and save the result.
*/
list_for_each_entry
(
w
,
&
codec
->
card
->
widgets
,
list
)
{
list_for_each_entry
(
w
,
&
codec
->
c
omponent
.
c
ard
->
widgets
,
list
)
{
if
(
w
->
dapm
!=
&
codec
->
dapm
)
continue
;
if
(
strcmp
(
w
->
name
,
"LOUT1 PGA"
)
==
0
)
...
...
sound/soc/codecs/wm_adsp.c
View file @
a1cb98ac
...
...
@@ -1382,7 +1382,7 @@ int wm_adsp1_event(struct snd_soc_dapm_widget *w,
int
ret
;
int
val
;
dsp
->
card
=
codec
->
card
;
dsp
->
card
=
codec
->
c
omponent
.
c
ard
;
switch
(
event
)
{
case
SND_SOC_DAPM_POST_PMU
:
...
...
@@ -1617,7 +1617,7 @@ int wm_adsp2_early_event(struct snd_soc_dapm_widget *w,
struct
wm_adsp
*
dsps
=
snd_soc_codec_get_drvdata
(
codec
);
struct
wm_adsp
*
dsp
=
&
dsps
[
w
->
shift
];
dsp
->
card
=
codec
->
card
;
dsp
->
card
=
codec
->
c
omponent
.
c
ard
;
switch
(
event
)
{
case
SND_SOC_DAPM_PRE_PMU
:
...
...
sound/soc/omap/ams-delta.c
View file @
a1cb98ac
...
...
@@ -301,7 +301,7 @@ static int cx81801_open(struct tty_struct *tty)
static
void
cx81801_close
(
struct
tty_struct
*
tty
)
{
struct
snd_soc_codec
*
codec
=
tty
->
disc_data
;
struct
snd_soc_dapm_context
*
dapm
=
&
codec
->
card
->
dapm
;
struct
snd_soc_dapm_context
*
dapm
=
&
codec
->
c
omponent
.
c
ard
->
dapm
;
del_timer_sync
(
&
cx81801_timer
);
...
...
sound/soc/soc-cache.c
View file @
a1cb98ac
...
...
@@ -78,7 +78,7 @@ int snd_soc_cache_init(struct snd_soc_codec *codec)
mutex_init
(
&
codec
->
cache_rw_mutex
);
dev_dbg
(
codec
->
dev
,
"ASoC: Initializing cache for %s codec
\n
"
,
codec
->
name
);
codec
->
component
.
name
);
if
(
codec_drv
->
reg_cache_default
)
codec
->
reg_cache
=
kmemdup
(
codec_drv
->
reg_cache_default
,
...
...
@@ -98,8 +98,7 @@ int snd_soc_cache_init(struct snd_soc_codec *codec)
int
snd_soc_cache_exit
(
struct
snd_soc_codec
*
codec
)
{
dev_dbg
(
codec
->
dev
,
"ASoC: Destroying cache for %s codec
\n
"
,
codec
->
name
);
codec
->
component
.
name
);
kfree
(
codec
->
reg_cache
);
codec
->
reg_cache
=
NULL
;
return
0
;
...
...
@@ -192,7 +191,7 @@ int snd_soc_cache_sync(struct snd_soc_codec *codec)
return
0
;
dev_dbg
(
codec
->
dev
,
"ASoC: Syncing cache for %s codec
\n
"
,
codec
->
name
);
codec
->
component
.
name
);
trace_snd_soc_cache_sync
(
codec
,
name
,
"start"
);
ret
=
snd_soc_flat_cache_sync
(
codec
);
if
(
!
ret
)
...
...
sound/soc/soc-compress.c
View file @
a1cb98ac
...
...
@@ -37,7 +37,8 @@ static int soc_compr_open(struct snd_compr_stream *cstream)
if
(
platform
->
driver
->
compr_ops
&&
platform
->
driver
->
compr_ops
->
open
)
{
ret
=
platform
->
driver
->
compr_ops
->
open
(
cstream
);
if
(
ret
<
0
)
{
pr_err
(
"compress asoc: can't open platform %s
\n
"
,
platform
->
name
);
pr_err
(
"compress asoc: can't open platform %s
\n
"
,
platform
->
component
.
name
);
goto
out
;
}
}
...
...
@@ -84,7 +85,8 @@ static int soc_compr_open_fe(struct snd_compr_stream *cstream)
if
(
platform
->
driver
->
compr_ops
&&
platform
->
driver
->
compr_ops
->
open
)
{
ret
=
platform
->
driver
->
compr_ops
->
open
(
cstream
);
if
(
ret
<
0
)
{
pr_err
(
"compress asoc: can't open platform %s
\n
"
,
platform
->
name
);
pr_err
(
"compress asoc: can't open platform %s
\n
"
,
platform
->
component
.
name
);
goto
out
;
}
}
...
...
@@ -627,6 +629,11 @@ int soc_new_compress(struct snd_soc_pcm_runtime *rtd, int num)
char
new_name
[
64
];
int
ret
=
0
,
direction
=
0
;
if
(
rtd
->
num_codecs
>
1
)
{
dev_err
(
rtd
->
card
->
dev
,
"Multicodec not supported for compressed stream
\n
"
);
return
-
EINVAL
;
}
/* check client and interface hw capabilities */
snprintf
(
new_name
,
sizeof
(
new_name
),
"%s %s-%d"
,
rtd
->
dai_link
->
stream_name
,
codec_dai
->
name
,
num
);
...
...
@@ -680,7 +687,7 @@ int soc_new_compress(struct snd_soc_pcm_runtime *rtd, int num)
ret
=
snd_compress_new
(
rtd
->
card
->
snd_card
,
num
,
direction
,
compr
);
if
(
ret
<
0
)
{
pr_err
(
"compress asoc: can't create compress for codec %s
\n
"
,
codec
->
name
);
codec
->
component
.
name
);
goto
compr_err
;
}
...
...
sound/soc/soc-core.c
View file @
a1cb98ac
This diff is collapsed.
Click to expand it.
sound/soc/soc-dapm.c
View file @
a1cb98ac
This diff is collapsed.
Click to expand it.
sound/soc/soc-jack.c
View file @
a1cb98ac
...
...
@@ -43,7 +43,7 @@ int snd_soc_jack_new(struct snd_soc_codec *codec, const char *id, int type,
INIT_LIST_HEAD
(
&
jack
->
jack_zones
);
BLOCKING_INIT_NOTIFIER_HEAD
(
&
jack
->
notifier
);
return
snd_jack_new
(
codec
->
card
->
snd_card
,
id
,
type
,
&
jack
->
jack
);
return
snd_jack_new
(
codec
->
c
omponent
.
c
ard
->
snd_card
,
id
,
type
,
&
jack
->
jack
);
}
EXPORT_SYMBOL_GPL
(
snd_soc_jack_new
);
...
...
@@ -260,7 +260,7 @@ static void snd_soc_jack_gpio_detect(struct snd_soc_jack_gpio *gpio)
static
irqreturn_t
gpio_handler
(
int
irq
,
void
*
data
)
{
struct
snd_soc_jack_gpio
*
gpio
=
data
;
struct
device
*
dev
=
gpio
->
jack
->
codec
->
card
->
dev
;
struct
device
*
dev
=
gpio
->
jack
->
codec
->
c
omponent
.
c
ard
->
dev
;
trace_snd_soc_jack_irq
(
gpio
->
name
);
...
...
sound/soc/soc-pcm.c
View file @
a1cb98ac
This diff is collapsed.
Click to expand it.
sound/soc/tegra/tegra_alc5632.c
View file @
a1cb98ac
...
...
@@ -41,8 +41,7 @@ static int tegra_alc5632_asoc_hw_params(struct snd_pcm_substream *substream,
{
struct
snd_soc_pcm_runtime
*
rtd
=
substream
->
private_data
;
struct
snd_soc_dai
*
codec_dai
=
rtd
->
codec_dai
;
struct
snd_soc_codec
*
codec
=
codec_dai
->
codec
;
struct
snd_soc_card
*
card
=
codec
->
card
;
struct
snd_soc_card
*
card
=
rtd
->
card
;
struct
tegra_alc5632
*
alc5632
=
snd_soc_card_get_drvdata
(
card
);
int
srate
,
mclk
;
int
err
;
...
...
@@ -105,7 +104,7 @@ static int tegra_alc5632_asoc_init(struct snd_soc_pcm_runtime *rtd)
struct
snd_soc_dai
*
codec_dai
=
rtd
->
codec_dai
;
struct
snd_soc_codec
*
codec
=
codec_dai
->
codec
;
struct
snd_soc_dapm_context
*
dapm
=
&
codec
->
dapm
;
struct
tegra_alc5632
*
machine
=
snd_soc_card_get_drvdata
(
codec
->
card
);
struct
tegra_alc5632
*
machine
=
snd_soc_card_get_drvdata
(
rtd
->
card
);
snd_soc_jack_new
(
codec
,
"Headset Jack"
,
SND_JACK_HEADSET
,
&
tegra_alc5632_hs_jack
);
...
...
sound/soc/tegra/tegra_max98090.c
View file @
a1cb98ac
...
...
@@ -49,8 +49,7 @@ static int tegra_max98090_asoc_hw_params(struct snd_pcm_substream *substream,
{
struct
snd_soc_pcm_runtime
*
rtd
=
substream
->
private_data
;
struct
snd_soc_dai
*
codec_dai
=
rtd
->
codec_dai
;
struct
snd_soc_codec
*
codec
=
codec_dai
->
codec
;
struct
snd_soc_card
*
card
=
codec
->
card
;
struct
snd_soc_card
*
card
=
rtd
->
card
;
struct
tegra_max98090
*
machine
=
snd_soc_card_get_drvdata
(
card
);
int
srate
,
mclk
;
int
err
;
...
...
@@ -127,7 +126,7 @@ static int tegra_max98090_asoc_init(struct snd_soc_pcm_runtime *rtd)
{
struct
snd_soc_dai
*
codec_dai
=
rtd
->
codec_dai
;
struct
snd_soc_codec
*
codec
=
codec_dai
->
codec
;
struct
tegra_max98090
*
machine
=
snd_soc_card_get_drvdata
(
codec
->
card
);
struct
tegra_max98090
*
machine
=
snd_soc_card_get_drvdata
(
rtd
->
card
);
if
(
gpio_is_valid
(
machine
->
gpio_hp_det
))
{
snd_soc_jack_new
(
codec
,
"Headphones"
,
SND_JACK_HEADPHONE
,
...
...
sound/soc/tegra/tegra_rt5640.c
View file @
a1cb98ac
...
...
@@ -51,8 +51,7 @@ static int tegra_rt5640_asoc_hw_params(struct snd_pcm_substream *substream,
{
struct
snd_soc_pcm_runtime
*
rtd
=
substream
->
private_data
;
struct
snd_soc_dai
*
codec_dai
=
rtd
->
codec_dai
;
struct
snd_soc_codec
*
codec
=
codec_dai
->
codec
;
struct
snd_soc_card
*
card
=
codec
->
card
;
struct
snd_soc_card
*
card
=
rtd
->
card
;
struct
tegra_rt5640
*
machine
=
snd_soc_card_get_drvdata
(
card
);
int
srate
,
mclk
;
int
err
;
...
...
@@ -110,7 +109,7 @@ static int tegra_rt5640_asoc_init(struct snd_soc_pcm_runtime *rtd)
{
struct
snd_soc_dai
*
codec_dai
=
rtd
->
codec_dai
;
struct
snd_soc_codec
*
codec
=
codec_dai
->
codec
;
struct
tegra_rt5640
*
machine
=
snd_soc_card_get_drvdata
(
codec
->
card
);
struct
tegra_rt5640
*
machine
=
snd_soc_card_get_drvdata
(
rtd
->
card
);
snd_soc_jack_new
(
codec
,
"Headphones"
,
SND_JACK_HEADPHONE
,
&
tegra_rt5640_hp_jack
);
...
...
sound/soc/tegra/tegra_wm8753.c
View file @
a1cb98ac
...
...
@@ -55,8 +55,7 @@ static int tegra_wm8753_hw_params(struct snd_pcm_substream *substream,
{
struct
snd_soc_pcm_runtime
*
rtd
=
substream
->
private_data
;
struct
snd_soc_dai
*
codec_dai
=
rtd
->
codec_dai
;
struct
snd_soc_codec
*
codec
=
codec_dai
->
codec
;
struct
snd_soc_card
*
card
=
codec
->
card
;
struct
snd_soc_card
*
card
=
rtd
->
card
;
struct
tegra_wm8753
*
machine
=
snd_soc_card_get_drvdata
(
card
);
int
srate
,
mclk
;
int
err
;
...
...
sound/soc/tegra/tegra_wm8903.c
View file @
a1cb98ac
...
...
@@ -60,8 +60,7 @@ static int tegra_wm8903_hw_params(struct snd_pcm_substream *substream,
{
struct
snd_soc_pcm_runtime
*
rtd
=
substream
->
private_data
;
struct
snd_soc_dai
*
codec_dai
=
rtd
->
codec_dai
;
struct
snd_soc_codec
*
codec
=
codec_dai
->
codec
;
struct
snd_soc_card
*
card
=
codec
->
card
;
struct
snd_soc_card
*
card
=
rtd
->
card
;
struct
tegra_wm8903
*
machine
=
snd_soc_card_get_drvdata
(
card
);
int
srate
,
mclk
;
int
err
;
...
...
@@ -173,7 +172,7 @@ static int tegra_wm8903_init(struct snd_soc_pcm_runtime *rtd)
struct
snd_soc_dai
*
codec_dai
=
rtd
->
codec_dai
;
struct
snd_soc_codec
*
codec
=
codec_dai
->
codec
;
struct
snd_soc_dapm_context
*
dapm
=
&
codec
->
dapm
;
struct
snd_soc_card
*
card
=
codec
->
card
;
struct
snd_soc_card
*
card
=
rtd
->
card
;
struct
tegra_wm8903
*
machine
=
snd_soc_card_get_drvdata
(
card
);
if
(
gpio_is_valid
(
machine
->
gpio_hp_det
))
{
...
...
sound/soc/tegra/trimslice.c
View file @
a1cb98ac
...
...
@@ -50,8 +50,7 @@ static int trimslice_asoc_hw_params(struct snd_pcm_substream *substream,
{
struct
snd_soc_pcm_runtime
*
rtd
=
substream
->
private_data
;
struct
snd_soc_dai
*
codec_dai
=
rtd
->
codec_dai
;
struct
snd_soc_codec
*
codec
=
codec_dai
->
codec
;
struct
snd_soc_card
*
card
=
codec
->
card
;
struct
snd_soc_card
*
card
=
rtd
->
card
;
struct
tegra_trimslice
*
trimslice
=
snd_soc_card_get_drvdata
(
card
);
int
srate
,
mclk
;
int
err
;
...
...
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