On Tue, 2025-02-11 at 12:33 +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 adding a driver for the new HDMIv2 IP, and > before splitting out the common bits from the HDMI driver, change > the mtk_cec driver from being registered from the mtk_hdmi driver > itself to be a module_platform_driver of its own. > > Besides being a cleanup, this also allows build flexibility by > allowing to compile the CECv1 driver only when needed (for example, > this is not needed nor used in HDMIv2 configurations). Reviewed-by: CK Hu <ck.hu@xxxxxxxxxxxx> > > Reviewed-by: Alexandre Mergnat <amergnat@xxxxxxxxxxxx> > Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx> > --- > 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 > > +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@xxxxxxxxxxxx>"); > 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.48.1 >