diff mbox

[11/12] drm: vc4: Use drm_atomic_helper_shutdown() to disable planes on removal

Message ID 20180117215535.16517-12-laurent.pinchart+renesas@ideasonboard.com (mailing list archive)
State New, archived
Headers show

Commit Message

Laurent Pinchart Jan. 17, 2018, 9:55 p.m. UTC
The plane cleanup handler currently calls drm_plane_helper_disable(),
which is a legacy helper function. Replace it with a call to
drm_atomic_helper_shutdown() at removal time. The plane .destroy()
handler now consisting only of a call to drm_plane_cleanup(), replace it
with direct calls to that function.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
---
 drivers/gpu/drm/msm/Kconfig     | 1 -
 drivers/gpu/drm/vc4/Kconfig     | 1 -
 drivers/gpu/drm/vc4/vc4_drv.c   | 3 +++
 drivers/gpu/drm/vc4/vc4_plane.c | 8 +-------
 drivers/gpu/drm/zte/Kconfig     | 2 +-
 5 files changed, 5 insertions(+), 10 deletions(-)

Comments

kernel test robot Jan. 20, 2018, 11:54 a.m. UTC | #1
Hi Laurent,

I love your patch! Yet something to improve:

[auto build test ERROR on drm/drm-next]
[also build test ERROR on v4.15-rc8 next-20180119]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Laurent-Pinchart/Cargo-cult-cleanup-in-atomic-drivers/20180120-183018
base:   git://people.freedesktop.org/~airlied/linux.git drm-next
config: i386-randconfig-n0-201802 (attached as .config)
compiler: gcc-7 (Debian 7.2.0-12) 7.2.1 20171025
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

   In file included from drivers/gpu/drm/msm/msm_gpu.h:24:0,
                    from drivers/gpu/drm/msm/adreno/adreno_gpu.h:25,
                    from drivers/gpu/drm/msm/adreno/adreno_device.c:21:
>> drivers/gpu/drm/msm/msm_drv.h:35:10: fatal error: asm/sizes.h: No such file or directory
    #include <asm/sizes.h>
             ^~~~~~~~~~~~~
   compilation terminated.

vim +35 drivers/gpu/drm/msm/msm_drv.h

c8afe684 Rob Clark     2013-06-26  20  
c8afe684 Rob Clark     2013-06-26  21  #include <linux/kernel.h>
c8afe684 Rob Clark     2013-06-26  22  #include <linux/clk.h>
c8afe684 Rob Clark     2013-06-26  23  #include <linux/cpufreq.h>
c8afe684 Rob Clark     2013-06-26  24  #include <linux/module.h>
060530f1 Rob Clark     2014-03-03  25  #include <linux/component.h>
c8afe684 Rob Clark     2013-06-26  26  #include <linux/platform_device.h>
c8afe684 Rob Clark     2013-06-26  27  #include <linux/pm.h>
c8afe684 Rob Clark     2013-06-26  28  #include <linux/pm_runtime.h>
c8afe684 Rob Clark     2013-06-26  29  #include <linux/slab.h>
c8afe684 Rob Clark     2013-06-26  30  #include <linux/list.h>
c8afe684 Rob Clark     2013-06-26  31  #include <linux/iommu.h>
c8afe684 Rob Clark     2013-06-26  32  #include <linux/types.h>
3d6df062 Archit Taneja 2015-06-09  33  #include <linux/of_graph.h>
e9fbdaf2 Archit Taneja 2015-11-18  34  #include <linux/of_device.h>
c8afe684 Rob Clark     2013-06-26 @35  #include <asm/sizes.h>
c8afe684 Rob Clark     2013-06-26  36  

:::::: The code at line 35 was first introduced by commit
:::::: c8afe684c95cd17cf4f273d81af369a0fdfa5a74 drm/msm: basic KMS driver for snapdragon

:::::: TO: Rob Clark <robdclark@gmail.com>
:::::: CC: Rob Clark <robdclark@gmail.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
kernel test robot Jan. 20, 2018, 12:03 p.m. UTC | #2
Hi Laurent,

I love your patch! Perhaps something to improve:

[auto build test WARNING on drm/drm-next]
[also build test WARNING on v4.15-rc8 next-20180119]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Laurent-Pinchart/Cargo-cult-cleanup-in-atomic-drivers/20180120-183018
base:   git://people.freedesktop.org/~airlied/linux.git drm-next
config: i386-randconfig-x002-201802 (attached as .config)
compiler: gcc-7 (Debian 7.2.0-12) 7.2.1 20171025
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All warnings (new ones prefixed by >>):

warning: (VIDEO_QCOM_VENUS && DRM_MSM && QCOM_ADSP_PIL && QCOM_Q6V5_PIL && QCOM_WCNSS_PIL && QCOM_MDT_LOADER && QCOM_PM) selects QCOM_SCM which has unmet direct dependencies (ARM || ARM64)

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
diff mbox

Patch

diff --git a/drivers/gpu/drm/msm/Kconfig b/drivers/gpu/drm/msm/Kconfig
index 99d39b2aefa6..d6b0685ca129 100644
--- a/drivers/gpu/drm/msm/Kconfig
+++ b/drivers/gpu/drm/msm/Kconfig
@@ -2,7 +2,6 @@ 
 config DRM_MSM
 	tristate "MSM DRM"
 	depends on DRM
-	depends on ARCH_QCOM || (ARM && COMPILE_TEST)
 	depends on OF && COMMON_CLK
 	depends on MMU
 	select QCOM_MDT_LOADER if ARCH_QCOM
diff --git a/drivers/gpu/drm/vc4/Kconfig b/drivers/gpu/drm/vc4/Kconfig
index fdae18aeab4f..412d7a06f0db 100644
--- a/drivers/gpu/drm/vc4/Kconfig
+++ b/drivers/gpu/drm/vc4/Kconfig
@@ -1,6 +1,5 @@ 
 config DRM_VC4
 	tristate "Broadcom VC4 Graphics"
-	depends on ARCH_BCM || ARCH_BCM2835 || COMPILE_TEST
 	depends on DRM
 	depends on SND && SND_SOC
 	depends on COMMON_CLK
diff --git a/drivers/gpu/drm/vc4/vc4_drv.c b/drivers/gpu/drm/vc4/vc4_drv.c
index ceb385fd69c5..ed2c1c233c39 100644
--- a/drivers/gpu/drm/vc4/vc4_drv.c
+++ b/drivers/gpu/drm/vc4/vc4_drv.c
@@ -31,6 +31,7 @@ 
 #include <linux/of_platform.h>
 #include <linux/platform_device.h>
 #include <linux/pm_runtime.h>
+#include <drm/drm_atomic_helper.h>
 #include <drm/drm_fb_cma_helper.h>
 #include <drm/drm_fb_helper.h>
 
@@ -299,6 +300,8 @@  static void vc4_drm_unbind(struct device *dev)
 
 	drm_fb_cma_fbdev_fini(drm);
 
+	drm_atomic_helper_shutdown(drm);
+
 	drm_mode_config_cleanup(drm);
 
 	drm_dev_unref(drm);
diff --git a/drivers/gpu/drm/vc4/vc4_plane.c b/drivers/gpu/drm/vc4/vc4_plane.c
index 515f97997624..9fcc55078ff7 100644
--- a/drivers/gpu/drm/vc4/vc4_plane.c
+++ b/drivers/gpu/drm/vc4/vc4_plane.c
@@ -825,12 +825,6 @@  static const struct drm_plane_helper_funcs vc4_plane_helper_funcs = {
 	.cleanup_fb = vc4_cleanup_fb,
 };
 
-static void vc4_plane_destroy(struct drm_plane *plane)
-{
-	drm_plane_helper_disable(plane);
-	drm_plane_cleanup(plane);
-}
-
 /* Implements immediate (non-vblank-synced) updates of the cursor
  * position, or falls back to the atomic helper otherwise.
  */
@@ -910,7 +904,7 @@  vc4_update_plane(struct drm_plane *plane,
 static const struct drm_plane_funcs vc4_plane_funcs = {
 	.update_plane = vc4_update_plane,
 	.disable_plane = drm_atomic_helper_disable_plane,
-	.destroy = vc4_plane_destroy,
+	.destroy = drm_plane_cleanup,
 	.set_property = NULL,
 	.reset = vc4_plane_reset,
 	.atomic_duplicate_state = vc4_plane_duplicate_state,
diff --git a/drivers/gpu/drm/zte/Kconfig b/drivers/gpu/drm/zte/Kconfig
index 5b36421ef3e5..76d63bcc5c3a 100644
--- a/drivers/gpu/drm/zte/Kconfig
+++ b/drivers/gpu/drm/zte/Kconfig
@@ -1,6 +1,6 @@ 
 config DRM_ZTE
 	tristate "DRM Support for ZTE SoCs"
-	depends on DRM && ARCH_ZX
+	depends on DRM
 	select DRM_KMS_CMA_HELPER
 	select DRM_KMS_FB_HELPER
 	select DRM_KMS_HELPER