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); if (!priv) { DRM_ERROR("no memory to allocate for hibmc_drm_private\n"); return -ENOMEM;
Hi
Am 02.07.20 um 03:21 schrieb Tian Tao:
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>
Please keep the DRM include statements sorted alphabetically.
With this fixed
Reviewed-by: Thomas Zimmermann tzimmermann@suse.de
#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;
Hi:
Thanks for the help with the review code. I will send v2 to fixed this.
Best
-----邮件原件----- 发件人: Thomas Zimmermann [mailto:tzimmermann@suse.de] 发送时间: 2020年7月2日 14:43 收件人: tiantao (H) tiantao6@hisilicon.com; Chenfeng (puck) puck.chen@hisilicon.com; airlied@linux.ie; daniel@ffwll.ch; kraxel@redhat.com; alexander.deucher@amd.com; tglx@linutronix.de; dri-devel@lists.freedesktop.org; xinliang.liu@linaro.org; linux-kernel@vger.kernel.org 抄送: inuxarm@huawei.com 主题: Re: [PATCH] drm/hisilicon: Use drmm_kzalloc() instead of devm_kzalloc()
Hi
Am 02.07.20 um 03:21 schrieb Tian Tao:
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>
Please keep the DRM include statements sorted alphabetically.
With this fixed
Reviewed-by: Thomas Zimmermann tzimmermann@suse.de
#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;
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
dri-devel@lists.freedesktop.org