aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx/patches-5.10/950-0675-drm-vc4-hdmi-Drop-devm-interrupt-handler-for-CEC-int.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/bcm27xx/patches-5.10/950-0675-drm-vc4-hdmi-Drop-devm-interrupt-handler-for-CEC-int.patch')
-rw-r--r--target/linux/bcm27xx/patches-5.10/950-0675-drm-vc4-hdmi-Drop-devm-interrupt-handler-for-CEC-int.patch38
1 files changed, 12 insertions, 26 deletions
diff --git a/target/linux/bcm27xx/patches-5.10/950-0675-drm-vc4-hdmi-Drop-devm-interrupt-handler-for-CEC-int.patch b/target/linux/bcm27xx/patches-5.10/950-0675-drm-vc4-hdmi-Drop-devm-interrupt-handler-for-CEC-int.patch
index a4b9df85dc..4c3f170067 100644
--- a/target/linux/bcm27xx/patches-5.10/950-0675-drm-vc4-hdmi-Drop-devm-interrupt-handler-for-CEC-int.patch
+++ b/target/linux/bcm27xx/patches-5.10/950-0675-drm-vc4-hdmi-Drop-devm-interrupt-handler-for-CEC-int.patch
@@ -25,57 +25,43 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
-@@ -1902,40 +1902,49 @@ static int vc4_hdmi_cec_init(struct vc4_
+@@ -1896,25 +1896,23 @@ static int vc4_hdmi_cec_init(struct vc4_
vc4_hdmi_cec_update_clk_div(vc4_hdmi);
if (vc4_hdmi->variant->external_irq_controller) {
- ret = devm_request_threaded_irq(&pdev->dev,
- platform_get_irq_byname(pdev, "cec-rx"),
-- vc4_cec_irq_handler_rx_bare,
-- vc4_cec_irq_handler_rx_thread, 0,
-- "vc4 hdmi cec rx", vc4_hdmi);
+ ret = request_threaded_irq(platform_get_irq_byname(pdev, "cec-rx"),
-+ vc4_cec_irq_handler_rx_bare,
-+ vc4_cec_irq_handler_rx_thread, 0,
-+ "vc4 hdmi cec rx", vc4_hdmi);
+ vc4_cec_irq_handler_rx_bare,
+ vc4_cec_irq_handler_rx_thread, 0,
+ "vc4 hdmi cec rx", vc4_hdmi);
if (ret)
goto err_delete_cec_adap;
- ret = devm_request_threaded_irq(&pdev->dev,
- platform_get_irq_byname(pdev, "cec-tx"),
-- vc4_cec_irq_handler_tx_bare,
-- vc4_cec_irq_handler_tx_thread, 0,
-- "vc4 hdmi cec tx", vc4_hdmi);
+ ret = request_threaded_irq(platform_get_irq_byname(pdev, "cec-tx"),
-+ vc4_cec_irq_handler_tx_bare,
-+ vc4_cec_irq_handler_tx_thread, 0,
-+ "vc4 hdmi cec tx", vc4_hdmi);
+ vc4_cec_irq_handler_tx_bare,
+ vc4_cec_irq_handler_tx_thread, 0,
+ "vc4 hdmi cec tx", vc4_hdmi);
if (ret)
- goto err_delete_cec_adap;
+ goto err_remove_cec_rx_handler;
-+
} else {
HDMI_WRITE(HDMI_CEC_CPU_MASK_SET, 0xffffffff);
- ret = devm_request_threaded_irq(&pdev->dev, platform_get_irq(pdev, 0),
-- vc4_cec_irq_handler,
-- vc4_cec_irq_handler_thread, 0,
-- "vc4 hdmi cec", vc4_hdmi);
+ ret = request_threaded_irq(platform_get_irq(pdev, 0),
-+ vc4_cec_irq_handler,
-+ vc4_cec_irq_handler_thread, 0,
-+ "vc4 hdmi cec", vc4_hdmi);
- if (ret)
- goto err_delete_cec_adap;
- }
+ vc4_cec_irq_handler,
+ vc4_cec_irq_handler_thread, 0,
+ "vc4 hdmi cec", vc4_hdmi);
+@@ -1924,10 +1922,20 @@ static int vc4_hdmi_cec_init(struct vc4_
ret = cec_register_adapter(vc4_hdmi->cec_adap, &pdev->dev);
if (ret < 0)
- goto err_delete_cec_adap;
+ goto err_remove_handlers;
- pm_runtime_put(&vc4_hdmi->pdev->dev);
-
return 0;
+err_remove_handlers:
@@ -91,7 +77,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
err_delete_cec_adap:
cec_delete_adapter(vc4_hdmi->cec_adap);
-@@ -1944,6 +1953,15 @@ err_delete_cec_adap:
+@@ -1936,6 +1944,15 @@ err_delete_cec_adap:
static void vc4_hdmi_cec_exit(struct vc4_hdmi *vc4_hdmi)
{