Merge branch 'for-5.10' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie...
[linux-2.6-microblaze.git] / drivers / spi / spi-imx.c
index 0b59790..73ca821 100644 (file)
@@ -1019,33 +1019,6 @@ static struct spi_imx_devtype_data imx53_ecspi_devtype_data = {
        .devtype = IMX53_ECSPI,
 };
 
-static const struct platform_device_id spi_imx_devtype[] = {
-       {
-               .name = "imx1-cspi",
-               .driver_data = (kernel_ulong_t) &imx1_cspi_devtype_data,
-       }, {
-               .name = "imx21-cspi",
-               .driver_data = (kernel_ulong_t) &imx21_cspi_devtype_data,
-       }, {
-               .name = "imx27-cspi",
-               .driver_data = (kernel_ulong_t) &imx27_cspi_devtype_data,
-       }, {
-               .name = "imx31-cspi",
-               .driver_data = (kernel_ulong_t) &imx31_cspi_devtype_data,
-       }, {
-               .name = "imx35-cspi",
-               .driver_data = (kernel_ulong_t) &imx35_cspi_devtype_data,
-       }, {
-               .name = "imx51-ecspi",
-               .driver_data = (kernel_ulong_t) &imx51_ecspi_devtype_data,
-       }, {
-               .name = "imx53-ecspi",
-               .driver_data = (kernel_ulong_t) &imx53_ecspi_devtype_data,
-       }, {
-               /* sentinel */
-       }
-};
-
 static const struct of_device_id spi_imx_dt_ids[] = {
        { .compatible = "fsl,imx1-cspi", .data = &imx1_cspi_devtype_data, },
        { .compatible = "fsl,imx21-cspi", .data = &imx21_cspi_devtype_data, },
@@ -1538,6 +1511,7 @@ spi_imx_prepare_message(struct spi_master *master, struct spi_message *msg)
 
        ret = pm_runtime_get_sync(spi_imx->dev);
        if (ret < 0) {
+               pm_runtime_put_noidle(spi_imx->dev);
                dev_err(spi_imx->dev, "failed to enable clock\n");
                return ret;
        }
@@ -1580,8 +1554,7 @@ static int spi_imx_probe(struct platform_device *pdev)
        struct spi_imx_data *spi_imx;
        struct resource *res;
        int ret, irq, spi_drctl;
-       const struct spi_imx_devtype_data *devtype_data = of_id ? of_id->data :
-               (struct spi_imx_devtype_data *)pdev->id_entry->driver_data;
+       const struct spi_imx_devtype_data *devtype_data = of_id->data;
        bool slave_mode;
        u32 val;
 
@@ -1748,6 +1721,7 @@ static int spi_imx_remove(struct platform_device *pdev)
 
        ret = pm_runtime_get_sync(spi_imx->dev);
        if (ret < 0) {
+               pm_runtime_put_noidle(spi_imx->dev);
                dev_err(spi_imx->dev, "failed to enable clock\n");
                return ret;
        }
@@ -1822,7 +1796,6 @@ static struct platform_driver spi_imx_driver = {
                   .of_match_table = spi_imx_dt_ids,
                   .pm = &imx_spi_pm,
        },
-       .id_table = spi_imx_devtype,
        .probe = spi_imx_probe,
        .remove = spi_imx_remove,
 };