]> git.karo-electronics.de Git - linux-beck.git/commitdiff
ARM: davinci: devices-da8xx: Clean up and correct the McASP device creation
authorPeter Ujfalusi <peter.ujfalusi@ti.com>
Thu, 12 Mar 2015 08:06:27 +0000 (10:06 +0200)
committerSekhar Nori <nsekhar@ti.com>
Wed, 18 Mar 2015 10:22:04 +0000 (15:52 +0530)
Both DA830 and DA850 has McASP0 module, so do not restrict the use of
McASP0 for da850 only.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
arch/arm/mach-davinci/devices-da8xx.c

index e15e046c543854380405ae0083f848d70718cdc8..fdc3219ba6841b607a3c832e72a80b2f8d5f188b 100644 (file)
@@ -526,14 +526,25 @@ static struct platform_device da850_mcasp_device = {
 
 void __init da8xx_register_mcasp(int id, struct snd_platform_data *pdata)
 {
-       /* DA830/OMAP-L137 has 3 instances of McASP */
-       if (cpu_is_davinci_da830() && id == 1) {
-               da830_mcasp1_device.dev.platform_data = pdata;
-               platform_device_register(&da830_mcasp1_device);
-       } else if (cpu_is_davinci_da850()) {
-               da850_mcasp_device.dev.platform_data = pdata;
-               platform_device_register(&da850_mcasp_device);
+       struct platform_device *pdev;
+
+       switch (id) {
+       case 0:
+               /* Valid for DA830/OMAP-L137 or DA850/OMAP-L138 */
+               pdev = &da850_mcasp_device;
+               break;
+       case 1:
+               /* Valid for DA830/OMAP-L137 only */
+               if (!cpu_is_davinci_da830())
+                       return;
+               pdev = &da830_mcasp1_device;
+               break;
+       default:
+               return;
        }
+
+       pdev->dev.platform_data = pdata;
+       platform_device_register(pdev);
 }
 
 static struct resource da8xx_pruss_resources[] = {