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
2914b700
Commit
2914b700
authored
Jun 05, 2015
by
Mark Brown
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'asoc/topic/core' into asoc-next
parents
f1363c40
3e0aa8d8
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
23 additions
and
21 deletions
+23
-21
sound/soc/soc-core.c
sound/soc/soc-core.c
+23
-21
No files found.
sound/soc/soc-core.c
View file @
2914b700
...
...
@@ -92,30 +92,21 @@ static int format_register_str(struct snd_soc_codec *codec,
int
wordsize
=
min_bytes_needed
(
codec
->
driver
->
reg_cache_size
)
*
2
;
int
regsize
=
codec
->
driver
->
reg_word_size
*
2
;
int
ret
;
char
tmpbuf
[
len
+
1
];
char
regbuf
[
regsize
+
1
];
/* since tmpbuf is allocated on the stack, warn the callers if they
* try to abuse this function */
WARN_ON
(
len
>
63
);
/* +2 for ': ' and + 1 for '\n' */
if
(
wordsize
+
regsize
+
2
+
1
!=
len
)
return
-
EINVAL
;
ret
=
snd_soc_read
(
codec
,
reg
);
if
(
ret
<
0
)
{
memset
(
regbuf
,
'X'
,
regsize
);
regbuf
[
regsize
]
=
'\0'
;
}
else
{
snprintf
(
regbuf
,
regsize
+
1
,
"%.*x"
,
regsize
,
ret
);
}
/* prepare the buffer */
snprintf
(
tmpbuf
,
len
+
1
,
"%.*x: %s
\n
"
,
wordsize
,
reg
,
regbuf
);
/* copy it back to the caller without the '\0' */
memcpy
(
buf
,
tmpbuf
,
len
);
sprintf
(
buf
,
"%.*x: "
,
wordsize
,
reg
);
buf
+=
wordsize
+
2
;
ret
=
snd_soc_read
(
codec
,
reg
);
if
(
ret
<
0
)
memset
(
buf
,
'X'
,
regsize
);
else
sprintf
(
buf
,
"%.*x"
,
regsize
,
ret
);
buf
[
regsize
]
=
'\n'
;
/* no NUL-termination needed */
return
0
;
}
...
...
@@ -904,12 +895,17 @@ static struct snd_soc_dai *snd_soc_find_dai(
{
struct
snd_soc_component
*
component
;
struct
snd_soc_dai
*
dai
;
struct
device_node
*
component_of_node
;
lockdep_assert_held
(
&
client_mutex
);
/* Find CPU DAI from registered DAIs*/
list_for_each_entry
(
component
,
&
component_list
,
list
)
{
if
(
dlc
->
of_node
&&
component
->
dev
->
of_node
!=
dlc
->
of_node
)
component_of_node
=
component
->
dev
->
of_node
;
if
(
!
component_of_node
&&
component
->
dev
->
parent
)
component_of_node
=
component
->
dev
->
parent
->
of_node
;
if
(
dlc
->
of_node
&&
component_of_node
!=
dlc
->
of_node
)
continue
;
if
(
dlc
->
name
&&
strcmp
(
component
->
name
,
dlc
->
name
))
continue
;
...
...
@@ -2599,7 +2595,8 @@ static int snd_soc_register_dais(struct snd_soc_component *component,
* the same naming style even though those DAIs are not
* component-less anymore.
*/
if
(
count
==
1
&&
legacy_dai_naming
)
{
if
(
count
==
1
&&
legacy_dai_naming
&&
(
dai_drv
[
i
].
id
==
0
||
dai_drv
[
i
].
name
==
NULL
))
{
dai
->
name
=
fmt_single_name
(
dev
,
&
dai
->
id
);
}
else
{
dai
->
name
=
fmt_multiple_name
(
dev
,
&
dai_drv
[
i
]);
...
...
@@ -3488,11 +3485,16 @@ static int snd_soc_get_dai_name(struct of_phandle_args *args,
const
char
**
dai_name
)
{
struct
snd_soc_component
*
pos
;
struct
device_node
*
component_of_node
;
int
ret
=
-
EPROBE_DEFER
;
mutex_lock
(
&
client_mutex
);
list_for_each_entry
(
pos
,
&
component_list
,
list
)
{
if
(
pos
->
dev
->
of_node
!=
args
->
np
)
component_of_node
=
pos
->
dev
->
of_node
;
if
(
!
component_of_node
&&
pos
->
dev
->
parent
)
component_of_node
=
pos
->
dev
->
parent
->
of_node
;
if
(
component_of_node
!=
args
->
np
)
continue
;
if
(
pos
->
driver
->
of_xlate_dai_name
)
{
...
...
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