#include <linux/delay.h>
 #include <linux/io.h>
 #include <linux/interrupt.h>
+#include <linux/module.h>
 #include <linux/mod_devicetable.h>
 #include <linux/platform_device.h>
 
        { .compatible = "mediatek,mt8173-cec", },
        {}
 };
+MODULE_DEVICE_TABLE(of, mtk_cec_of_ids);
 
 struct platform_driver mtk_cec_driver = {
        .probe = mtk_cec_probe,
 
        },
        { },
 };
+MODULE_DEVICE_TABLE(of, mtk_dpi_of_ids);
 
 struct platform_driver mtk_dpi_driver = {
        .probe = mtk_dpi_probe,
 
          .data = &mt8183_mmsys_driver_data},
        { }
 };
+MODULE_DEVICE_TABLE(of, mtk_drm_of_ids);
 
 static int mtk_drm_probe(struct platform_device *pdev)
 {
 
          .data = &mt8183_dsi_driver_data },
        { },
 };
+MODULE_DEVICE_TABLE(of, mtk_dsi_of_match);
 
 struct platform_driver mtk_dsi_driver = {
        .probe = mtk_dsi_probe,
 
        },
        {}
 };
+MODULE_DEVICE_TABLE(of, mtk_drm_hdmi_of_ids);
 
 static struct platform_driver mtk_hdmi_driver = {
        .probe = mtk_drm_hdmi_probe,
 
        { .compatible = "mediatek,mt8173-hdmi-ddc", },
        {},
 };
+MODULE_DEVICE_TABLE(of, mtk_hdmi_ddc_match);
 
 struct platform_driver mtk_hdmi_ddc_driver = {
        .probe = mtk_hdmi_ddc_probe,