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
Kirill Smelkov
linux
Commits
81575670
Commit
81575670
authored
Aug 22, 2013
by
Mark Brown
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'asoc/topic/core' into asoc-next
parents
e7ac4fb6
2820f615
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
19 additions
and
93 deletions
+19
-93
MAINTAINERS
MAINTAINERS
+1
-0
include/sound/soc.h
include/sound/soc.h
+1
-5
sound/soc/codecs/Kconfig
sound/soc/codecs/Kconfig
+1
-0
sound/soc/soc-core.c
sound/soc/soc-core.c
+12
-55
sound/soc/soc-dapm.c
sound/soc/soc-dapm.c
+0
-30
sound/soc/soc-jack.c
sound/soc/soc-jack.c
+1
-1
sound/soc/soc-pcm.c
sound/soc/soc-pcm.c
+3
-2
No files found.
MAINTAINERS
View file @
81575670
...
@@ -7683,6 +7683,7 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
...
@@ -7683,6 +7683,7 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
W: http://alsa-project.org/main/index.php/ASoC
W: http://alsa-project.org/main/index.php/ASoC
S: Supported
S: Supported
F: Documentation/sound/alsa/soc/
F: sound/soc/
F: sound/soc/
F: include/sound/soc*
F: include/sound/soc*
...
...
include/sound/soc.h
View file @
81575670
...
@@ -234,7 +234,7 @@
...
@@ -234,7 +234,7 @@
.private_value = xdata }
.private_value = xdata }
#define SOC_ENUM_EXT(xname, xenum, xhandler_get, xhandler_put) \
#define SOC_ENUM_EXT(xname, xenum, xhandler_get, xhandler_put) \
{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, \
{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, \
.info = snd_soc_info_enum_
ext
, \
.info = snd_soc_info_enum_
double
, \
.get = xhandler_get, .put = xhandler_put, \
.get = xhandler_get, .put = xhandler_put, \
.private_value = (unsigned long)&xenum }
.private_value = (unsigned long)&xenum }
...
@@ -489,8 +489,6 @@ int snd_soc_add_dai_controls(struct snd_soc_dai *dai,
...
@@ -489,8 +489,6 @@ int snd_soc_add_dai_controls(struct snd_soc_dai *dai,
const
struct
snd_kcontrol_new
*
controls
,
int
num_controls
);
const
struct
snd_kcontrol_new
*
controls
,
int
num_controls
);
int
snd_soc_info_enum_double
(
struct
snd_kcontrol
*
kcontrol
,
int
snd_soc_info_enum_double
(
struct
snd_kcontrol
*
kcontrol
,
struct
snd_ctl_elem_info
*
uinfo
);
struct
snd_ctl_elem_info
*
uinfo
);
int
snd_soc_info_enum_ext
(
struct
snd_kcontrol
*
kcontrol
,
struct
snd_ctl_elem_info
*
uinfo
);
int
snd_soc_get_enum_double
(
struct
snd_kcontrol
*
kcontrol
,
int
snd_soc_get_enum_double
(
struct
snd_kcontrol
*
kcontrol
,
struct
snd_ctl_elem_value
*
ucontrol
);
struct
snd_ctl_elem_value
*
ucontrol
);
int
snd_soc_put_enum_double
(
struct
snd_kcontrol
*
kcontrol
,
int
snd_soc_put_enum_double
(
struct
snd_kcontrol
*
kcontrol
,
...
@@ -501,8 +499,6 @@ int snd_soc_put_value_enum_double(struct snd_kcontrol *kcontrol,
...
@@ -501,8 +499,6 @@ int snd_soc_put_value_enum_double(struct snd_kcontrol *kcontrol,
struct
snd_ctl_elem_value
*
ucontrol
);
struct
snd_ctl_elem_value
*
ucontrol
);
int
snd_soc_info_volsw
(
struct
snd_kcontrol
*
kcontrol
,
int
snd_soc_info_volsw
(
struct
snd_kcontrol
*
kcontrol
,
struct
snd_ctl_elem_info
*
uinfo
);
struct
snd_ctl_elem_info
*
uinfo
);
int
snd_soc_info_volsw_ext
(
struct
snd_kcontrol
*
kcontrol
,
struct
snd_ctl_elem_info
*
uinfo
);
#define snd_soc_info_bool_ext snd_ctl_boolean_mono_info
#define snd_soc_info_bool_ext snd_ctl_boolean_mono_info
int
snd_soc_get_volsw
(
struct
snd_kcontrol
*
kcontrol
,
int
snd_soc_get_volsw
(
struct
snd_kcontrol
*
kcontrol
,
struct
snd_ctl_elem_value
*
ucontrol
);
struct
snd_ctl_elem_value
*
ucontrol
);
...
...
sound/soc/codecs/Kconfig
View file @
81575670
...
@@ -10,6 +10,7 @@ config SND_SOC_I2C_AND_SPI
...
@@ -10,6 +10,7 @@ config SND_SOC_I2C_AND_SPI
config SND_SOC_ALL_CODECS
config SND_SOC_ALL_CODECS
tristate "Build all ASoC CODEC drivers"
tristate "Build all ASoC CODEC drivers"
depends on COMPILE_TEST
select SND_SOC_88PM860X if MFD_88PM860X
select SND_SOC_88PM860X if MFD_88PM860X
select SND_SOC_L3
select SND_SOC_L3
select SND_SOC_AB8500_CODEC if ABX500_CORE
select SND_SOC_AB8500_CODEC if ABX500_CORE
...
...
sound/soc/soc-core.c
View file @
81575670
...
@@ -50,8 +50,6 @@
...
@@ -50,8 +50,6 @@
#define NAME_SIZE 32
#define NAME_SIZE 32
static
DECLARE_WAIT_QUEUE_HEAD
(
soc_pm_waitq
);
#ifdef CONFIG_DEBUG_FS
#ifdef CONFIG_DEBUG_FS
struct
dentry
*
snd_soc_debugfs_root
;
struct
dentry
*
snd_soc_debugfs_root
;
EXPORT_SYMBOL_GPL
(
snd_soc_debugfs_root
);
EXPORT_SYMBOL_GPL
(
snd_soc_debugfs_root
);
...
@@ -543,6 +541,15 @@ static int soc_ac97_dev_register(struct snd_soc_codec *codec)
...
@@ -543,6 +541,15 @@ static int soc_ac97_dev_register(struct snd_soc_codec *codec)
}
}
#endif
#endif
static
void
codec2codec_close_delayed_work
(
struct
work_struct
*
work
)
{
/* Currently nothing to do for c2c links
* Since c2c links are internal nodes in the DAPM graph and
* don't interface with the outside world or application layer
* we don't have to do any special handling on close.
*/
}
#ifdef CONFIG_PM_SLEEP
#ifdef CONFIG_PM_SLEEP
/* powers down audio subsystem for suspend */
/* powers down audio subsystem for suspend */
int
snd_soc_suspend
(
struct
device
*
dev
)
int
snd_soc_suspend
(
struct
device
*
dev
)
...
@@ -1441,6 +1448,9 @@ static int soc_probe_link_dais(struct snd_soc_card *card, int num, int order)
...
@@ -1441,6 +1448,9 @@ static int soc_probe_link_dais(struct snd_soc_card *card, int num, int order)
return
ret
;
return
ret
;
}
}
}
else
{
}
else
{
INIT_DELAYED_WORK
(
&
rtd
->
delayed_work
,
codec2codec_close_delayed_work
);
/* link the DAI widgets */
/* link the DAI widgets */
play_w
=
codec_dai
->
playback_widget
;
play_w
=
codec_dai
->
playback_widget
;
capture_w
=
cpu_dai
->
capture_widget
;
capture_w
=
cpu_dai
->
capture_widget
;
...
@@ -2709,59 +2719,6 @@ int snd_soc_put_value_enum_double(struct snd_kcontrol *kcontrol,
...
@@ -2709,59 +2719,6 @@ int snd_soc_put_value_enum_double(struct snd_kcontrol *kcontrol,
}
}
EXPORT_SYMBOL_GPL
(
snd_soc_put_value_enum_double
);
EXPORT_SYMBOL_GPL
(
snd_soc_put_value_enum_double
);
/**
* snd_soc_info_enum_ext - external enumerated single mixer info callback
* @kcontrol: mixer control
* @uinfo: control element information
*
* Callback to provide information about an external enumerated
* single mixer.
*
* Returns 0 for success.
*/
int
snd_soc_info_enum_ext
(
struct
snd_kcontrol
*
kcontrol
,
struct
snd_ctl_elem_info
*
uinfo
)
{
struct
soc_enum
*
e
=
(
struct
soc_enum
*
)
kcontrol
->
private_value
;
uinfo
->
type
=
SNDRV_CTL_ELEM_TYPE_ENUMERATED
;
uinfo
->
count
=
1
;
uinfo
->
value
.
enumerated
.
items
=
e
->
max
;
if
(
uinfo
->
value
.
enumerated
.
item
>
e
->
max
-
1
)
uinfo
->
value
.
enumerated
.
item
=
e
->
max
-
1
;
strcpy
(
uinfo
->
value
.
enumerated
.
name
,
e
->
texts
[
uinfo
->
value
.
enumerated
.
item
]);
return
0
;
}
EXPORT_SYMBOL_GPL
(
snd_soc_info_enum_ext
);
/**
* snd_soc_info_volsw_ext - external single mixer info callback
* @kcontrol: mixer control
* @uinfo: control element information
*
* Callback to provide information about a single external mixer control.
*
* Returns 0 for success.
*/
int
snd_soc_info_volsw_ext
(
struct
snd_kcontrol
*
kcontrol
,
struct
snd_ctl_elem_info
*
uinfo
)
{
int
max
=
kcontrol
->
private_value
;
if
(
max
==
1
&&
!
strstr
(
kcontrol
->
id
.
name
,
" Volume"
))
uinfo
->
type
=
SNDRV_CTL_ELEM_TYPE_BOOLEAN
;
else
uinfo
->
type
=
SNDRV_CTL_ELEM_TYPE_INTEGER
;
uinfo
->
count
=
1
;
uinfo
->
value
.
integer
.
min
=
0
;
uinfo
->
value
.
integer
.
max
=
max
;
return
0
;
}
EXPORT_SYMBOL_GPL
(
snd_soc_info_volsw_ext
);
/**
/**
* snd_soc_info_volsw - single mixer info callback
* snd_soc_info_volsw - single mixer info callback
* @kcontrol: mixer control
* @kcontrol: mixer control
...
...
sound/soc/soc-dapm.c
View file @
81575670
...
@@ -174,36 +174,6 @@ static inline struct snd_soc_dapm_widget *dapm_cnew_widget(
...
@@ -174,36 +174,6 @@ static inline struct snd_soc_dapm_widget *dapm_cnew_widget(
return
kmemdup
(
_widget
,
sizeof
(
*
_widget
),
GFP_KERNEL
);
return
kmemdup
(
_widget
,
sizeof
(
*
_widget
),
GFP_KERNEL
);
}
}
/* get snd_card from DAPM context */
static
inline
struct
snd_card
*
dapm_get_snd_card
(
struct
snd_soc_dapm_context
*
dapm
)
{
if
(
dapm
->
codec
)
return
dapm
->
codec
->
card
->
snd_card
;
else
if
(
dapm
->
platform
)
return
dapm
->
platform
->
card
->
snd_card
;
else
BUG
();
/* unreachable */
return
NULL
;
}
/* get soc_card from DAPM context */
static
inline
struct
snd_soc_card
*
dapm_get_soc_card
(
struct
snd_soc_dapm_context
*
dapm
)
{
if
(
dapm
->
codec
)
return
dapm
->
codec
->
card
;
else
if
(
dapm
->
platform
)
return
dapm
->
platform
->
card
;
else
BUG
();
/* unreachable */
return
NULL
;
}
static
void
dapm_reset
(
struct
snd_soc_card
*
card
)
static
void
dapm_reset
(
struct
snd_soc_card
*
card
)
{
{
struct
snd_soc_dapm_widget
*
w
;
struct
snd_soc_dapm_widget
*
w
;
...
...
sound/soc/soc-jack.c
View file @
81575670
...
@@ -263,7 +263,7 @@ static irqreturn_t gpio_handler(int irq, void *data)
...
@@ -263,7 +263,7 @@ static irqreturn_t gpio_handler(int irq, void *data)
if
(
device_may_wakeup
(
dev
))
if
(
device_may_wakeup
(
dev
))
pm_wakeup_event
(
dev
,
gpio
->
debounce_time
+
50
);
pm_wakeup_event
(
dev
,
gpio
->
debounce_time
+
50
);
schedule_delayed_work
(
&
gpio
->
work
,
queue_delayed_work
(
system_power_efficient_wq
,
&
gpio
->
work
,
msecs_to_jiffies
(
gpio
->
debounce_time
));
msecs_to_jiffies
(
gpio
->
debounce_time
));
return
IRQ_HANDLED
;
return
IRQ_HANDLED
;
...
...
sound/soc/soc-pcm.c
View file @
81575670
...
@@ -411,8 +411,9 @@ static int soc_pcm_close(struct snd_pcm_substream *substream)
...
@@ -411,8 +411,9 @@ static int soc_pcm_close(struct snd_pcm_substream *substream)
}
else
{
}
else
{
/* start delayed pop wq here for playback streams */
/* start delayed pop wq here for playback streams */
rtd
->
pop_wait
=
1
;
rtd
->
pop_wait
=
1
;
schedule_delayed_work
(
&
rtd
->
delayed_work
,
queue_delayed_work
(
system_power_efficient_wq
,
msecs_to_jiffies
(
rtd
->
pmdown_time
));
&
rtd
->
delayed_work
,
msecs_to_jiffies
(
rtd
->
pmdown_time
));
}
}
}
else
{
}
else
{
/* capture streams can be powered down now */
/* capture streams can be powered down now */
...
...
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