kernel-brax3-ubuntu-touch/drivers/gpu/drm/panel/mtk_drm_panel_drv.c
erascape f319b992b1 kernel-5.15: Initial import brax3 UT kernel
* halium configs enabled

Signed-off-by: erascape <erascape@proton.me>
2025-09-23 15:17:10 +00:00

97 lines
2.3 KiB
C

// SPDX-License-Identifier: GPL-2.0
/*
* Copyright (c) 2021 MediaTek Inc.
*/
#include "mtk_drm_panel_drv.h"
int mtk_panel_register_drv_customization_funcs(char func,
const struct mtk_panel_cust *cust)
{
int ret = 0;
switch (func) {
case MTK_LCM_FUNC_DBI:
ret = mtk_panel_register_dbi_customization_funcs(cust);
break;
case MTK_LCM_FUNC_DPI:
ret = mtk_panel_register_dpi_customization_funcs(cust);
break;
case MTK_LCM_FUNC_DSI:
ret = mtk_panel_register_dsi_customization_funcs(cust);
break;
default:
DDPMSG("%s, invalid func:%d\n", __func__, func);
ret = -EINVAL;
break;
}
return ret;
}
EXPORT_SYMBOL(mtk_panel_register_drv_customization_funcs);
int mtk_panel_deregister_drv_customization_funcs(char func,
const struct mtk_panel_cust *cust)
{
int ret = 0;
switch (func) {
case MTK_LCM_FUNC_DBI:
ret = mtk_panel_deregister_dbi_customization_funcs(cust);
break;
case MTK_LCM_FUNC_DPI:
ret = mtk_panel_deregister_dpi_customization_funcs(cust);
break;
case MTK_LCM_FUNC_DSI:
ret = mtk_panel_deregister_dsi_customization_funcs(cust);
break;
default:
DDPMSG("%s, invalid func:%d\n", __func__, func);
ret = -EINVAL;
break;
}
return ret;
}
EXPORT_SYMBOL(mtk_panel_deregister_drv_customization_funcs);
static int __init mtk_drm_panel_drv_init(void)
{
int ret = 0;
DDPMSG("%s+\n", __func__);
ret = platform_driver_register(&mtk_drm_panel_dbi_driver);
if (ret < 0)
DDPPR_ERR("%s, Failed to register dbi driver: %d\n",
__func__, ret);
ret = platform_driver_register(&mtk_drm_panel_dpi_driver);
if (ret < 0)
DDPPR_ERR("%s, Failed to register dpi driver: %d\n",
__func__, ret);
ret = mipi_dsi_driver_register(&mtk_drm_panel_dsi_driver);
if (ret < 0)
DDPPR_ERR("%s, Failed to register dsi driver: %d\n",
__func__, ret);
DDPMSG("%s- ret:%d\n", __func__, ret);
return 0;
}
static void __exit mtk_drm_panel_drv_exit(void)
{
DDPMSG("%s+\n", __func__);
mipi_dsi_driver_unregister(&mtk_drm_panel_dsi_driver);
platform_driver_unregister(&mtk_drm_panel_dpi_driver);
platform_driver_unregister(&mtk_drm_panel_dbi_driver);
DDPMSG("%s-\n", __func__);
}
module_init(mtk_drm_panel_drv_init);
module_exit(mtk_drm_panel_drv_exit);
MODULE_AUTHOR("Cui Zhang <cui.zhang@mediatek.com>");
MODULE_DESCRIPTION("mediatek, drm panel driver");
MODULE_LICENSE("GPL v2");