Message ID | 1593652914-19639-1-git-send-email-tiantao6@hisilicon.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/hisilicon: Use drmm_kzalloc() instead of devm_kzalloc() | expand |
On Thu, Jul 02, 2020 at 09:21:54AM +0800, Tian Tao wrote: > using the new API drmm_kzalloc() instead of devm_kzalloc() > > Signed-off-by: Tian Tao <tiantao6@hisilicon.com> > --- > drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c > index a6fd0c2..2f20704 100644 > --- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c > +++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c > @@ -23,6 +23,7 @@ > #include <drm/drm_print.h> > #include <drm/drm_probe_helper.h> > #include <drm/drm_vblank.h> > +#include <drm/drm_managed.h> > > #include "hibmc_drm_drv.h" > #include "hibmc_drm_regs.h" > @@ -267,7 +268,7 @@ static int hibmc_load(struct drm_device *dev) > struct hibmc_drm_private *priv; > int ret; > > - priv = devm_kzalloc(dev->dev, sizeof(*priv), GFP_KERNEL); > + priv = drmm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); Hm would be nice if hisilicon could entirely switch over to embedding, and stop using the driver private pointer. Quite a bit more work though. As-is this change here isn't really brining you closer to that, pretty much all the lifetime bugs around hotunload are still there. -Daniel > if (!priv) { > DRM_ERROR("no memory to allocate for hibmc_drm_private\n"); > return -ENOMEM; > -- > 2.7.4 >
Hi Daniel Am 02.07.20 um 15:16 schrieb Daniel Vetter: > On Thu, Jul 02, 2020 at 09:21:54AM +0800, Tian Tao wrote: >> using the new API drmm_kzalloc() instead of devm_kzalloc() >> >> Signed-off-by: Tian Tao <tiantao6@hisilicon.com> >> --- >> drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c >> index a6fd0c2..2f20704 100644 >> --- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c >> +++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c >> @@ -23,6 +23,7 @@ >> #include <drm/drm_print.h> >> #include <drm/drm_probe_helper.h> >> #include <drm/drm_vblank.h> >> +#include <drm/drm_managed.h> >> >> #include "hibmc_drm_drv.h" >> #include "hibmc_drm_regs.h" >> @@ -267,7 +268,7 @@ static int hibmc_load(struct drm_device *dev) >> struct hibmc_drm_private *priv; >> int ret; >> >> - priv = devm_kzalloc(dev->dev, sizeof(*priv), GFP_KERNEL); >> + priv = drmm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); > > Hm would be nice if hisilicon could entirely switch over to embedding, and > stop using the driver private pointer. Quite a bit more work though. As-is > this change here isn't really brining you closer to that, pretty much all > the lifetime bugs around hotunload are still there. Well, it's a first step. The follow-up patch for embedding connector and encoder removes more instances of devm_kzalloc(). Although I have to say, I'd rather review a longer patch series that fully addresses the problem, instead the current one-by-one approach. Best regards Thomas > -Daniel > >> if (!priv) { >> DRM_ERROR("no memory to allocate for hibmc_drm_private\n"); >> return -ENOMEM; >> -- >> 2.7.4 >> >
diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c index a6fd0c2..2f20704 100644 --- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c +++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c @@ -23,6 +23,7 @@ #include <drm/drm_print.h> #include <drm/drm_probe_helper.h> #include <drm/drm_vblank.h> +#include <drm/drm_managed.h> #include "hibmc_drm_drv.h" #include "hibmc_drm_regs.h" @@ -267,7 +268,7 @@ static int hibmc_load(struct drm_device *dev) struct hibmc_drm_private *priv; int ret; - priv = devm_kzalloc(dev->dev, sizeof(*priv), GFP_KERNEL); + priv = drmm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); if (!priv) { DRM_ERROR("no memory to allocate for hibmc_drm_private\n"); return -ENOMEM;
using the new API drmm_kzalloc() instead of devm_kzalloc() Signed-off-by: Tian Tao <tiantao6@hisilicon.com> --- drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)