]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/spi/spi_imx.c
Merge tag 'v2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[mv-sheeva.git] / drivers / spi / spi_imx.c
index 55a38e2c6c137a0530b107bdfe5bc0ac0dd94e7b..1cf9d5faabf4ac1f9347a62628ba48e31bede889 100644 (file)
@@ -66,7 +66,6 @@ enum spi_imx_devtype {
        SPI_IMX_VER_0_5,
        SPI_IMX_VER_0_7,
        SPI_IMX_VER_2_3,
-       SPI_IMX_VER_AUTODETECT,
 };
 
 struct spi_imx_data;
@@ -720,9 +719,6 @@ static void spi_imx_cleanup(struct spi_device *spi)
 
 static struct platform_device_id spi_imx_devtype[] = {
        {
-               .name = DRIVER_NAME,
-               .driver_data = SPI_IMX_VER_AUTODETECT,
-       }, {
                .name = "imx1-cspi",
                .driver_data = SPI_IMX_VER_IMX1,
        }, {
@@ -746,6 +742,12 @@ static struct platform_device_id spi_imx_devtype[] = {
        }, {
                .name = "imx51-ecspi",
                .driver_data = SPI_IMX_VER_2_3,
+       }, {
+               .name = "imx53-cspi",
+               .driver_data = SPI_IMX_VER_0_7,
+       }, {
+               .name = "imx53-ecspi",
+               .driver_data = SPI_IMX_VER_2_3,
        }, {
                /* sentinel */
        }
@@ -802,30 +804,8 @@ static int __devinit spi_imx_probe(struct platform_device *pdev)
 
        init_completion(&spi_imx->xfer_done);
 
-       if (pdev->id_entry->driver_data == SPI_IMX_VER_AUTODETECT) {
-               if (cpu_is_mx25() || cpu_is_mx35())
-                       spi_imx->devtype_data =
-                               spi_imx_devtype_data[SPI_IMX_VER_0_7];
-               else if (cpu_is_mx25() || cpu_is_mx31() || cpu_is_mx35())
-                       spi_imx->devtype_data =
-                               spi_imx_devtype_data[SPI_IMX_VER_0_4];
-               else if (cpu_is_mx27() || cpu_is_mx21())
-                       spi_imx->devtype_data =
-                               spi_imx_devtype_data[SPI_IMX_VER_0_0];
-               else if (cpu_is_mx1())
-                       spi_imx->devtype_data =
-                               spi_imx_devtype_data[SPI_IMX_VER_IMX1];
-               else
-                       BUG();
-       } else
-               spi_imx->devtype_data =
-                       spi_imx_devtype_data[pdev->id_entry->driver_data];
-
-       if (!spi_imx->devtype_data.intctrl) {
-               dev_err(&pdev->dev, "no support for this device compiled in\n");
-               ret = -ENODEV;
-               goto out_gpio_free;
-       }
+       spi_imx->devtype_data =
+               spi_imx_devtype_data[pdev->id_entry->driver_data];
 
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        if (!res) {
@@ -847,7 +827,7 @@ static int __devinit spi_imx_probe(struct platform_device *pdev)
        }
 
        spi_imx->irq = platform_get_irq(pdev, 0);
-       if (spi_imx->irq <= 0) {
+       if (spi_imx->irq < 0) {
                ret = -EINVAL;
                goto out_iounmap;
        }