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
de2e87ba
Commit
de2e87ba
authored
Aug 22, 2013
by
Mark Brown
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'asoc/topic/ak4104' into asoc-next
parents
6234eabf
a5db4d50
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
16 additions
and
18 deletions
+16
-18
sound/soc/codecs/ak4104.c
sound/soc/codecs/ak4104.c
+16
-18
No files found.
sound/soc/codecs/ak4104.c
View file @
de2e87ba
...
...
@@ -51,6 +51,17 @@ struct ak4104_private {
struct
regmap
*
regmap
;
};
static
const
struct
snd_soc_dapm_widget
ak4104_dapm_widgets
[]
=
{
SND_SOC_DAPM_PGA
(
"TXE"
,
AK4104_REG_TX
,
AK4104_TX_TXE
,
0
,
NULL
,
0
),
SND_SOC_DAPM_OUTPUT
(
"TX"
),
};
static
const
struct
snd_soc_dapm_route
ak4104_dapm_routes
[]
=
{
{
"TXE"
,
NULL
,
"Playback"
},
{
"TX"
,
NULL
,
"TXE"
},
};
static
int
ak4104_set_dai_fmt
(
struct
snd_soc_dai
*
codec_dai
,
unsigned
int
format
)
{
...
...
@@ -138,29 +149,11 @@ static int ak4104_hw_params(struct snd_pcm_substream *substream,
if
(
ret
<
0
)
return
ret
;
/* enable transmitter */
ret
=
regmap_update_bits
(
ak4104
->
regmap
,
AK4104_REG_TX
,
AK4104_TX_TXE
,
AK4104_TX_TXE
);
if
(
ret
<
0
)
return
ret
;
return
0
;
}
static
int
ak4104_hw_free
(
struct
snd_pcm_substream
*
substream
,
struct
snd_soc_dai
*
dai
)
{
struct
snd_soc_codec
*
codec
=
dai
->
codec
;
struct
ak4104_private
*
ak4104
=
snd_soc_codec_get_drvdata
(
codec
);
/* disable transmitter */
return
regmap_update_bits
(
ak4104
->
regmap
,
AK4104_REG_TX
,
AK4104_TX_TXE
,
0
);
}
static
const
struct
snd_soc_dai_ops
ak4101_dai_ops
=
{
.
hw_params
=
ak4104_hw_params
,
.
hw_free
=
ak4104_hw_free
,
.
set_fmt
=
ak4104_set_dai_fmt
,
};
...
...
@@ -214,6 +207,11 @@ static int ak4104_remove(struct snd_soc_codec *codec)
static
struct
snd_soc_codec_driver
soc_codec_device_ak4104
=
{
.
probe
=
ak4104_probe
,
.
remove
=
ak4104_remove
,
.
dapm_widgets
=
ak4104_dapm_widgets
,
.
num_dapm_widgets
=
ARRAY_SIZE
(
ak4104_dapm_widgets
),
.
dapm_routes
=
ak4104_dapm_routes
,
.
num_dapm_routes
=
ARRAY_SIZE
(
ak4104_dapm_routes
),
};
static
const
struct
regmap_config
ak4104_regmap
=
{
...
...
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