]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/imx: parallel-display: drop edid override support
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Sun, 2 Jun 2024 12:04:44 +0000 (15:04 +0300)
committerDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Mon, 2 Sep 2024 23:20:10 +0000 (02:20 +0300)
None of the in-kernel DT files ever used edid override with the
fsl-imx-drm driver. In case the EDID needs to be specified manually, DRM
core allows one to either override it via the debugfs or to load it via
request_firmware by using DRM_LOAD_EDID_FIRMWARE. In all other cases
EDID and/or modes are to be provided as a part of the panel driver.

Drop support for the edid property.

Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Rob Herring <robh@kernel.org>
Tested-by: Chris Healy <cphealy@gmail.com>
Tested-by: Philipp Zabel <p.zabel@pengutronix.de> # on imx6q-nitrogen6x
Link: https://patchwork.freedesktop.org/patch/msgid/20240602-drm-imx-cleanup-v3-4-e549e2a43100@linaro.org
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
drivers/gpu/drm/imx/ipuv3/parallel-display.c

index 91d7808a2d8d37e140bd93a574010312116a18c9..4d17fb96e77c54db98807d83ae2c27e2e30c4133 100644 (file)
@@ -16,7 +16,6 @@
 
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_bridge.h>
-#include <drm/drm_edid.h>
 #include <drm/drm_managed.h>
 #include <drm/drm_of.h>
 #include <drm/drm_panel.h>
@@ -34,7 +33,6 @@ struct imx_parallel_display_encoder {
 
 struct imx_parallel_display {
        struct device *dev;
-       const struct drm_edid *drm_edid;
        u32 bus_format;
        u32 bus_flags;
        struct drm_display_mode mode;
@@ -62,11 +60,6 @@ static int imx_pd_connector_get_modes(struct drm_connector *connector)
        if (num_modes > 0)
                return num_modes;
 
-       if (imxpd->drm_edid) {
-               drm_edid_connector_update(connector, imxpd->drm_edid);
-               num_modes = drm_edid_connector_add_modes(connector);
-       }
-
        if (np) {
                struct drm_display_mode *mode = drm_mode_create(connector->dev);
                int ret;
@@ -312,9 +305,7 @@ static int imx_pd_probe(struct platform_device *pdev)
 {
        struct device *dev = &pdev->dev;
        struct device_node *np = dev->of_node;
-       const u8 *edidp;
        struct imx_parallel_display *imxpd;
-       int edid_len;
        int ret;
        u32 bus_format = 0;
        const char *fmt;
@@ -329,10 +320,6 @@ static int imx_pd_probe(struct platform_device *pdev)
        if (ret && ret != -ENODEV)
                return ret;
 
-       edidp = of_get_property(np, "edid", &edid_len);
-       if (edidp)
-               imxpd->drm_edid = drm_edid_alloc(edidp, edid_len);
-
        ret = of_property_read_string(np, "interface-pix-fmt", &fmt);
        if (!ret) {
                if (!strcmp(fmt, "rgb24"))
@@ -355,11 +342,7 @@ static int imx_pd_probe(struct platform_device *pdev)
 
 static void imx_pd_remove(struct platform_device *pdev)
 {
-       struct imx_parallel_display *imxpd = platform_get_drvdata(pdev);
-
        component_del(&pdev->dev, &imx_pd_ops);
-
-       drm_edid_free(imxpd->drm_edid);
 }
 
 static const struct of_device_id imx_pd_dt_ids[] = {