struct gpio_desc *gpio_reset;
        struct gpio_desc *gpio_powerdown;
        struct device_link *link;
-       struct edid *edid;
        bool pre_enabled;
        bool need_post_hpd_delay;
 };
        return container_of(aux, struct ps8640, aux);
 }
 
-static bool ps8640_of_panel_on_aux_bus(struct device *dev)
-{
-       struct device_node *bus, *panel;
-
-       bus = of_get_child_by_name(dev->of_node, "aux-bus");
-       if (!bus)
-               return false;
-
-       panel = of_get_child_by_name(bus, "panel");
-       of_node_put(bus);
-       if (!panel)
-               return false;
-       of_node_put(panel);
-
-       return true;
-}
-
 static int _ps8640_wait_hpd_asserted(struct ps8640 *ps_bridge, unsigned long wait_us)
 {
        struct regmap *map = ps_bridge->regmap[PAGE2_TOP_CNTL];
                device_link_del(ps_bridge->link);
 }
 
-static struct edid *ps8640_bridge_get_edid(struct drm_bridge *bridge,
-                                          struct drm_connector *connector)
-{
-       struct ps8640 *ps_bridge = bridge_to_ps8640(bridge);
-       struct device *dev = &ps_bridge->page[PAGE0_DP_CNTL]->dev;
-       bool poweroff = !ps_bridge->pre_enabled;
-
-       if (!ps_bridge->edid) {
-               /*
-                * When we end calling get_edid() triggered by an ioctl, i.e
-                *
-                *   drm_mode_getconnector (ioctl)
-                *     -> drm_helper_probe_single_connector_modes
-                *        -> drm_bridge_connector_get_modes
-                *           -> ps8640_bridge_get_edid
-                *
-                * We need to make sure that what we need is enabled before
-                * reading EDID, for this chip, we need to do a full poweron,
-                * otherwise it will fail.
-                */
-               if (poweroff)
-                       drm_atomic_bridge_chain_pre_enable(bridge,
-                                                          connector->state->state);
-
-               ps_bridge->edid = drm_get_edid(connector,
-                                              ps_bridge->page[PAGE0_DP_CNTL]->adapter);
-
-               /*
-                * If we call the get_edid() function without having enabled the
-                * chip before, return the chip to its original power state.
-                */
-               if (poweroff)
-                       drm_atomic_bridge_chain_post_disable(bridge,
-                                                            connector->state->state);
-       }
-
-       if (!ps_bridge->edid) {
-               dev_err(dev, "Failed to get EDID\n");
-               return NULL;
-       }
-
-       return drm_edid_duplicate(ps_bridge->edid);
-}
-
 static void ps8640_runtime_disable(void *data)
 {
        pm_runtime_dont_use_autosuspend(data);
 static const struct drm_bridge_funcs ps8640_bridge_funcs = {
        .attach = ps8640_bridge_attach,
        .detach = ps8640_bridge_detach,
-       .get_edid = ps8640_bridge_get_edid,
        .atomic_post_disable = ps8640_atomic_post_disable,
        .atomic_pre_enable = ps8640_atomic_pre_enable,
        .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state,
        ps_bridge->bridge.of_node = dev->of_node;
        ps_bridge->bridge.type = DRM_MODE_CONNECTOR_eDP;
 
-       /*
-        * In the device tree, if panel is listed under aux-bus of the bridge
-        * node, panel driver should be able to retrieve EDID by itself using
-        * aux-bus. So let's not set DRM_BRIDGE_OP_EDID here.
-        */
-       if (!ps8640_of_panel_on_aux_bus(&client->dev))
-               ps_bridge->bridge.ops = DRM_BRIDGE_OP_EDID;
-
        /*
         * Get MIPI DSI resources early. These can return -EPROBE_DEFER so
         * we want to get them out of the way sooner.
        return ret;
 }
 
-static void ps8640_remove(struct i2c_client *client)
-{
-       struct ps8640 *ps_bridge = i2c_get_clientdata(client);
-
-       kfree(ps_bridge->edid);
-}
-
 static const struct of_device_id ps8640_match[] = {
        { .compatible = "parade,ps8640" },
        { }
 
 static struct i2c_driver ps8640_driver = {
        .probe = ps8640_probe,
-       .remove = ps8640_remove,
        .driver = {
                .name = "ps8640",
                .of_match_table = ps8640_match,