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
555df91a
Commit
555df91a
authored
Feb 11, 2013
by
Mark Brown
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'asoc/topic/wm8962' into asoc-next
parents
fa10a92b
346f1d40
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
36 additions
and
17 deletions
+36
-17
Documentation/devicetree/bindings/sound/wm8962.txt
Documentation/devicetree/bindings/sound/wm8962.txt
+16
-0
sound/soc/codecs/wm8962.c
sound/soc/codecs/wm8962.c
+20
-17
No files found.
Documentation/devicetree/bindings/sound/wm8962.txt
0 → 100644
View file @
555df91a
WM8962 audio CODEC
This device supports I2C only.
Required properties:
- compatible : "wlf,wm8962"
- reg : the I2C address of the device.
Example:
codec: wm8962@1a {
compatible = "wlf,wm8962";
reg = <0x1a>;
};
sound/soc/codecs/wm8962.c
View file @
555df91a
...
...
@@ -2873,22 +2873,20 @@ static int wm8962_set_fll(struct snd_soc_codec *codec, int fll_id, int source,
ret
=
0
;
if
(
fll1
&
WM8962_FLL_ENA
)
{
/* This should be a massive overestimate but go even
* higher if we'll error out
*/
if
(
wm8962
->
irq
)
timeout
=
msecs_to_jiffies
(
5
);
else
timeout
=
msecs_to_jiffies
(
1
);
/* This should be a massive overestimate but go even
* higher if we'll error out
*/
if
(
wm8962
->
irq
)
timeout
=
msecs_to_jiffies
(
5
);
else
timeout
=
msecs_to_jiffies
(
1
);
timeout
=
wait_for_completion_timeout
(
&
wm8962
->
fll_lock
,
timeout
);
timeout
=
wait_for_completion_timeout
(
&
wm8962
->
fll_lock
,
timeout
);
if
(
timeout
==
0
&&
wm8962
->
irq
)
{
dev_err
(
codec
->
dev
,
"FLL lock timed out"
);
ret
=
-
ETIMEDOUT
;
}
if
(
timeout
==
0
&&
wm8962
->
irq
)
{
dev_err
(
codec
->
dev
,
"FLL lock timed out"
);
ret
=
-
ETIMEDOUT
;
}
wm8962
->
fll_fref
=
Fref
;
...
...
@@ -3189,7 +3187,7 @@ static void wm8962_init_beep(struct snd_soc_codec *codec)
struct
wm8962_priv
*
wm8962
=
snd_soc_codec_get_drvdata
(
codec
);
int
ret
;
wm8962
->
beep
=
input_allocate_device
(
);
wm8962
->
beep
=
devm_input_allocate_device
(
codec
->
dev
);
if
(
!
wm8962
->
beep
)
{
dev_err
(
codec
->
dev
,
"Failed to allocate beep device
\n
"
);
return
;
...
...
@@ -3210,7 +3208,6 @@ static void wm8962_init_beep(struct snd_soc_codec *codec)
ret
=
input_register_device
(
wm8962
->
beep
);
if
(
ret
!=
0
)
{
input_free_device
(
wm8962
->
beep
);
wm8962
->
beep
=
NULL
;
dev_err
(
codec
->
dev
,
"Failed to register beep device
\n
"
);
}
...
...
@@ -3227,7 +3224,6 @@ static void wm8962_free_beep(struct snd_soc_codec *codec)
struct
wm8962_priv
*
wm8962
=
snd_soc_codec_get_drvdata
(
codec
);
device_remove_file
(
codec
->
dev
,
&
dev_attr_beep
);
input_unregister_device
(
wm8962
->
beep
);
cancel_work_sync
(
&
wm8962
->
beep_work
);
wm8962
->
beep
=
NULL
;
...
...
@@ -3758,10 +3754,17 @@ static const struct i2c_device_id wm8962_i2c_id[] = {
};
MODULE_DEVICE_TABLE
(
i2c
,
wm8962_i2c_id
);
static
const
struct
of_device_id
wm8962_of_match
[]
=
{
{
.
compatible
=
"wlf,wm8962"
,
},
{
}
};
MODULE_DEVICE_TABLE
(
of
,
wm8962_of_match
);
static
struct
i2c_driver
wm8962_i2c_driver
=
{
.
driver
=
{
.
name
=
"wm8962"
,
.
owner
=
THIS_MODULE
,
.
of_match_table
=
wm8962_of_match
,
.
pm
=
&
wm8962_pm
,
},
.
probe
=
wm8962_i2c_probe
,
...
...
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