diff options
author | Dong Aisheng <b29396@freescale.com> | 2011-11-22 10:52:21 -0500 |
---|---|---|
committer | Shawn Guo <shawn.guo@linaro.org> | 2011-12-02 00:56:42 -0500 |
commit | 778825801d9dc3745417d295344b5b1e27de0d86 (patch) | |
tree | 368c01143b18c2b4a53229e4be2c40c04fd2b30c /sound/soc/mxs | |
parent | 5611cc4572e889b62a7b4c72a413536bf6a9c416 (diff) |
ASoC: mxs-saif: remove function in platform_data
Add master_mode and master_id in platfrom_data since it's board
specific and board knows it.
Then we can remove the function pointer in platfrom_data to make
the driver more devicetree friendly.
Signed-off-by: Dong Aisheng <b29396@freescale.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Diffstat (limited to 'sound/soc/mxs')
-rw-r--r-- | sound/soc/mxs/mxs-saif.c | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/sound/soc/mxs/mxs-saif.c b/sound/soc/mxs/mxs-saif.c index 76dc74d24fc2..1ef697fe1731 100644 --- a/sound/soc/mxs/mxs-saif.c +++ b/sound/soc/mxs/mxs-saif.c | |||
@@ -625,13 +625,6 @@ static int mxs_saif_probe(struct platform_device *pdev) | |||
625 | if (pdev->id >= ARRAY_SIZE(mxs_saif)) | 625 | if (pdev->id >= ARRAY_SIZE(mxs_saif)) |
626 | return -EINVAL; | 626 | return -EINVAL; |
627 | 627 | ||
628 | pdata = pdev->dev.platform_data; | ||
629 | if (pdata && pdata->init) { | ||
630 | ret = pdata->init(); | ||
631 | if (ret) | ||
632 | return ret; | ||
633 | } | ||
634 | |||
635 | saif = kzalloc(sizeof(*saif), GFP_KERNEL); | 628 | saif = kzalloc(sizeof(*saif), GFP_KERNEL); |
636 | if (!saif) | 629 | if (!saif) |
637 | return -ENOMEM; | 630 | return -ENOMEM; |
@@ -639,12 +632,17 @@ static int mxs_saif_probe(struct platform_device *pdev) | |||
639 | mxs_saif[pdev->id] = saif; | 632 | mxs_saif[pdev->id] = saif; |
640 | saif->id = pdev->id; | 633 | saif->id = pdev->id; |
641 | 634 | ||
642 | saif->master_id = saif->id; | 635 | pdata = pdev->dev.platform_data; |
643 | if (pdata && pdata->get_master_id) { | 636 | if (pdata && !pdata->master_mode) { |
644 | saif->master_id = pdata->get_master_id(saif->id); | 637 | saif->master_id = pdata->master_id; |
645 | if (saif->master_id < 0 || | 638 | if (saif->master_id < 0 || |
646 | saif->master_id >= ARRAY_SIZE(mxs_saif)) | 639 | saif->master_id >= ARRAY_SIZE(mxs_saif) || |
640 | saif->master_id == saif->id) { | ||
641 | dev_err(&pdev->dev, "get wrong master id\n"); | ||
647 | return -EINVAL; | 642 | return -EINVAL; |
643 | } | ||
644 | } else { | ||
645 | saif->master_id = saif->id; | ||
648 | } | 646 | } |
649 | 647 | ||
650 | saif->clk = clk_get(&pdev->dev, NULL); | 648 | saif->clk = clk_get(&pdev->dev, NULL); |