mirror of
https://github.com/torvalds/linux.git
synced 2026-05-31 10:33:41 +02:00
drm/mediatek: mtk_cec: Switch to register as module_platform_driver
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: Alexandre Mergnat <amergnat@baylibre.com> Reviewed-by: CK Hu <ck.hu@mediatek.com> Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Link: https://patchwork.kernel.org/project/dri-devel/patch/20250415104321.51149-5-angelogioacchino.delregno@collabora.com/ Signed-off-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
This commit is contained in:
parent
1b0965f495
commit
1e914a89ab
|
|
@ -21,10 +21,10 @@ mediatek-drm-y := mtk_crtc.o \
|
||||||
|
|
||||||
obj-$(CONFIG_DRM_MEDIATEK) += mediatek-drm.o
|
obj-$(CONFIG_DRM_MEDIATEK) += mediatek-drm.o
|
||||||
|
|
||||||
mediatek-drm-hdmi-objs := mtk_cec.o \
|
mediatek-drm-hdmi-objs := mtk_hdmi.o \
|
||||||
mtk_hdmi.o \
|
|
||||||
mtk_hdmi_ddc.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_HDMI) += mediatek-drm-hdmi.o
|
||||||
|
|
||||||
obj-$(CONFIG_DRM_MEDIATEK_DP) += mtk_dp.o
|
obj-$(CONFIG_DRM_MEDIATEK_DP) += mtk_dp.o
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,6 @@
|
||||||
#include <linux/platform_device.h>
|
#include <linux/platform_device.h>
|
||||||
|
|
||||||
#include "mtk_cec.h"
|
#include "mtk_cec.h"
|
||||||
#include "mtk_hdmi.h"
|
|
||||||
#include "mtk_drm_drv.h"
|
#include "mtk_drm_drv.h"
|
||||||
|
|
||||||
#define TR_CONFIG 0x00
|
#define TR_CONFIG 0x00
|
||||||
|
|
@ -102,6 +101,7 @@ void mtk_cec_set_hpd_event(struct device *dev,
|
||||||
cec->hpd_event = hpd_event;
|
cec->hpd_event = hpd_event;
|
||||||
spin_unlock_irqrestore(&cec->lock, flags);
|
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)
|
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);
|
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)
|
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,
|
.of_match_table = mtk_cec_of_ids,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
module_platform_driver(mtk_cec_driver);
|
||||||
|
|
||||||
|
MODULE_DESCRIPTION("MediaTek HDMI CEC Driver");
|
||||||
|
MODULE_LICENSE("GPL");
|
||||||
|
|
|
||||||
|
|
@ -1788,7 +1788,6 @@ static struct platform_driver mtk_hdmi_driver = {
|
||||||
|
|
||||||
static struct platform_driver * const mtk_hdmi_drivers[] = {
|
static struct platform_driver * const mtk_hdmi_drivers[] = {
|
||||||
&mtk_hdmi_ddc_driver,
|
&mtk_hdmi_ddc_driver,
|
||||||
&mtk_cec_driver,
|
|
||||||
&mtk_hdmi_driver,
|
&mtk_hdmi_driver,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -1810,3 +1809,4 @@ module_exit(mtk_hdmitx_exit);
|
||||||
MODULE_AUTHOR("Jie Qiu <jie.qiu@mediatek.com>");
|
MODULE_AUTHOR("Jie Qiu <jie.qiu@mediatek.com>");
|
||||||
MODULE_DESCRIPTION("MediaTek HDMI Driver");
|
MODULE_DESCRIPTION("MediaTek HDMI Driver");
|
||||||
MODULE_LICENSE("GPL v2");
|
MODULE_LICENSE("GPL v2");
|
||||||
|
MODULE_IMPORT_NS("DRM_MTK_HDMI_V1");
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,6 @@
|
||||||
|
|
||||||
struct platform_driver;
|
struct platform_driver;
|
||||||
|
|
||||||
extern struct platform_driver mtk_cec_driver;
|
|
||||||
extern struct platform_driver mtk_hdmi_ddc_driver;
|
extern struct platform_driver mtk_hdmi_ddc_driver;
|
||||||
|
|
||||||
#endif /* _MTK_HDMI_CTRL_H */
|
#endif /* _MTK_HDMI_CTRL_H */
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user