From 229c49d71f877e2a64a0d0aebaf13d9fd9f43a8b Mon Sep 17 00:00:00 2001 From: Lianghu Su Date: Tue, 11 Jul 2017 20:56:33 +0800 Subject: [PATCH] PD#147376: fix hdmitx extcon NULL pointer error. Change-Id: Idabf1f61f4b264115ecdbf147715cbed3c938df1 Signed-off-by: Lianghu Su --- .../media/vout/hdmitx/hdmi_tx_20/hdmi_tx_main.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) 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 1f516e530702..8516428dc514 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 @@ -2920,7 +2920,7 @@ void hdmitx_hdcp_status(int hdmi_authenticated) hdmi_authenticated); } -void hdmitx_extcon_register(struct platform_device *pdev) +void hdmitx_extcon_register(struct platform_device *pdev, struct device *dev) { struct extcon_dev *edev; int ret; @@ -2931,6 +2931,7 @@ void hdmitx_extcon_register(struct platform_device *pdev) hdmi_print(IMP, SYS "failed to allocate hdmitx extcon hdmi\n"); return; } + edev->dev.parent = dev; edev->name = "hdmitx_extcon_hdmi"; dev_set_name(&edev->dev, "hdmi"); ret = extcon_dev_register(edev); @@ -2947,6 +2948,7 @@ void hdmitx_extcon_register(struct platform_device *pdev) return; } + edev->dev.parent = dev; edev->name = "hdmitx_excton_audio"; dev_set_name(&edev->dev, "hdmi_audio"); ret = extcon_dev_register(edev); @@ -2963,6 +2965,7 @@ void hdmitx_extcon_register(struct platform_device *pdev) return; } + edev->dev.parent = dev; edev->name = "hdmitx_excton_power"; dev_set_name(&edev->dev, "hdmi_power"); ret = extcon_dev_register(edev); @@ -2979,6 +2982,7 @@ void hdmitx_extcon_register(struct platform_device *pdev) return; } + edev->dev.parent = dev; edev->name = "hdmitx_excton_hdr"; dev_set_name(&edev->dev, "hdmi_hdr"); ret = extcon_dev_register(edev); @@ -2995,6 +2999,7 @@ void hdmitx_extcon_register(struct platform_device *pdev) return; } + edev->dev.parent = dev; edev->name = "hdmitx_excton_rxsense"; dev_set_name(&edev->dev, "hdmi_rxsense"); ret = extcon_dev_register(edev); @@ -3011,6 +3016,7 @@ void hdmitx_extcon_register(struct platform_device *pdev) return; } + edev->dev.parent = dev; edev->name = "hdmitx_excton_hdcp"; dev_set_name(&edev->dev, "hdcp"); ret = extcon_dev_register(edev); @@ -3221,7 +3227,7 @@ static int amhdmitx_probe(struct platform_device *pdev) } pr_info("hdmitx hpd irq = %d\n", hdmitx_device.irq_hpd); - hdmitx_extcon_register(pdev); + hdmitx_extcon_register(pdev, dev); hdmitx_init_parameters(&hdmitx_device.hdmi_info); HDMITX_Meson_Init(&hdmitx_device);