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
afcfe435
Commit
afcfe435
authored
Feb 09, 2015
by
Mark Brown
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'asoc/topic/core' into asoc-next
parents
0cee4db2
8f6f9b29
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
40 additions
and
36 deletions
+40
-36
include/sound/soc-dapm.h
include/sound/soc-dapm.h
+1
-1
sound/soc/soc-core.c
sound/soc/soc-core.c
+35
-25
sound/soc/soc-dapm.c
sound/soc/soc-dapm.c
+4
-10
No files found.
include/sound/soc-dapm.h
View file @
afcfe435
...
...
@@ -405,7 +405,7 @@ int snd_soc_dapm_mux_update_power(struct snd_soc_dapm_context *dapm,
struct
snd_soc_dapm_update
*
update
);
/* dapm sys fs - used by the core */
int
snd_soc_dapm_sys_add
(
struct
device
*
dev
)
;
extern
struct
attribute
*
soc_dapm_dev_attrs
[]
;
void
snd_soc_dapm_debugfs_init
(
struct
snd_soc_dapm_context
*
dapm
,
struct
dentry
*
parent
);
...
...
sound/soc/soc-core.c
View file @
afcfe435
...
...
@@ -191,6 +191,39 @@ static ssize_t pmdown_time_set(struct device *dev,
static
DEVICE_ATTR
(
pmdown_time
,
0644
,
pmdown_time_show
,
pmdown_time_set
);
static
struct
attribute
*
soc_dev_attrs
[]
=
{
&
dev_attr_codec_reg
.
attr
,
&
dev_attr_pmdown_time
.
attr
,
NULL
};
static
umode_t
soc_dev_attr_is_visible
(
struct
kobject
*
kobj
,
struct
attribute
*
attr
,
int
idx
)
{
struct
device
*
dev
=
kobj_to_dev
(
kobj
);
struct
snd_soc_pcm_runtime
*
rtd
=
dev_get_drvdata
(
dev
);
if
(
attr
==
&
dev_attr_pmdown_time
.
attr
)
return
attr
->
mode
;
/* always visible */
return
rtd
->
codec
?
attr
->
mode
:
0
;
/* enabled only with codec */
}
static
const
struct
attribute_group
soc_dapm_dev_group
=
{
.
attrs
=
soc_dapm_dev_attrs
,
.
is_visible
=
soc_dev_attr_is_visible
,
};
static
const
struct
attribute_group
soc_dev_roup
=
{
.
attrs
=
soc_dev_attrs
,
.
is_visible
=
soc_dev_attr_is_visible
,
};
static
const
struct
attribute_group
*
soc_dev_attr_groups
[]
=
{
&
soc_dapm_dev_group
,
&
soc_dev_roup
,
NULL
};
#ifdef CONFIG_DEBUG_FS
static
ssize_t
codec_reg_read_file
(
struct
file
*
file
,
char
__user
*
user_buf
,
size_t
count
,
loff_t
*
ppos
)
...
...
@@ -949,8 +982,6 @@ static void soc_remove_link_dais(struct snd_soc_card *card, int num, int order)
/* unregister the rtd device */
if
(
rtd
->
dev_registered
)
{
device_remove_file
(
rtd
->
dev
,
&
dev_attr_pmdown_time
);
device_remove_file
(
rtd
->
dev
,
&
dev_attr_codec_reg
);
device_unregister
(
rtd
->
dev
);
rtd
->
dev_registered
=
0
;
}
...
...
@@ -1120,6 +1151,7 @@ static int soc_post_component_init(struct snd_soc_pcm_runtime *rtd,
device_initialize
(
rtd
->
dev
);
rtd
->
dev
->
parent
=
rtd
->
card
->
dev
;
rtd
->
dev
->
release
=
rtd_release
;
rtd
->
dev
->
groups
=
soc_dev_attr_groups
;
dev_set_name
(
rtd
->
dev
,
"%s"
,
name
);
dev_set_drvdata
(
rtd
->
dev
,
rtd
);
mutex_init
(
&
rtd
->
pcm_mutex
);
...
...
@@ -1136,23 +1168,6 @@ static int soc_post_component_init(struct snd_soc_pcm_runtime *rtd,
return
ret
;
}
rtd
->
dev_registered
=
1
;
if
(
rtd
->
codec
)
{
/* add DAPM sysfs entries for this codec */
ret
=
snd_soc_dapm_sys_add
(
rtd
->
dev
);
if
(
ret
<
0
)
dev_err
(
rtd
->
dev
,
"ASoC: failed to add codec dapm sysfs entries: %d
\n
"
,
ret
);
/* add codec sysfs entries */
ret
=
device_create_file
(
rtd
->
dev
,
&
dev_attr_codec_reg
);
if
(
ret
<
0
)
dev_err
(
rtd
->
dev
,
"ASoC: failed to add codec sysfs files: %d
\n
"
,
ret
);
}
return
0
;
}
...
...
@@ -1308,11 +1323,6 @@ static int soc_probe_link_dais(struct snd_soc_card *card, int num, int order)
}
#endif
ret
=
device_create_file
(
rtd
->
dev
,
&
dev_attr_pmdown_time
);
if
(
ret
<
0
)
dev_warn
(
rtd
->
dev
,
"ASoC: failed to add pmdown_time sysfs: %d
\n
"
,
ret
);
if
(
cpu_dai
->
driver
->
compress_dai
)
{
/*create compress_device"*/
ret
=
soc_new_compress
(
rtd
,
num
);
...
...
@@ -2383,8 +2393,8 @@ int snd_soc_unregister_card(struct snd_soc_card *card)
card
->
instantiated
=
false
;
snd_soc_dapm_shutdown
(
card
);
soc_cleanup_card_resources
(
card
);
dev_dbg
(
card
->
dev
,
"ASoC: Unregistered card '%s'
\n
"
,
card
->
name
);
}
dev_dbg
(
card
->
dev
,
"ASoC: Unregistered card '%s'
\n
"
,
card
->
name
);
return
0
;
}
...
...
sound/soc/soc-dapm.c
View file @
afcfe435
...
...
@@ -2127,15 +2127,10 @@ static ssize_t dapm_widget_show(struct device *dev,
static
DEVICE_ATTR
(
dapm_widget
,
0444
,
dapm_widget_show
,
NULL
);
int
snd_soc_dapm_sys_add
(
struct
device
*
dev
)
{
return
device_create_file
(
dev
,
&
dev_attr_dapm_widget
);
}
static
void
snd_soc_dapm_sys_remove
(
struct
device
*
dev
)
{
device_remove_file
(
dev
,
&
dev_attr_dapm_widget
);
}
struct
attribute
*
soc_dapm_dev_attrs
[]
=
{
&
dev_attr_dapm_widget
.
attr
,
NULL
};
static
void
dapm_free_path
(
struct
snd_soc_dapm_path
*
path
)
{
...
...
@@ -3830,7 +3825,6 @@ EXPORT_SYMBOL_GPL(snd_soc_dapm_ignore_suspend);
*/
void
snd_soc_dapm_free
(
struct
snd_soc_dapm_context
*
dapm
)
{
snd_soc_dapm_sys_remove
(
dapm
->
dev
);
dapm_debugfs_cleanup
(
dapm
);
dapm_free_widgets
(
dapm
);
list_del
(
&
dapm
->
list
);
...
...
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