2020-04-11 02:53:11

by Tian Tao

[permalink] [raw]
Subject: [PATCH] drm/hisilicon: Code refactoring for hibmc_drv_vdac

code refactoring for hibmc_drv_vdac.c, no actual function changes.

Signed-off-by: Tian Tao <[email protected]>
---
drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c | 48 ++++++++----------------
1 file changed, 15 insertions(+), 33 deletions(-)

diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c
index 678ac2e..d56c5d4 100644
--- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c
+++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c
@@ -52,32 +52,6 @@ static const struct drm_connector_funcs hibmc_connector_funcs = {
.atomic_destroy_state = drm_atomic_helper_connector_destroy_state,
};

-static struct drm_connector *
-hibmc_connector_init(struct hibmc_drm_private *priv)
-{
- struct drm_device *dev = priv->dev;
- struct drm_connector *connector;
- int ret;
-
- connector = devm_kzalloc(dev->dev, sizeof(*connector), GFP_KERNEL);
- if (!connector) {
- DRM_ERROR("failed to alloc memory when init connector\n");
- return ERR_PTR(-ENOMEM);
- }
-
- ret = drm_connector_init(dev, connector,
- &hibmc_connector_funcs,
- DRM_MODE_CONNECTOR_VGA);
- if (ret) {
- DRM_ERROR("failed to init connector: %d\n", ret);
- return ERR_PTR(ret);
- }
- drm_connector_helper_add(connector,
- &hibmc_connector_helper_funcs);
-
- return connector;
-}
-
static void hibmc_encoder_mode_set(struct drm_encoder *encoder,
struct drm_display_mode *mode,
struct drm_display_mode *adj_mode)
@@ -109,13 +83,6 @@ int hibmc_vdac_init(struct hibmc_drm_private *priv)
struct drm_connector *connector;
int ret;

- connector = hibmc_connector_init(priv);
- if (IS_ERR(connector)) {
- DRM_ERROR("failed to create connector: %ld\n",
- PTR_ERR(connector));
- return PTR_ERR(connector);
- }
-
encoder = devm_kzalloc(dev->dev, sizeof(*encoder), GFP_KERNEL);
if (!encoder) {
DRM_ERROR("failed to alloc memory when init encoder\n");
@@ -131,6 +98,21 @@ int hibmc_vdac_init(struct hibmc_drm_private *priv)
}

drm_encoder_helper_add(encoder, &hibmc_encoder_helper_funcs);
+
+ connector = devm_kzalloc(dev->dev, sizeof(*connector), GFP_KERNEL);
+ if (!connector) {
+ DRM_ERROR("failed to alloc memory when init connector\n");
+ return -ENOMEM;
+ }
+
+ ret = drm_connector_init(dev, connector, &hibmc_connector_funcs,
+ DRM_MODE_CONNECTOR_VGA);
+ if (ret) {
+ DRM_ERROR("failed to init connector: %d\n", ret);
+ return ret;
+ }
+ drm_connector_helper_add(connector, &hibmc_connector_helper_funcs);
+
drm_connector_attach_encoder(connector, encoder);

return 0;
--
2.7.4


2020-04-11 03:49:43

by Joe Perches

[permalink] [raw]
Subject: Re: [PATCH] drm/hisilicon: Code refactoring for hibmc_drv_vdac

On Sat, 2020-04-11 at 10:49 +0800, Tian Tao wrote:
> code refactoring for hibmc_drv_vdac.c, no actual function changes.

Seems sensible.

> diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c
[]
> @@ -109,13 +83,6 @@ int hibmc_vdac_init(struct hibmc_drm_private *priv)
> struct drm_connector *connector;
> int ret;
>
> - connector = hibmc_connector_init(priv);
> - if (IS_ERR(connector)) {
> - DRM_ERROR("failed to create connector: %ld\n",
> - PTR_ERR(connector));
> - return PTR_ERR(connector);
> - }
> -
> encoder = devm_kzalloc(dev->dev, sizeof(*encoder), GFP_KERNEL);
> if (!encoder) {
> DRM_ERROR("failed to alloc memory when init encoder\n");

The alloc error messages could be removed.

> @@ -131,6 +98,21 @@ int hibmc_vdac_init(struct hibmc_drm_private *priv)
> }
>
> drm_encoder_helper_add(encoder, &hibmc_encoder_helper_funcs);
> +
> + connector = devm_kzalloc(dev->dev, sizeof(*connector), GFP_KERNEL);
> + if (!connector) {
> + DRM_ERROR("failed to alloc memory when init connector\n");

and here.


2020-04-11 06:15:43

by tiantao (H)

[permalink] [raw]
Subject: Re: [PATCH] drm/hisilicon: Code refactoring for hibmc_drv_vdac


Thank you, your suggestion is accepted and I will issue v2

?? 2020/4/11 11:43, Joe Perches ะด??:
> On Sat, 2020-04-11 at 10:49 +0800, Tian Tao wrote:
>> code refactoring for hibmc_drv_vdac.c, no actual function changes.
>
> Seems sensible.
>
>> diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c
> []
>> @@ -109,13 +83,6 @@ int hibmc_vdac_init(struct hibmc_drm_private *priv)
>> struct drm_connector *connector;
>> int ret;
>>
>> - connector = hibmc_connector_init(priv);
>> - if (IS_ERR(connector)) {
>> - DRM_ERROR("failed to create connector: %ld\n",
>> - PTR_ERR(connector));
>> - return PTR_ERR(connector);
>> - }
>> -
>> encoder = devm_kzalloc(dev->dev, sizeof(*encoder), GFP_KERNEL);
>> if (!encoder) {
>> DRM_ERROR("failed to alloc memory when init encoder\n");
>
> The alloc error messages could be removed.
>
>> @@ -131,6 +98,21 @@ int hibmc_vdac_init(struct hibmc_drm_private *priv)
>> }
>>
>> drm_encoder_helper_add(encoder, &hibmc_encoder_helper_funcs);
>> +
>> + connector = devm_kzalloc(dev->dev, sizeof(*connector), GFP_KERNEL);
>> + if (!connector) {
>> + DRM_ERROR("failed to alloc memory when init connector\n");
>
> and here.
>
>
>
> .
>