Message ID | 20210402152701.v3.4.Ifcf1deaa372eba7eeb4f8eb516c5d15b77a657a9@changeid (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
Series | drm: Fix EDID reading on ti-sn65dsi86 | expand |
Hi Doug, Thank you for the patch. On Fri, Apr 02, 2021 at 03:28:38PM -0700, Douglas Anderson wrote: > Let's make the remove() function strictly the reverse of the probe() > function so it's easier to reason about. > > This patch was created by code inspection and should move us closer to > a proper remove. > > Signed-off-by: Douglas Anderson <dianders@chromium.org> > Reviewed-by: Andrzej Hajda <a.hajda@samsung.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > --- > > Changes in v3: > - Removed "NOTES" from commit message. > > drivers/gpu/drm/bridge/ti-sn65dsi86.c | 15 ++++++++------- > 1 file changed, 8 insertions(+), 7 deletions(-) > > diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c b/drivers/gpu/drm/bridge/ti-sn65dsi86.c > index 76f43af6735d..c006678c9921 100644 > --- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c > +++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c > @@ -1315,20 +1315,21 @@ static int ti_sn_bridge_remove(struct i2c_client *client) > if (!pdata) > return -EINVAL; > > - kfree(pdata->edid); > - ti_sn_debugfs_remove(pdata); > - > - of_node_put(pdata->host_node); > - > - pm_runtime_disable(pdata->dev); > - > if (pdata->dsi) { > mipi_dsi_detach(pdata->dsi); > mipi_dsi_device_unregister(pdata->dsi); > } > > + kfree(pdata->edid); > + > + ti_sn_debugfs_remove(pdata); > + > drm_bridge_remove(&pdata->bridge); > > + pm_runtime_disable(pdata->dev); > + > + of_node_put(pdata->host_node); > + > return 0; > } >
diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c b/drivers/gpu/drm/bridge/ti-sn65dsi86.c index 76f43af6735d..c006678c9921 100644 --- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c +++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c @@ -1315,20 +1315,21 @@ static int ti_sn_bridge_remove(struct i2c_client *client) if (!pdata) return -EINVAL; - kfree(pdata->edid); - ti_sn_debugfs_remove(pdata); - - of_node_put(pdata->host_node); - - pm_runtime_disable(pdata->dev); - if (pdata->dsi) { mipi_dsi_detach(pdata->dsi); mipi_dsi_device_unregister(pdata->dsi); } + kfree(pdata->edid); + + ti_sn_debugfs_remove(pdata); + drm_bridge_remove(&pdata->bridge); + pm_runtime_disable(pdata->dev); + + of_node_put(pdata->host_node); + return 0; }