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

Signed-off-by: Tian Tao <[email protected]>
---
 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c  | 55 ++++++-------------------
 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.h |  2 +
 2 files changed, 15 insertions(+), 42 deletions(-)

diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c 
b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c
index 66132eb..af24c72 100644
--- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c
+++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_de.c
@@ -157,37 +157,6 @@ static const struct drm_plane_helper_funcs 
hibmc_plane_helper_funcs = {
        .atomic_update = hibmc_plane_atomic_update,
 };
 
-static struct drm_plane *hibmc_plane_init(struct hibmc_drm_private *priv)
-{
-       struct drm_device *dev = priv->dev;
-       struct drm_plane *plane;
-       int ret = 0;
-
-       plane = devm_kzalloc(dev->dev, sizeof(*plane), GFP_KERNEL);
-       if (!plane) {
-               DRM_ERROR("failed to alloc memory when init plane\n");
-               return ERR_PTR(-ENOMEM);
-       }
-       /*
-        * plane init
-        * TODO: Now only support primary plane, overlay planes
-        * need to do.
-        */
-       ret = drm_universal_plane_init(dev, plane, 1, &hibmc_plane_funcs,
-                                      channel_formats1,
-                                      ARRAY_SIZE(channel_formats1),
-                                      NULL,
-                                      DRM_PLANE_TYPE_PRIMARY,
-                                      NULL);
-       if (ret) {
-               DRM_ERROR("failed to init plane: %d\n", ret);
-               return ERR_PTR(ret);
-       }
-
-       drm_plane_helper_add(plane, &hibmc_plane_helper_funcs);
-       return plane;
-}
-
 static void hibmc_crtc_dpms(struct drm_crtc *crtc, int dpms)
 {
        struct hibmc_drm_private *priv = crtc->dev->dev_private;
@@ -534,22 +503,24 @@ static const struct drm_crtc_helper_funcs 
hibmc_crtc_helper_funcs = {
 int hibmc_de_init(struct hibmc_drm_private *priv)
 {
        struct drm_device *dev = priv->dev;
-       struct drm_crtc *crtc;
-       struct drm_plane *plane;
+       struct drm_crtc *crtc = &priv->crtc;
+       struct drm_plane *plane = &priv->plane;
        int ret;
 
-       plane = hibmc_plane_init(priv);
-       if (IS_ERR(plane)) {
-               DRM_ERROR("failed to create plane: %ld\n", PTR_ERR(plane));
-               return PTR_ERR(plane);
-       }
+       ret = drm_universal_plane_init(dev, plane, 1, &hibmc_plane_funcs,
+                                      channel_formats1,
+                                      ARRAY_SIZE(channel_formats1),
+                                      NULL,
+                                      DRM_PLANE_TYPE_PRIMARY,
+                                      NULL);
 
-       crtc = devm_kzalloc(dev->dev, sizeof(*crtc), GFP_KERNEL);
-       if (!crtc) {
-               DRM_ERROR("failed to alloc memory when init crtc\n");
-               return -ENOMEM;
+       if (ret) {
+               DRM_ERROR("failed to init plane: %d\n", ret);
+               return ret;
        }
 
+       drm_plane_helper_add(plane, &hibmc_plane_helper_funcs);
+
        ret = drm_crtc_init_with_planes(dev, crtc, plane,
                                        NULL, &hibmc_crtc_funcs, NULL);
        if (ret) {
diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.h 
b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.h
index a683763..91ef15c 100644
--- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.h
+++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.h
@@ -28,6 +28,8 @@ struct hibmc_drm_private {
 
        /* drm */
        struct drm_device  *dev;
+       struct drm_plane plane;
+       struct drm_crtc crtc;
        struct drm_encoder encoder;
        struct drm_connector connector;
        bool mode_config_initialized;
-- 
2.7.4

_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to