* [PATCH 1/2] ASoC: core: Allow DAIs to specify a base address
@ 2012-05-01 19:04 Mark Brown
2012-05-01 19:04 ` [PATCH 2/2] ASoC: wm5100: Set the DAI base address in the DAI drivers Mark Brown
2012-05-02 14:06 ` [PATCH 1/2] ASoC: core: Allow DAIs to specify a base address Liam Girdwood
0 siblings, 2 replies; 3+ messages in thread
From: Mark Brown @ 2012-05-01 19:04 UTC (permalink / raw)
To: Liam Girdwood; +Cc: alsa-devel, patches, Mark Brown
Devices with many DAIs are becoming more and more common, and generally
the more modern devices have consistent register layouts between DAIs.
Rather than have drivers open code lookups based on the DAI ID or cause
uglification in UI by having register addresses for IDs provide a base
address field they can use.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
include/sound/soc-dai.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/sound/soc-dai.h b/include/sound/soc-dai.h
index c63985b..2704ab0 100644
--- a/include/sound/soc-dai.h
+++ b/include/sound/soc-dai.h
@@ -198,6 +198,7 @@ struct snd_soc_dai_driver {
const char *name;
unsigned int id;
int ac97_control;
+ unsigned int base;
/* DAI driver callbacks */
int (*probe)(struct snd_soc_dai *dai);
--
1.7.10
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH 2/2] ASoC: wm5100: Set the DAI base address in the DAI drivers
2012-05-01 19:04 [PATCH 1/2] ASoC: core: Allow DAIs to specify a base address Mark Brown
@ 2012-05-01 19:04 ` Mark Brown
2012-05-02 14:06 ` [PATCH 1/2] ASoC: core: Allow DAIs to specify a base address Liam Girdwood
1 sibling, 0 replies; 3+ messages in thread
From: Mark Brown @ 2012-05-01 19:04 UTC (permalink / raw)
To: Liam Girdwood; +Cc: alsa-devel, patches, Mark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
sound/soc/codecs/wm5100.c | 26 +++++---------------------
1 file changed, 5 insertions(+), 21 deletions(-)
diff --git a/sound/soc/codecs/wm5100.c b/sound/soc/codecs/wm5100.c
index 7fbcd6d..1f13ccd 100644
--- a/sound/soc/codecs/wm5100.c
+++ b/sound/soc/codecs/wm5100.c
@@ -1342,29 +1342,12 @@ static const __devinitdata struct reg_default wm5100_reva_patches[] = {
{ WM5100_AUDIO_IF_3_19, 1 },
};
-static int wm5100_dai_to_base(struct snd_soc_dai *dai)
-{
- switch (dai->id) {
- case 0:
- return WM5100_AUDIO_IF_1_1 - 1;
- case 1:
- return WM5100_AUDIO_IF_2_1 - 1;
- case 2:
- return WM5100_AUDIO_IF_3_1 - 1;
- default:
- BUG();
- return -EINVAL;
- }
-}
-
static int wm5100_set_fmt(struct snd_soc_dai *dai, unsigned int fmt)
{
struct snd_soc_codec *codec = dai->codec;
int lrclk, bclk, mask, base;
- base = wm5100_dai_to_base(dai);
- if (base < 0)
- return base;
+ base = dai->driver->base;
lrclk = 0;
bclk = 0;
@@ -1491,9 +1474,7 @@ static int wm5100_hw_params(struct snd_pcm_substream *substream,
int i, base, bclk, aif_rate, lrclk, wl, fl, sr;
int *bclk_rates;
- base = wm5100_dai_to_base(dai);
- if (base < 0)
- return base;
+ base = dai->driver->base;
/* Data sizes if not using TDM */
wl = snd_pcm_format_width(params_format(params));
@@ -1974,6 +1955,7 @@ static int wm5100_set_fll(struct snd_soc_codec *codec, int fll_id, int source,
static struct snd_soc_dai_driver wm5100_dai[] = {
{
.name = "wm5100-aif1",
+ .base = WM5100_AUDIO_IF_1_1 - 1,
.playback = {
.stream_name = "AIF1 Playback",
.channels_min = 2,
@@ -1993,6 +1975,7 @@ static struct snd_soc_dai_driver wm5100_dai[] = {
{
.name = "wm5100-aif2",
.id = 1,
+ .base = WM5100_AUDIO_IF_2_1 - 1,
.playback = {
.stream_name = "AIF2 Playback",
.channels_min = 2,
@@ -2012,6 +1995,7 @@ static struct snd_soc_dai_driver wm5100_dai[] = {
{
.name = "wm5100-aif3",
.id = 2,
+ .base = WM5100_AUDIO_IF_3_1 - 1,
.playback = {
.stream_name = "AIF3 Playback",
.channels_min = 2,
--
1.7.10
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH 1/2] ASoC: core: Allow DAIs to specify a base address
2012-05-01 19:04 [PATCH 1/2] ASoC: core: Allow DAIs to specify a base address Mark Brown
2012-05-01 19:04 ` [PATCH 2/2] ASoC: wm5100: Set the DAI base address in the DAI drivers Mark Brown
@ 2012-05-02 14:06 ` Liam Girdwood
1 sibling, 0 replies; 3+ messages in thread
From: Liam Girdwood @ 2012-05-02 14:06 UTC (permalink / raw)
To: Mark Brown; +Cc: alsa-devel, patches
On Tue, 2012-05-01 at 20:04 +0100, Mark Brown wrote:
> Devices with many DAIs are becoming more and more common, and generally
> the more modern devices have consistent register layouts between DAIs.
> Rather than have drivers open code lookups based on the DAI ID or cause
> uglification in UI by having register addresses for IDs provide a base
> address field they can use.
>
> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Both
Acked-by: Liam Girdwood <lrg@ti.com>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2012-05-02 14:06 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-01 19:04 [PATCH 1/2] ASoC: core: Allow DAIs to specify a base address Mark Brown
2012-05-01 19:04 ` [PATCH 2/2] ASoC: wm5100: Set the DAI base address in the DAI drivers Mark Brown
2012-05-02 14:06 ` [PATCH 1/2] ASoC: core: Allow DAIs to specify a base address Liam Girdwood
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.