From 4e17763c321f085e40e1fabef9677628d0fb84fe Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Sun, 23 Sep 2018 15:05:10 +0300 Subject: drm/omap: Whitelist DT nodes to fixup with omapdss, prefix The omapdss driver patches DT at runtime to prepend an "omapdss," prefix to the compatible string of all encoders, panels and connectors. This mechanism ensures they get bound to the omapdss-specific drivers instead of generic drivers. Now that we have drm_bridge support in omapdrm, we need to selectively disable this mechanism. Add a whitelist of compatible strings to patch, and fill it with all the devices we support. They will be removed one by one once corresponding drm_bridge drivers become available and get successfully tested with omapdrm. The omapdss components load check code is updated accordingly to ignore devices managed by external bridge drivers. Signed-off-by: Laurent Pinchart Reviewed-by: Sebastian Reichel Tested-by: Sebastian Reichel Signed-off-by: Tomi Valkeinen --- drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c') diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c b/drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c index 3bfb95d230e0..309b7b453e98 100644 --- a/drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c +++ b/drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c @@ -184,6 +184,25 @@ static const struct of_device_id omapdss_of_match[] __initconst = { {}, }; +static const struct of_device_id omapdss_of_fixups_whitelist[] __initconst = { + { .compatible = "composite-video-connector" }, + { .compatible = "dvi-connector" }, + { .compatible = "hdmi-connector" }, + { .compatible = "lgphilips,lb035q02" }, + { .compatible = "nec,nl8048hl11" }, + { .compatible = "panel-dpi" }, + { .compatible = "panel-dsi-cm" }, + { .compatible = "sharp,ls037v7dw01" }, + { .compatible = "sony,acx565akm" }, + { .compatible = "svideo-connector" }, + { .compatible = "ti,opa362" }, + { .compatible = "ti,tfp410" }, + { .compatible = "ti,tpd12s015" }, + { .compatible = "toppoly,td028ttec1" }, + { .compatible = "tpo,td028ttec1" }, + { .compatible = "tpo,td043mtea1" }, +}; + static int __init omapdss_boot_init(void) { struct device_node *dss, *child; @@ -210,7 +229,7 @@ static int __init omapdss_boot_init(void) n = list_first_entry(&dss_conv_list, struct dss_conv_node, list); - if (!n->root) + if (of_match_node(omapdss_of_fixups_whitelist, n->node)) omapdss_omapify_node(n->node); list_del(&n->list); -- cgit v1.2.3 From be3143d8b27f6eec3b3786730822994a944ede52 Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Sun, 23 Sep 2018 15:12:20 +0300 Subject: drm/omap: Remove TFP410 and DVI connector drivers Those components are supported by the drm_bridge infrastructure, remove the omapdrm-specific driver. Signed-off-by: Laurent Pinchart Reviewed-by: Sebastian Reichel Tested-by: Sebastian Reichel Signed-off-by: Tomi Valkeinen --- drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c | 2 -- 1 file changed, 2 deletions(-) (limited to 'drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c') diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c b/drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c index 309b7b453e98..dfeaea639920 100644 --- a/drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c +++ b/drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c @@ -186,7 +186,6 @@ static const struct of_device_id omapdss_of_match[] __initconst = { static const struct of_device_id omapdss_of_fixups_whitelist[] __initconst = { { .compatible = "composite-video-connector" }, - { .compatible = "dvi-connector" }, { .compatible = "hdmi-connector" }, { .compatible = "lgphilips,lb035q02" }, { .compatible = "nec,nl8048hl11" }, @@ -196,7 +195,6 @@ static const struct of_device_id omapdss_of_fixups_whitelist[] __initconst = { { .compatible = "sony,acx565akm" }, { .compatible = "svideo-connector" }, { .compatible = "ti,opa362" }, - { .compatible = "ti,tfp410" }, { .compatible = "ti,tpd12s015" }, { .compatible = "toppoly,td028ttec1" }, { .compatible = "tpo,td028ttec1" }, -- cgit v1.2.3 From 8bf4b1621178ef05bde5b9a14a117ff951dd1260 Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Fri, 7 Dec 2018 23:09:30 +0200 Subject: drm/omap: Remove panel-dpi driver Panels are now supported through the drm_panel infrastructure, remove the omapdrm-specific driver. Signed-off-by: Laurent Pinchart Reviewed-by: Sebastian Reichel Tested-by: Sebastian Reichel Signed-off-by: Tomi Valkeinen --- drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c | 1 - 1 file changed, 1 deletion(-) (limited to 'drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c') diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c b/drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c index dfeaea639920..2b41c75ce988 100644 --- a/drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c +++ b/drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c @@ -189,7 +189,6 @@ static const struct of_device_id omapdss_of_fixups_whitelist[] __initconst = { { .compatible = "hdmi-connector" }, { .compatible = "lgphilips,lb035q02" }, { .compatible = "nec,nl8048hl11" }, - { .compatible = "panel-dpi" }, { .compatible = "panel-dsi-cm" }, { .compatible = "sharp,ls037v7dw01" }, { .compatible = "sony,acx565akm" }, -- cgit v1.2.3