2020-07-02 01:34:49

by Tian Tao

[permalink] [raw]
Subject: [PATCH] drm/hisilicon: Use drmm_kzalloc() instead of devm_kzalloc()

using the new API drmm_kzalloc() instead of devm_kzalloc()

Signed-off-by: Tian Tao <[email protected]>
---
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;
--
2.7.4


2020-07-02 06:43:41

by Thomas Zimmermann

[permalink] [raw]
Subject: 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 <[email protected]>
> ---
> 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 <[email protected]>

>
> #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;
>

--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Felix Imendörffer


Attachments:
signature.asc (527.00 B)
OpenPGP digital signature

2020-07-02 07:06:59

by Tian Tao

[permalink] [raw]
Subject: 答复: [PATCH] drm/hisilicon: Use drmm_kzall oc() instead of devm_kzalloc()

Hi:

Thanks for the help with the review code. I will send v2 to fixed this.

Best

-----邮件原件-----
发件人: Thomas Zimmermann [mailto:[email protected]]
发送时间: 2020年7月2日 14:43
收件人: tiantao (H) <[email protected]>; Chenfeng (puck) <[email protected]>; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]
抄送: [email protected]
主题: 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 <[email protected]>
> ---
> 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 <[email protected]>

>
> #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;
>

--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Felix Imendörffer

2020-07-02 13:16:54

by Daniel Vetter

[permalink] [raw]
Subject: Re: [PATCH] drm/hisilicon: Use drmm_kzalloc() instead of devm_kzalloc()

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 <[email protected]>
> ---
> 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
>

--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

2020-07-02 14:08:25

by Thomas Zimmermann

[permalink] [raw]
Subject: Re: [PATCH] drm/hisilicon: Use drmm_kzalloc() instead of devm_kzalloc()

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 <[email protected]>
>> ---
>> 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
>>
>

--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Felix Imendörffer


Attachments:
signature.asc (527.00 B)
OpenPGP digital signature