W dniu 30.03.2021 o 04:53, Douglas Anderson pisze: > Now that we have the patch ("drm/edid: Use the cached EDID in > drm_get_edid() if eDP") we no longer need to maintain our own > cache. Drop this code. > > Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx> Reviewed-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Regards Andrzej > --- > > (no changes since v1) > > drivers/gpu/drm/bridge/ti-sn65dsi86.c | 22 +++++++++------------- > 1 file changed, 9 insertions(+), 13 deletions(-) > > diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c b/drivers/gpu/drm/bridge/ti-sn65dsi86.c > index 9577ebd58c4c..c0398daaa4a6 100644 > --- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c > +++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c > @@ -121,7 +121,6 @@ > * @debugfs: Used for managing our debugfs. > * @host_node: Remote DSI node. > * @dsi: Our MIPI DSI source. > - * @edid: Detected EDID of eDP panel. > * @refclk: Our reference clock. > * @panel: Our panel. > * @enable_gpio: The GPIO we toggle to enable the bridge. > @@ -147,7 +146,6 @@ struct ti_sn_bridge { > struct drm_bridge bridge; > struct drm_connector connector; > struct dentry *debugfs; > - struct edid *edid; > struct device_node *host_node; > struct mipi_dsi_device *dsi; > struct clk *refclk; > @@ -269,17 +267,17 @@ connector_to_ti_sn_bridge(struct drm_connector *connector) > static int ti_sn_bridge_connector_get_modes(struct drm_connector *connector) > { > struct ti_sn_bridge *pdata = connector_to_ti_sn_bridge(connector); > - struct edid *edid = pdata->edid; > - int num; > + struct edid *edid; > + int num = 0; > > - if (!edid) { > - pm_runtime_get_sync(pdata->dev); > - edid = pdata->edid = drm_get_edid(connector, &pdata->aux.ddc); > - pm_runtime_put(pdata->dev); > - } > + pm_runtime_get_sync(pdata->dev); > + edid = drm_get_edid(connector, &pdata->aux.ddc); > + pm_runtime_put(pdata->dev); > > - if (edid && drm_edid_is_valid(edid)) { > - num = drm_add_edid_modes(connector, edid); > + if (edid) { > + if (drm_edid_is_valid(edid)) > + num = drm_add_edid_modes(connector, edid); > + kfree(edid); > if (num) > return num; > } > @@ -1308,8 +1306,6 @@ static int ti_sn_bridge_remove(struct i2c_client *client) > if (!pdata) > return -EINVAL; > > - kfree(pdata->edid); > - > ti_sn_debugfs_remove(pdata); > > drm_bridge_remove(&pdata->bridge);