From 6db36ed854284d46a8910aa2fa3f7415c5f5e9d0 Mon Sep 17 00:00:00 2001 From: Yi Zhou Date: Fri, 27 Apr 2018 17:00:15 +0800 Subject: [PATCH] hdmitx: add drm flag in hdmitx driver PD#165128: hdmitx: add drm flag in hdmitx driver Change-Id: I56e4dc7ecf88a7ec330665d9dcff9744eac3d701 Signed-off-by: Yi Zhou --- .../boot/dts/amlogic/g12a_s905d2_skt_buildroot.dts | 12 ------------ arch/arm64/boot/dts/amlogic/meson_drm.dtsi | 9 --------- arch/arm64/boot/dts/amlogic/mesong12a_drm.dtsi | 1 - .../media/vout/hdmitx/hdmi_tx_20/hdmi_tx_main.c | 12 +++++++++--- 4 files changed, 9 insertions(+), 25 deletions(-) diff --git a/arch/arm64/boot/dts/amlogic/g12a_s905d2_skt_buildroot.dts b/arch/arm64/boot/dts/amlogic/g12a_s905d2_skt_buildroot.dts index 579c79824ac7..09230325d7d0 100644 --- a/arch/arm64/boot/dts/amlogic/g12a_s905d2_skt_buildroot.dts +++ b/arch/arm64/boot/dts/amlogic/g12a_s905d2_skt_buildroot.dts @@ -632,18 +632,6 @@ pxp_mode = <0>; /** 0:normal mode 1:pxp mode */ }; -&drm_vpu { - status = "okay"; -}; - -&drm_amhdmitx { - status = "okay"; -}; - -&drm_lcd { - status = "okay"; -}; - &i2c0 { status = "okay"; pinctrl-names="default"; diff --git a/arch/arm64/boot/dts/amlogic/meson_drm.dtsi b/arch/arm64/boot/dts/amlogic/meson_drm.dtsi index d8c1e4ad0dba..a08ed993bde9 100644 --- a/arch/arm64/boot/dts/amlogic/meson_drm.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson_drm.dtsi @@ -21,7 +21,6 @@ compatible = "amlogic,drm-amhdmitx"; dev_name = "meson-amhdmitx"; interrupts = ; - drm_feature = <1>; ports { port { #address-cells = <1>; @@ -81,14 +80,6 @@ }; }; -&drm_vpu { - status = "okay"; -}; - -&drm_amhdmitx { - status = "okay"; -}; - &gpu{ /*gpu max freq is 750M*/ def_clk = <1>; diff --git a/arch/arm64/boot/dts/amlogic/mesong12a_drm.dtsi b/arch/arm64/boot/dts/amlogic/mesong12a_drm.dtsi index 69057633df5d..2865461e3dc8 100644 --- a/arch/arm64/boot/dts/amlogic/mesong12a_drm.dtsi +++ b/arch/arm64/boot/dts/amlogic/mesong12a_drm.dtsi @@ -42,7 +42,6 @@ compatible = "amlogic,drm-amhdmitx"; dev_name = "meson-amhdmitx"; interrupts = ; - drm_feature = <1>; ports { port { #address-cells = <1>; diff --git a/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hdmi_tx_main.c b/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hdmi_tx_main.c index 7d7fda9a1757..2d96f83ae12b 100644 --- a/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hdmi_tx_main.c +++ b/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hdmi_tx_main.c @@ -3529,6 +3529,7 @@ static int amhdmitx_get_dt_info(struct platform_device *pdev) phandle phandle; struct device_node *init_data; struct device_node *drm_node; + unsigned char *drm_status; #endif /* HDMITX pinctrl config for hdp and ddc*/ @@ -3604,13 +3605,18 @@ static int amhdmitx_get_dt_info(struct platform_device *pdev) /* Get drm feature information */ drm_node = of_find_node_by_path("/drm-amhdmitx"); if (drm_node) { - ret = of_property_read_u32(drm_node, "drm_feature", - &(hdmitx_device.drm_feature)); + ret = of_property_read_string(drm_node, "status", + (const char **)&(drm_status)); if (ret) pr_info(SYS "not find drm_feature\n"); - else + else { + if (memcmp(drm_status, "okay", 4) == 0) + hdmitx_device.drm_feature = 1; + else + hdmitx_device.drm_feature = 0; pr_info(SYS "hdmitx_device.drm_feature : %d\n", hdmitx_device.drm_feature); + } } else { pr_info(SYS "not find drm_amhdmitx\n"); }