Message ID | 20161208110739.24417-2-daniel.vetter@ffwll.ch (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Am Donnerstag, den 08.12.2016, 12:07 +0100 schrieb Daniel Vetter: > fsl is already fully demidlayered in the probe function, but for > convenience stuck with drm_put_dev. Call the unregister/unref parts > separately, to make sure this driver works correct. > > Cc: Stefan Agner <stefan@agner.ch> > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> > --- > drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c > index 320e4728c9b9..d36bf4f8b3de 100644 > --- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c > +++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c > @@ -426,7 +426,8 @@ static int fsl_dcu_drm_remove(struct platform_device *pdev) > > clk_disable_unprepare(fsl_dev->clk); > clk_unregister(fsl_dev->pix_clk); > - drm_put_dev(fsl_dev->drm); > + drm_dev_unregister(fsl_dev->drm); > + drm_dev_unref(fsl_dev->drm); Why not make it work correctly instead of the mechanical change? I.e. move the drm_dev_unregister() up 2 lines.
On Tue, Dec 13, 2016 at 11:53:53AM +0100, Lucas Stach wrote: > Am Donnerstag, den 08.12.2016, 12:07 +0100 schrieb Daniel Vetter: > > fsl is already fully demidlayered in the probe function, but for > > convenience stuck with drm_put_dev. Call the unregister/unref parts > > separately, to make sure this driver works correct. > > > > Cc: Stefan Agner <stefan@agner.ch> > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> > > --- > > drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c > > index 320e4728c9b9..d36bf4f8b3de 100644 > > --- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c > > +++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c > > @@ -426,7 +426,8 @@ static int fsl_dcu_drm_remove(struct platform_device *pdev) > > > > clk_disable_unprepare(fsl_dev->clk); > > clk_unregister(fsl_dev->pix_clk); > > - drm_put_dev(fsl_dev->drm); > > + drm_dev_unregister(fsl_dev->drm); > > + drm_dev_unref(fsl_dev->drm); > > Why not make it work correctly instead of the mechanical change? I.e. > move the drm_dev_unregister() up 2 lines. I have a rebased v2 here which does that, because upstream fsl changed that. Will resend. -Daniel
diff --git a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c index 320e4728c9b9..d36bf4f8b3de 100644 --- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c +++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c @@ -426,7 +426,8 @@ static int fsl_dcu_drm_remove(struct platform_device *pdev) clk_disable_unprepare(fsl_dev->clk); clk_unregister(fsl_dev->pix_clk); - drm_put_dev(fsl_dev->drm); + drm_dev_unregister(fsl_dev->drm); + drm_dev_unref(fsl_dev->drm); return 0; }
fsl is already fully demidlayered in the probe function, but for convenience stuck with drm_put_dev. Call the unregister/unref parts separately, to make sure this driver works correct. Cc: Stefan Agner <stefan@agner.ch> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> --- drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)