05 Mar, 2009
1 commit
-
Considering the fact that most cpu_dai or codec_dai are using a same
'snd_soc_dai_ops' for several similar interfaces, 'ops' would be better
made a pointer instead, to make sharing easier and code a bit cleaner.The patch below is rather preliminary since the asoc tree is being
actively developed, and this touches almost every piece of code,
(and possibly many others in development need to be changed as
well). Building of all codecs are OK, yet to every SoC, I didn't test
that.Signed-off-by: Eric Miao
Acked-by: Timur Tabi
Signed-off-by: Mark Brown
13 Feb, 2009
2 commits
-
ASoC supports both explicit codec drivers for AC97 devices and a simple
driver which uses the standard ALSA AC97 framework for codec support.
When used with the generic AC97 codec support that will provide the
ad hoc AC97 device for drivers like touchscreens to attach to so the
core shouldn't do so.Reported-by: Manuel Lauss
Signed-off-by: Mark Brown
28 Jan, 2009
1 commit
-
Conflicts:
sound/soc/soc-core.c
27 Jan, 2009
1 commit
-
This is a further stage on the road to refactoring away the ASoC
platform device.Signed-off-by: Mark Brown
12 Jan, 2009
1 commit
-
Convert from snd_card_new() to the new snd_card_create() function
in other sound subdirectories.Signed-off-by: Takashi Iwai
09 Jan, 2009
2 commits
-
Many codec drivers were implementing cookie-cutter copies of the function
that adds kcontrols to the codec.This patch moves this code to a common function snd_soc_add_controls() in
soc-core.c and updates all drivers using copies of this function to use the
new common version.[Edited to raise priority of error log message and document parameters.
-- broonie]Signed-off-by: Ian Molton
Signed-off-by: Mark Brown
08 Jan, 2009
1 commit
-
Merge the recently introduced soc_value_enum structure to the soc_enum.
The value based enums are still handled separately from the normal enum types,
but with the merge some of the newly introduced functions can be removed.Signed-off-by: Peter Ujfalusi
Signed-off-by: Mark Brown
06 Jan, 2009
1 commit
-
This patch introduces a new enum type.
In this enum type each enumerated items referred with a value.This new enum type can handle enums encoded in bitfield, or any other
weird ways. twl4030 codec has several mux selection register, where the
input/output mux is coded in a bitfield. With the normal enum type this type
of mux can not be handled in a clean way.Signed-off-by: Peter Ujfalusi
Signed-off-by: Mark Brown
01 Jan, 2009
1 commit
-
Almost all parameters that have been misnamed in the comments.
Signed-off-by: Mark Brown
10 Dec, 2008
2 commits
-
Another part of the backporting of Liam's ASoC v2 work. Using this is
more complicated than the other registration types since currently the
codec is instantiated during the probe of the ASoC device so we can't
currently readily wait for the codec to register.Signed-off-by: Mark Brown
-
The module init entries should be __init instead of __devinit.
Signed-off-by: Takashi Iwai
09 Dec, 2008
5 commits
-
This will allow codec drivers to be refactored to allow them to be
registered out of line with the ASoC device registration.Signed-off-by: Mark Brown
-
Use the lists of platforms, platform DAIs and cards to check to see that
everything has registered. Since relationships are still specified by
direct references to the structures in the drivers and the drivers all
register everything at modprobe there should be no practical effect yet.Signed-off-by: Mark Brown
-
ASoC v2 allows platform drivers to instantiate independantly of the
overall ASoC card. This API allows drivers to notify the core when
they are registered.Signed-off-by: Mark Brown
-
Add API calls to register and unregister DAIs with the core. Currently
these APIs are ineffective. Since multiple DAIs for a given device are
a common case bulk variants are provided.Signed-off-by: Mark Brown
-
ASoC v2 allows cards, codecs and platforms to instantiate separately,
with the overall ASoC device only being instantiated once all the
required components have registered. As part of backporting Liam's work
introduce an initial version of the card registration functions. At
present these do nothing active and are internal only, they will be
exposed to machine drivers after further backporting. Adding this now
allows the datastructures used for dynamic card instantiation to be
built up gradually.Signed-off-by: Mark Brown
04 Dec, 2008
3 commits
-
None of the DAIs use it except s3c2412-i2s which only uses it for
dev_() printouts.Signed-off-by: Mark Brown
-
None of the platforms are actually using the SoC device so remove it
(only atmel actually has a suspend method).Signed-off-by: Mark Brown
-
This is in preparation for the removal of struct snd_soc_device.
The pop time configuration should really be a property of the card not
the codec but since DAPM currently uses the codec rather than the card
using the codec is fine for now.Signed-off-by: Mark Brown
03 Dec, 2008
1 commit
-
As part of the deprecation of snd_soc_device push the registration of
the platform down into the card structure.Signed-off-by: Mark Brown
02 Dec, 2008
4 commits
-
ASoC v2 does not use the struct snd_soc_device at runtime, using struct
snd_soc_card as the root of the card. Begin removing data from
snd_soc_device by pushing the workqueue data into snd_soc_card, using a
backpointer to the snd_soc_device to keep things going for the time
being.Signed-off-by: Mark Brown
-
Signed-off-by: Mark Brown
-
Currently ASoC card initialisation is completed by a function called
snd_soc_register_card(). As part of the work to allow independant
registration of cards, codecs and machines in ASoC v2 a new function of
the same name has been added so rename the existing function to
facilitate the merge of v2.Signed-off-by: Mark Brown
25 Nov, 2008
3 commits
-
There is no argument named @clk_id in snd_soc_dai_set_fmt,
remove its' comment.Signed-off-by: Qinghuang Feng
Signed-off-by: Mark Brown -
Now that the ASoC resume has been punted to a workqueue for a release
cycle without attracting bug reports it should be safe to make the
log messages associated with it debug level, reducing noise and kernel
size in production configurations.Signed-off-by: Mark Brown
-
DAI type information is only ever used within ASoC in order to special
case AC97 and for diagnostic purposes. Since modern CPUs and codecs
support multi function DAIs which can be configured for several modes
it is more trouble than it's worth to maintain anything other than a
flag identifying AC97 DAIs so remove the type field and replace it with
an ac97_control flag.Signed-off-by: Mark Brown
21 Nov, 2008
2 commits
-
Liam Girdwood's ASoC v2 work avoids having two different ops structures
for DAIs by merging the members of struct snd_soc_ops into struct
snd_soc_dai_ops, allowing per DAI configuration for everything.
Backport this change.This paves the way for future work allowing any combination of DAIs to
be connected rather than having fixed purpose CODEC and CPU DAIs and
only allowing CODECCPU interconnections.Signed-off-by: Mark Brown
-
One of the issues with the ASoC v1 API which has been addressed in the
ASoC v2 work that Liam Girdwood has done is that the ALSA card provided
by ASoC is distributed around the ASoC structures. For example, machine
wide data such as the struct snd_card are maintained as part of the
CODEC data structure, preventing the use of multiple codecs. This has
been addressed by refactoring the data structures so that all the data
for the ALSA card is contained in a single structure snd_soc_card which
replaces the existing snd_soc_machine and snd_soc_device.Begin the process of backporting this by renaming struct snd_soc_machine
to struct snd_soc_card, better reflecting its function and bringing it
closer to standard ALSA terminology.Signed-off-by: Mark Brown
06 Nov, 2008
1 commit
-
Rather than try to remember to keep the core version number updated
(which hasn't been happening) just remove it. It was much more useful
when ASoC was out of tree.Signed-off-by: Mark brown
03 Nov, 2008
2 commits
-
[stripped sound/isa/* changes, replaced with the next patch -- tiwai]
Signed-off-by: Kay Sievers
Signed-off-by: Takashi Iwai
31 Oct, 2008
1 commit
30 Oct, 2008
4 commits
-
Signed-off-by: Mark Brown
-
Since we can query the playback stream power state directly we do not
need to infer if it is powered up from the timer being scheduled. Doing
this avoids problems that previously existed with streams being
incorrectly determined to be powered up caused when the timer is
scheduled when streams are closed after being partially set up.Reported-by: Nobin Mathew
Reported-by: Jukka Hynninen
Signed-off-by: Mark Brown -
i.e. echo 6 59 >/sys/kernel/debug/soc-audio.0/codec_reg
will set register 0x06 to a value of 0x59.
Also, pop_time debugfs interface setup is moved so that it
is setup in the same function as codec_regSigned-off-by: Troy Kisky
Signed-off-by: Mark Brown -
When ASoC was converted to support full int width masks SOC_SINGLE_VALUE()
omitted the assignment of rshift, causing the control operatins to report
some mono controls as stereo. This happened to work some of the time due
to a confusion between shift and min in snd_soc_info_volsw().Signed-off-by: Mark Brown
Signed-off-by: Takashi Iwai
13 Oct, 2008
1 commit
-
Update the contact information for Liam Girdwood in ASoC core and
drivers as my old email address is no longer valid.Signed-off-by: Liam Girdwood
Signed-off-by: Takashi Iwai