Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linux-davinci
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
linux
linux-davinci
Commits
416356fc
Commit
416356fc
authored
Jun 30, 2009
by
Mark Brown
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ASoC: Convert to dev_pm_ops
Signed-off-by:
Mark Brown
<
broonie@opensource.wolfsonmicro.com
>
parent
9ea21ebc
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
19 additions
and
11 deletions
+19
-11
sound/soc/soc-core.c
sound/soc/soc-core.c
+19
-11
No files found.
sound/soc/soc-core.c
View file @
416356fc
...
@@ -619,8 +619,9 @@ static struct snd_pcm_ops soc_pcm_ops = {
...
@@ -619,8 +619,9 @@ static struct snd_pcm_ops soc_pcm_ops = {
#ifdef CONFIG_PM
#ifdef CONFIG_PM
/* powers down audio subsystem for suspend */
/* powers down audio subsystem for suspend */
static
int
soc_suspend
(
struct
platform_device
*
pdev
,
pm_message_t
state
)
static
int
soc_suspend
(
struct
device
*
dev
)
{
{
struct
platform_device
*
pdev
=
to_platform_device
(
dev
);
struct
snd_soc_device
*
socdev
=
platform_get_drvdata
(
pdev
);
struct
snd_soc_device
*
socdev
=
platform_get_drvdata
(
pdev
);
struct
snd_soc_card
*
card
=
socdev
->
card
;
struct
snd_soc_card
*
card
=
socdev
->
card
;
struct
snd_soc_platform
*
platform
=
card
->
platform
;
struct
snd_soc_platform
*
platform
=
card
->
platform
;
...
@@ -656,7 +657,7 @@ static int soc_suspend(struct platform_device *pdev, pm_message_t state)
...
@@ -656,7 +657,7 @@ static int soc_suspend(struct platform_device *pdev, pm_message_t state)
snd_pcm_suspend_all
(
card
->
dai_link
[
i
].
pcm
);
snd_pcm_suspend_all
(
card
->
dai_link
[
i
].
pcm
);
if
(
card
->
suspend_pre
)
if
(
card
->
suspend_pre
)
card
->
suspend_pre
(
pdev
,
state
);
card
->
suspend_pre
(
pdev
,
PMSG_SUSPEND
);
for
(
i
=
0
;
i
<
card
->
num_links
;
i
++
)
{
for
(
i
=
0
;
i
<
card
->
num_links
;
i
++
)
{
struct
snd_soc_dai
*
cpu_dai
=
card
->
dai_link
[
i
].
cpu_dai
;
struct
snd_soc_dai
*
cpu_dai
=
card
->
dai_link
[
i
].
cpu_dai
;
...
@@ -682,7 +683,7 @@ static int soc_suspend(struct platform_device *pdev, pm_message_t state)
...
@@ -682,7 +683,7 @@ static int soc_suspend(struct platform_device *pdev, pm_message_t state)
}
}
if
(
codec_dev
->
suspend
)
if
(
codec_dev
->
suspend
)
codec_dev
->
suspend
(
pdev
,
state
);
codec_dev
->
suspend
(
pdev
,
PMSG_SUSPEND
);
for
(
i
=
0
;
i
<
card
->
num_links
;
i
++
)
{
for
(
i
=
0
;
i
<
card
->
num_links
;
i
++
)
{
struct
snd_soc_dai
*
cpu_dai
=
card
->
dai_link
[
i
].
cpu_dai
;
struct
snd_soc_dai
*
cpu_dai
=
card
->
dai_link
[
i
].
cpu_dai
;
...
@@ -691,7 +692,7 @@ static int soc_suspend(struct platform_device *pdev, pm_message_t state)
...
@@ -691,7 +692,7 @@ static int soc_suspend(struct platform_device *pdev, pm_message_t state)
}
}
if
(
card
->
suspend_post
)
if
(
card
->
suspend_post
)
card
->
suspend_post
(
pdev
,
state
);
card
->
suspend_post
(
pdev
,
PMSG_SUSPEND
);
return
0
;
return
0
;
}
}
...
@@ -765,8 +766,9 @@ static void soc_resume_deferred(struct work_struct *work)
...
@@ -765,8 +766,9 @@ static void soc_resume_deferred(struct work_struct *work)
}
}
/* powers up audio subsystem after a suspend */
/* powers up audio subsystem after a suspend */
static
int
soc_resume
(
struct
platform_device
*
p
dev
)
static
int
soc_resume
(
struct
device
*
dev
)
{
{
struct
platform_device
*
pdev
=
to_platform_device
(
dev
);
struct
snd_soc_device
*
socdev
=
platform_get_drvdata
(
pdev
);
struct
snd_soc_device
*
socdev
=
platform_get_drvdata
(
pdev
);
struct
snd_soc_card
*
card
=
socdev
->
card
;
struct
snd_soc_card
*
card
=
socdev
->
card
;
struct
snd_soc_dai
*
cpu_dai
=
card
->
dai_link
[
0
].
cpu_dai
;
struct
snd_soc_dai
*
cpu_dai
=
card
->
dai_link
[
0
].
cpu_dai
;
...
@@ -826,7 +828,6 @@ int snd_soc_resume_device(struct device *dev)
...
@@ -826,7 +828,6 @@ int snd_soc_resume_device(struct device *dev)
return
0
;
return
0
;
}
}
EXPORT_SYMBOL_GPL
(
snd_soc_resume_device
);
EXPORT_SYMBOL_GPL
(
snd_soc_resume_device
);
#else
#else
#define soc_suspend NULL
#define soc_suspend NULL
#define soc_resume NULL
#define soc_resume NULL
...
@@ -1020,32 +1021,39 @@ static int soc_remove(struct platform_device *pdev)
...
@@ -1020,32 +1021,39 @@ static int soc_remove(struct platform_device *pdev)
return
0
;
return
0
;
}
}
static
void
soc_shutdown
(
struct
platform_device
*
p
dev
)
static
int
soc_poweroff
(
struct
device
*
dev
)
{
{
struct
platform_device
*
pdev
=
to_platform_device
(
dev
);
struct
snd_soc_device
*
socdev
=
platform_get_drvdata
(
pdev
);
struct
snd_soc_device
*
socdev
=
platform_get_drvdata
(
pdev
);
struct
snd_soc_card
*
card
=
socdev
->
card
;
struct
snd_soc_card
*
card
=
socdev
->
card
;
if
(
!
card
->
instantiated
)
if
(
!
card
->
instantiated
)
return
;
return
0
;
/* Flush out pmdown_time work - we actually do want to run it
/* Flush out pmdown_time work - we actually do want to run it
* now, we're shutting down so no imminent restart. */
* now, we're shutting down so no imminent restart. */
run_delayed_work
(
&
card
->
delayed_work
);
run_delayed_work
(
&
card
->
delayed_work
);
snd_soc_dapm_shutdown
(
socdev
);
snd_soc_dapm_shutdown
(
socdev
);
return
0
;
}
}
static
struct
dev_pm_ops
soc_pm_ops
=
{
.
suspend
=
soc_suspend
,
.
resume
=
soc_resume
,
.
poweroff
=
soc_poweroff
,
};
/* ASoC platform driver */
/* ASoC platform driver */
static
struct
platform_driver
soc_driver
=
{
static
struct
platform_driver
soc_driver
=
{
.
driver
=
{
.
driver
=
{
.
name
=
"soc-audio"
,
.
name
=
"soc-audio"
,
.
owner
=
THIS_MODULE
,
.
owner
=
THIS_MODULE
,
.
pm
=
&
soc_pm_ops
,
},
},
.
probe
=
soc_probe
,
.
probe
=
soc_probe
,
.
remove
=
soc_remove
,
.
remove
=
soc_remove
,
.
suspend
=
soc_suspend
,
.
resume
=
soc_resume
,
.
shutdown
=
soc_shutdown
,
};
};
/* create a new pcm */
/* create a new pcm */
...
...
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