diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-09 17:39:22 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-09 17:39:22 -0500 |
commit | 2ac9d7aaccbd598b5bd19ac40761b723bb675442 (patch) | |
tree | 09132a44e33798aaa5e80f10bf025b510015cab3 /sound | |
parent | 5ede3ceb7b2c2843e153a1803edbdc8c56655950 (diff) | |
parent | dcf7ec5ee62a78123057a1e286c88ca739717409 (diff) |
Merge tag 'drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Driver specific changes
Again, a lot of platforms have changes in here: pxa, samsung, omap,
at91, imx, ...
* tag 'drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (54 commits)
ARM: sa1100: clean up of the clock support
ARM: pxa: add dummy clock for sa1100-rtc
RTC: sa1100: support sa1100, pxa and mmp soc families
RTC: sa1100: remove redundant code of setting alarm
RTC: sa1100: Clean out ost register
Input: zylonite-wm97xx - replace IRQ_GPIO() with gpio_to_irq()
pcmcia: pxa: replace IRQ_GPIO() with gpio_to_irq()
ARM: EXYNOS: Modified files for SPI consolidation work
ARM: S5P64X0: Enable SDHCI support
ARM: S5P64X0: Add lookup of sdhci-s3c clocks using generic names
ARM: S5P64X0: Add HSMMC setup for host Controller
ARM: EXYNOS: Add USB OHCI support to ORIGEN board
USB: Add Samsung Exynos OHCI diver
ARM: EXYNOS: Add USB OHCI support to SMDKV310 board
ARM: EXYNOS: Add USB OHCI device
net: macb: fix build break with !CONFIG_OF
i2c: tegra: Support DVC controller in device tree
i2c: tegra: Add __devinit/exit to probe/remove
net/at91_ether: use gpio_is_valid for phy IRQ line
ARM: at91/net: add macb ethernet controller in 9g45/9g20 DT
...
Diffstat (limited to 'sound')
-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); |