提交 531eaf49 编写于 作者: K Kuninori Morimoto 提交者: Mark Brown

ASoC: rcar: remove rcar_gen_ops

Current rcar driver gen.c is using rcar_gen_ops
which was made with the assumption that
Gen1 and Gen2 need different behavior.
but it was not needed.
This patch removes unnecessary complex method.
Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: NMark Brown <broonie@linaro.org>
上级 994a9df1
...@@ -10,14 +10,6 @@ ...@@ -10,14 +10,6 @@
*/ */
#include "rsnd.h" #include "rsnd.h"
struct rsnd_gen_ops {
int (*probe)(struct platform_device *pdev,
struct rcar_snd_info *info,
struct rsnd_priv *priv);
void (*remove)(struct platform_device *pdev,
struct rsnd_priv *priv);
};
struct rsnd_gen { struct rsnd_gen {
void __iomem *base[RSND_BASE_MAX]; void __iomem *base[RSND_BASE_MAX];
...@@ -307,16 +299,6 @@ static int rsnd_gen1_probe(struct platform_device *pdev, ...@@ -307,16 +299,6 @@ static int rsnd_gen1_probe(struct platform_device *pdev,
} }
static void rsnd_gen1_remove(struct platform_device *pdev,
struct rsnd_priv *priv)
{
}
static struct rsnd_gen_ops rsnd_gen1_ops = {
.probe = rsnd_gen1_probe,
.remove = rsnd_gen1_remove,
};
/* /*
* Gen * Gen
*/ */
...@@ -326,6 +308,7 @@ int rsnd_gen_probe(struct platform_device *pdev, ...@@ -326,6 +308,7 @@ int rsnd_gen_probe(struct platform_device *pdev,
{ {
struct device *dev = rsnd_priv_to_dev(priv); struct device *dev = rsnd_priv_to_dev(priv);
struct rsnd_gen *gen; struct rsnd_gen *gen;
int ret;
gen = devm_kzalloc(dev, sizeof(*gen), GFP_KERNEL); gen = devm_kzalloc(dev, sizeof(*gen), GFP_KERNEL);
if (!gen) { if (!gen) {
...@@ -333,23 +316,19 @@ int rsnd_gen_probe(struct platform_device *pdev, ...@@ -333,23 +316,19 @@ int rsnd_gen_probe(struct platform_device *pdev,
return -ENOMEM; return -ENOMEM;
} }
if (rsnd_is_gen1(priv)) priv->gen = gen;
gen->ops = &rsnd_gen1_ops;
if (!gen->ops) { if (rsnd_is_gen1(priv)) {
ret = rsnd_gen1_probe(pdev, info, priv);
} else {
dev_err(dev, "unknown generation R-Car sound device\n"); dev_err(dev, "unknown generation R-Car sound device\n");
return -ENODEV; return -ENODEV;
} }
priv->gen = gen; return ret;
return gen->ops->probe(pdev, info, priv);
} }
void rsnd_gen_remove(struct platform_device *pdev, void rsnd_gen_remove(struct platform_device *pdev,
struct rsnd_priv *priv) struct rsnd_priv *priv)
{ {
struct rsnd_gen *gen = rsnd_priv_to_gen(priv);
gen->ops->remove(pdev, priv);
} }
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册