enum imx_rtc_type devtype;
 };
 
-static const struct platform_device_id imx_rtc_devtype[] = {
-       {
-               .name = "imx1-rtc",
-               .driver_data = IMX1_RTC,
-       }, {
-               .name = "imx21-rtc",
-               .driver_data = IMX21_RTC,
-       }, {
-               /* sentinel */
-       }
-};
-MODULE_DEVICE_TABLE(platform, imx_rtc_devtype);
-
-#ifdef CONFIG_OF
 static const struct of_device_id imx_rtc_dt_ids[] = {
        { .compatible = "fsl,imx1-rtc", .data = (const void *)IMX1_RTC },
        { .compatible = "fsl,imx21-rtc", .data = (const void *)IMX21_RTC },
        {}
 };
 MODULE_DEVICE_TABLE(of, imx_rtc_dt_ids);
-#endif
 
 static inline int is_imx1_rtc(struct rtc_plat_data *data)
 {
                return -ENOMEM;
 
        of_id = of_match_device(imx_rtc_dt_ids, &pdev->dev);
-       if (of_id)
-               pdata->devtype = (enum imx_rtc_type)of_id->data;
-       else
-               pdata->devtype = pdev->id_entry->driver_data;
+       pdata->devtype = (enum imx_rtc_type)of_id->data;
 
        pdata->ioaddr = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(pdata->ioaddr))
                   .name        = "mxc_rtc",
                   .of_match_table = of_match_ptr(imx_rtc_dt_ids),
        },
-       .id_table = imx_rtc_devtype,
        .probe = mxc_rtc_probe,
 };