2014-01-15 15:53:56

by Jean-Francois Moine

[permalink] [raw]
Subject: [PATCH v2 7/8] ASoC: simple-card: simplify code

The platform data structure contains information which is used only by
the driver, and the driver allocates platform information fields which
are of no use.
Move the driver specific data to a new private structure and cleanup
the platform data structure.

Signed-off-by: Jean-Francois Moine <[email protected]>
---
include/sound/simple_card.h | 4 --
sound/soc/generic/simple-card.c | 14 +++++++++++---
2 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/include/sound/simple_card.h b/include/sound/simple_card.h
index 6c74527..e1ac996 100644
--- a/include/sound/simple_card.h
+++ b/include/sound/simple_card.h
@@ -29,10 +29,6 @@ struct asoc_simple_card_info {
unsigned int daifmt;
struct asoc_simple_dai cpu_dai;
struct asoc_simple_dai codec_dai;
-
- /* used in simple-card.c */
- struct snd_soc_dai_link snd_link;
- struct snd_soc_card snd_card;
};

#endif /* __SIMPLE_CARD_H */
diff --git a/sound/soc/generic/simple-card.c b/sound/soc/generic/simple-card.c
index 90c6fd5..0f11c28 100644
--- a/sound/soc/generic/simple-card.c
+++ b/sound/soc/generic/simple-card.c
@@ -15,6 +15,14 @@
#include <linux/string.h>
#include <sound/simple_card.h>

+struct simple_card_data {
+ struct snd_soc_card snd_card;
+ unsigned int daifmt;
+ struct asoc_simple_dai cpu_dai;
+ struct asoc_simple_dai codec_dai;
+ struct snd_soc_dai_link snd_link;
+};
+
static int __asoc_simple_card_dai_init(struct snd_soc_dai *dai,
struct asoc_simple_dai *set,
unsigned int daifmt)
@@ -39,7 +47,7 @@ static int __asoc_simple_card_dai_init(struct snd_soc_dai *dai,

static int asoc_simple_card_dai_init(struct snd_soc_pcm_runtime *rtd)
{
- struct asoc_simple_card_info *info =
+ struct simple_card_data *info =
snd_soc_card_get_drvdata(rtd->card);
struct snd_soc_dai *codec = rtd->codec_dai;
struct snd_soc_dai *cpu = rtd->cpu_dai;
@@ -121,7 +129,7 @@ parse_error:
}

static int asoc_simple_card_parse_of(struct device_node *node,
- struct asoc_simple_card_info *info,
+ struct simple_card_data *info,
struct device *dev)
{
struct snd_soc_dai_link *dai_link = info->snd_card.dai_link;
@@ -195,7 +203,7 @@ static int asoc_simple_card_parse_of(struct device_node *node,

static int asoc_simple_card_probe(struct platform_device *pdev)
{
- struct asoc_simple_card_info *priv;
+ struct simple_card_data *priv;
struct snd_soc_dai_link *dai_link;
struct device_node *np = pdev->dev.of_node;
struct device *dev = &pdev->dev;
--
Ken ar c'hentaƱ | ** Breizh ha Linux atav! **
Jef | http://moinejf.free.fr/


2014-01-22 20:06:22

by Mark Brown

[permalink] [raw]
Subject: Re: [PATCH v2 7/8] ASoC: simple-card: simplify code

On Wed, Jan 15, 2014 at 04:51:56PM +0100, Jean-Francois Moine wrote:
> The platform data structure contains information which is used only by
> the driver, and the driver allocates platform information fields which
> are of no use.

Applied, thanks.


Attachments:
(No filename) (250.00 B)
signature.asc (836.00 B)
Digital signature
Download all attachments