<html><body><p>
<pre>
Hi, Angelo:
On Mon, 2025-01-13 at 15:52 +0100, AngeloGioacchino Del Regno wrote:
> External email : Please do not click links or open attachments until you have verified the sender or the content.
>
>
> In preparation for splitting out the common bits from the HDMI
> driver, change the mtk_cec driver from being registered from the
> HDMI driver itself to be a module_platform_driver of its own.
CEC is not the common part, so the reason is not related to splitting out the common bits.
I think the reason is HDMI v2 driver does not use CEC driver, so you want not to build CEC driver when HDMI v2.
>
> Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
> ---
> drivers/gpu/drm/mediatek/Makefile | 4 ++--
> drivers/gpu/drm/mediatek/mtk_cec.c | 7 ++++++-
> drivers/gpu/drm/mediatek/mtk_hdmi.c | 2 +-
> drivers/gpu/drm/mediatek/mtk_hdmi.h | 1 -
> 4 files changed, 9 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/mediatek/Makefile b/drivers/gpu/drm/mediatek/Makefile
> index 32a2ed6c0cfe..bdd3a062f797 100644
> --- a/drivers/gpu/drm/mediatek/Makefile
> +++ b/drivers/gpu/drm/mediatek/Makefile
> @@ -21,10 +21,10 @@ mediatek-drm-y := mtk_crtc.o \
>
> obj-$(CONFIG_DRM_MEDIATEK) += mediatek-drm.o
>
> -mediatek-drm-hdmi-objs := mtk_cec.o \
> - mtk_hdmi.o \
> +mediatek-drm-hdmi-objs := mtk_hdmi.o \
> mtk_hdmi_ddc.o
You don't need to separate mtk_cec to a independent module.
You could include it in v1 and exclude it in v2.
Regards,
CK
>
> +obj-$(CONFIG_DRM_MEDIATEK_HDMI) += mtk_cec.o
> obj-$(CONFIG_DRM_MEDIATEK_HDMI) += mediatek-drm-hdmi.o
>
> obj-$(CONFIG_DRM_MEDIATEK_DP) += mtk_dp.o
> diff --git a/drivers/gpu/drm/mediatek/mtk_cec.c b/drivers/gpu/drm/mediatek/mtk_cec.c
> index b42c0d87eba3..c7be530ca041 100644
> --- a/drivers/gpu/drm/mediatek/mtk_cec.c
> +++ b/drivers/gpu/drm/mediatek/mtk_cec.c
> @@ -12,7 +12,6 @@
> #include <linux/platform_device.h>
>
> #include "mtk_cec.h"
> -#include "mtk_hdmi.h"
> #include "mtk_drm_drv.h"
>
> #define TR_CONFIG 0x00
> @@ -102,6 +101,7 @@ void mtk_cec_set_hpd_event(struct device *dev,
> cec->hpd_event = hpd_event;
> spin_unlock_irqrestore(&cec->lock, flags);
> }
> +EXPORT_SYMBOL_NS_GPL(mtk_cec_set_hpd_event, "DRM_MTK_HDMI_V1");
>
> bool mtk_cec_hpd_high(struct device *dev)
> {
> @@ -112,6 +112,7 @@ bool mtk_cec_hpd_high(struct device *dev)
>
> return (status & (HDMI_PORD | HDMI_HTPLG)) == (HDMI_PORD | HDMI_HTPLG);
> }
> +EXPORT_SYMBOL_NS_GPL(mtk_cec_hpd_high, "DRM_MTK_HDMI_V1");
>
> static void mtk_cec_htplg_irq_init(struct mtk_cec *cec)
> {
> @@ -247,3 +248,7 @@ struct platform_driver mtk_cec_driver = {
> .of_match_table = mtk_cec_of_ids,
> },
> };
> +module_platform_driver(mtk_cec_driver);
> +
> +MODULE_DESCRIPTION("MediaTek HDMI CEC Driver");
> +MODULE_LICENSE("GPL");
> diff --git a/drivers/gpu/drm/mediatek/mtk_hdmi.c b/drivers/gpu/drm/mediatek/mtk_hdmi.c
> index ca82bc829cb9..da725182f0db 100644
> --- a/drivers/gpu/drm/mediatek/mtk_hdmi.c
> +++ b/drivers/gpu/drm/mediatek/mtk_hdmi.c
> @@ -1805,7 +1805,6 @@ static struct platform_driver mtk_hdmi_driver = {
>
> static struct platform_driver * const mtk_hdmi_drivers[] = {
> &mtk_hdmi_ddc_driver,
> - &mtk_cec_driver,
> &mtk_hdmi_driver,
> };
>
> @@ -1827,3 +1826,4 @@ module_exit(mtk_hdmitx_exit);
> MODULE_AUTHOR("Jie Qiu <jie.qiu@mediatek.com>");
> MODULE_DESCRIPTION("MediaTek HDMI Driver");
> MODULE_LICENSE("GPL v2");
> +MODULE_IMPORT_NS("DRM_MTK_HDMI_V1");
> diff --git a/drivers/gpu/drm/mediatek/mtk_hdmi.h b/drivers/gpu/drm/mediatek/mtk_hdmi.h
> index 472bf141c92b..e40bc4651995 100644
> --- a/drivers/gpu/drm/mediatek/mtk_hdmi.h
> +++ b/drivers/gpu/drm/mediatek/mtk_hdmi.h
> @@ -8,7 +8,6 @@
>
> struct platform_driver;
>
> -extern struct platform_driver mtk_cec_driver;
> extern struct platform_driver mtk_hdmi_ddc_driver;
>
> #endif /* _MTK_HDMI_CTRL_H */
> --
> 2.47.0
>
</pre>
</p></body></html><!--type:text--><!--{--><pre>************* MEDIATEK Confidentiality Notice
********************
The information contained in this e-mail message (including any
attachments) may be confidential, proprietary, privileged, or otherwise
exempt from disclosure under applicable laws. It is intended to be
conveyed only to the designated recipient(s). Any use, dissemination,
distribution, printing, retaining or copying of this e-mail (including its
attachments) by unintended recipient(s) is strictly prohibited and may
be unlawful. If you are not an intended recipient of this e-mail, or believe
that you have received this e-mail in error, please notify the sender
immediately (by replying to this e-mail), delete any and all copies of
this e-mail (including any attachments) from your system, and do not
disclose the content of this e-mail to any other person. Thank you!
</pre><!--}-->