linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/8] drm: minimize drmP.h dependencies
@ 2019-01-12 19:32 Sam Ravnborg
  2019-01-12 19:32 ` [PATCH v4 1/8] drm: move drm_can_sleep() to drm_util.h Sam Ravnborg
                   ` (7 more replies)
  0 siblings, 8 replies; 16+ messages in thread
From: Sam Ravnborg @ 2019-01-12 19:32 UTC (permalink / raw)
  To: Alex Deucher, Alexey Brodkin, Andrzej Hajda, Benjamin Gaignard,
	Chen Feng, Christian Konig, Daniel Vetter, David Airlie,
	David Zhou, Eric Anholt, Gerd Hoffmann, Kieran Bingham,
	Laurent Pinchart, Laurent Pinchart, Maarten Lankhorst,
	Maxime Ripard, Philippe Cornu, Rob Clark, Rongrong Zou,
	Sean Paul, Tomi Valkeinen, Vincent Abriou, Xinliang Liu,
	Xinwei Kong, Yannick Fertre, linux-kernel, dri-devel
  Cc: Sam Ravnborg

Updated patchset, with merged patches removed.
And one patch split in merge frindly bits.

As noted in the commit message for kirin a hack
to kirin/Kconfig was required to build it on my box.
It would be good if we could have this driver covered
by COMPILE_TEST.
There are likely others that could benefit from the same, but
this driver got my attention as Daniel reported build errors
that my setup did not trigger.
Build failed with my arm (32bit) toolchain, I did not investigate
this further.

From the original mail:

- drmP.h is now stripped down to include files and forward declarations.
- All header files in include/drm/ no longer include drmP.h.

The series was made on top of drm-misc-next
Build tested using arm and x86 allmodconfig

The patches are trivial but touches a lot of files,
so a lot of people on cc: for the individual patches.

I expect the full series to be applied to drm-misc-next

	Sam

v4:
- Rebased on top of drm-misc-next and dropped patches already merged
- Include build test of kirin (Daniel)
- Plug drm_util.h into drm-internals.rst (Daniel)
- Fix kernel-doc syntax in drm_util.h (Daniel)
- Split removal of drmP.h from drm_modeset_helper.h
  in smaller patches, to ease the merge process

v3:
- Added Acks/Reviewed annotations (thanks!)
- Add forward of drm_gem_object to drm_framebuffer.h (Noralf)
- Drop "drm: move DRM_IF_VERSION to drm_internal.h" as it is applied to drm-misc
- Drop "drm: make drm_file.h self contained" as Jan made a similar patch that was appleid to drm-misc
- Rebased on top of drm-misc-next

v2:
- DRM_SWITCH_POWER as enum (Daniel Vetter)
- Prefer forward decalration over includes (Laurent Pinchart)
- Updated drm_device to use kerneldoc style (Daniel Vetter)
- Improved commit messages (David Lechner)
- Split up patch when removing drmP.h from drm_gem_cma_helper.h
- rebased on top of drm-misc-next
- dropped patch already applied
- added reviewed-by from Laurent Pinchart (Laurent Pinchart)
- add drm_framebuffer.h patch
- add kernel-doc comments to drm_util.h
- moved EXPORT_SYMBOL_FOR_TESTS_ONLY to drm_util.h
- added note to drmP.h not to add new stuff and not to use in new files



Sam Ravnborg (8):
      drm: move drm_can_sleep() to drm_util.h
      drm: move EXPORT_SYMBOL_FOR_TESTS_ONLY to drm_util.h
      drm/stm: prepare for drmP.h removal from drm_modeset_helper.h
      drm/hisilicon/kirin: prepare for drmP.h removal from drm_modeset_helper.h
      drm/arcpgu: prepare for drmP.h removal from drm_modeset_helper.h
      drm/bridge: cdns: prepare for drmP.h removal from drm_modeset_helper.h
      drmi/rcar-du: prepare for drmP.h removal from drm_modeset_helper.h
      drm: remove drmP.h from drm_modeset_helper.h

 Documentation/gpu/drm-internals.rst             |  9 +++++
 drivers/gpu/drm/amd/amdgpu/atom.c               |  2 +
 drivers/gpu/drm/arc/arcpgu_sim.c                |  3 +-
 drivers/gpu/drm/ast/ast_fb.c                    |  2 +
 drivers/gpu/drm/bridge/cdns-dsi.c               |  2 +
 drivers/gpu/drm/cirrus/cirrus_fbdev.c           |  1 +
 drivers/gpu/drm/drm_damage_helper.c             |  1 +
 drivers/gpu/drm/drm_flip_work.c                 |  1 +
 drivers/gpu/drm/drm_framebuffer.c               |  1 +
 drivers/gpu/drm/drm_modeset_helper.c            |  2 +
 drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c    | 11 +++--
 drivers/gpu/drm/mgag200/mgag200_fb.c            |  1 +
 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c        |  1 +
 drivers/gpu/drm/omapdrm/omap_fbdev.c            |  1 +
 drivers/gpu/drm/qxl/qxl_cmd.c                   |  2 +
 drivers/gpu/drm/radeon/atom.c                   |  2 +
 drivers/gpu/drm/radeon/radeon_legacy_encoders.c |  1 +
 drivers/gpu/drm/rcar-du/rcar_lvds.c             |  1 +
 drivers/gpu/drm/stm/drv.c                       |  4 ++
 drivers/gpu/drm/stm/ltdc.c                      |  7 ++++
 drivers/gpu/drm/vc4/vc4_drv.h                   |  1 +
 include/drm/drmP.h                              | 19 +++------
 include/drm/drm_modeset_helper.h                |  6 ++-
 include/drm/drm_util.h                          | 53 ++++++++++++++++++++++++-
 24 files changed, 115 insertions(+), 19 deletions(-)

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH v4 1/8] drm: move drm_can_sleep() to drm_util.h
  2019-01-12 19:32 [PATCH v4 0/8] drm: minimize drmP.h dependencies Sam Ravnborg
@ 2019-01-12 19:32 ` Sam Ravnborg
  2019-01-18 15:15   ` Laurent Pinchart
  2019-01-12 19:32 ` [PATCH v4 2/8] drm: move EXPORT_SYMBOL_FOR_TESTS_ONLY " Sam Ravnborg
                   ` (6 subsequent siblings)
  7 siblings, 1 reply; 16+ messages in thread
From: Sam Ravnborg @ 2019-01-12 19:32 UTC (permalink / raw)
  To: Alex Deucher, Alexey Brodkin, Andrzej Hajda, Benjamin Gaignard,
	Chen Feng, Christian Konig, Daniel Vetter, David Airlie,
	David Zhou, Eric Anholt, Gerd Hoffmann, Kieran Bingham,
	Laurent Pinchart, Laurent Pinchart, Maarten Lankhorst,
	Maxime Ripard, Philippe Cornu, Rob Clark, Rongrong Zou,
	Sean Paul, Tomi Valkeinen, Vincent Abriou, Xinliang Liu,
	Xinwei Kong, Yannick Fertre, linux-kernel, dri-devel
  Cc: Sam Ravnborg

Move drm_can_sleep() out of drmP.h to allow users
to get rid of the drmP.h include.

There was no header file that was a good match for this helper function.
So add this to drm_util with the relevant includes.

Add include of drm_util.h to all users.

v2:
- Update comments to use kernel-doc style (Daniel)
- Add FIXME to drm_can_sleep and add note that this
  function should not be used in new code (Daniel)

v3:
- Fix kernel-doc syntax (Daniel)
- Plug drm_util.h into drm-internels.rst (Daniel)

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <maxime.ripard@bootlin.com>
Cc: Sean Paul <sean@poorly.run>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: "Christian König" <christian.koenig@amd.com>
Cc: "David (ChunMing) Zhou" <David1.Zhou@amd.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Rob Clark <robdclark@gmail.com>
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: Eric Anholt <eric@anholt.net>
---
 Documentation/gpu/drm-internals.rst             |  9 ++++++
 drivers/gpu/drm/amd/amdgpu/atom.c               |  2 ++
 drivers/gpu/drm/ast/ast_fb.c                    |  2 ++
 drivers/gpu/drm/cirrus/cirrus_fbdev.c           |  1 +
 drivers/gpu/drm/drm_flip_work.c                 |  1 +
 drivers/gpu/drm/mgag200/mgag200_fb.c            |  1 +
 drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c        |  1 +
 drivers/gpu/drm/omapdrm/omap_fbdev.c            |  1 +
 drivers/gpu/drm/qxl/qxl_cmd.c                   |  2 ++
 drivers/gpu/drm/radeon/atom.c                   |  2 ++
 drivers/gpu/drm/radeon/radeon_legacy_encoders.c |  1 +
 drivers/gpu/drm/vc4/vc4_drv.h                   |  1 +
 include/drm/drmP.h                              |  8 -----
 include/drm/drm_util.h                          | 43 ++++++++++++++++++++++++-
 14 files changed, 66 insertions(+), 9 deletions(-)

diff --git a/Documentation/gpu/drm-internals.rst b/Documentation/gpu/drm-internals.rst
index 9090fabf3f7a..2caf21effd28 100644
--- a/Documentation/gpu/drm-internals.rst
+++ b/Documentation/gpu/drm-internals.rst
@@ -233,6 +233,15 @@ Printer
 .. kernel-doc:: drivers/gpu/drm/drm_print.c
    :export:
 
+Utilities
+---------
+
+.. kernel-doc:: include/drm/drm_util.h
+   :doc: drm utils
+
+.. kernel-doc:: include/drm/drm_util.h
+   :internal:
+
 
 Legacy Support Code
 ===================
diff --git a/drivers/gpu/drm/amd/amdgpu/atom.c b/drivers/gpu/drm/amd/amdgpu/atom.c
index e9934de1b9cf..dd30f4e61a8c 100644
--- a/drivers/gpu/drm/amd/amdgpu/atom.c
+++ b/drivers/gpu/drm/amd/amdgpu/atom.c
@@ -27,6 +27,8 @@
 #include <linux/slab.h>
 #include <asm/unaligned.h>
 
+#include <drm/drm_util.h>
+
 #define ATOM_DEBUG
 
 #include "atom.h"
diff --git a/drivers/gpu/drm/ast/ast_fb.c b/drivers/gpu/drm/ast/ast_fb.c
index 75f867d00031..2c9f8dd9733a 100644
--- a/drivers/gpu/drm/ast/ast_fb.c
+++ b/drivers/gpu/drm/ast/ast_fb.c
@@ -39,7 +39,9 @@
 #include <drm/drmP.h>
 #include <drm/drm_crtc.h>
 #include <drm/drm_fb_helper.h>
+#include <drm/drm_util.h>
 #include <drm/drm_crtc_helper.h>
+
 #include "ast_drv.h"
 
 static void ast_dirty_update(struct ast_fbdev *afbdev,
diff --git a/drivers/gpu/drm/cirrus/cirrus_fbdev.c b/drivers/gpu/drm/cirrus/cirrus_fbdev.c
index 4dd499c7d1ba..79fea1b8bc14 100644
--- a/drivers/gpu/drm/cirrus/cirrus_fbdev.c
+++ b/drivers/gpu/drm/cirrus/cirrus_fbdev.c
@@ -10,6 +10,7 @@
  */
 #include <linux/module.h>
 #include <drm/drmP.h>
+#include <drm/drm_util.h>
 #include <drm/drm_fb_helper.h>
 #include <drm/drm_crtc_helper.h>
 
diff --git a/drivers/gpu/drm/drm_flip_work.c b/drivers/gpu/drm/drm_flip_work.c
index 12dea16f22a8..3da3bf5af405 100644
--- a/drivers/gpu/drm/drm_flip_work.c
+++ b/drivers/gpu/drm/drm_flip_work.c
@@ -22,6 +22,7 @@
  */
 
 #include <drm/drmP.h>
+#include <drm/drm_util.h>
 #include <drm/drm_flip_work.h>
 
 /**
diff --git a/drivers/gpu/drm/mgag200/mgag200_fb.c b/drivers/gpu/drm/mgag200/mgag200_fb.c
index 30726c9fe28c..6893934b26c0 100644
--- a/drivers/gpu/drm/mgag200/mgag200_fb.c
+++ b/drivers/gpu/drm/mgag200/mgag200_fb.c
@@ -12,6 +12,7 @@
  */
 #include <linux/module.h>
 #include <drm/drmP.h>
+#include <drm/drm_util.h>
 #include <drm/drm_fb_helper.h>
 #include <drm/drm_crtc_helper.h>
 
diff --git a/drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c b/drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c
index 7cebcb2b3a37..6153514db04c 100644
--- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c
+++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c
@@ -16,6 +16,7 @@
  * this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include <drm/drm_util.h>
 
 #include "mdp5_kms.h"
 #include "mdp5_smp.h"
diff --git a/drivers/gpu/drm/omapdrm/omap_fbdev.c b/drivers/gpu/drm/omapdrm/omap_fbdev.c
index aee99194499f..851c59f07eb1 100644
--- a/drivers/gpu/drm/omapdrm/omap_fbdev.c
+++ b/drivers/gpu/drm/omapdrm/omap_fbdev.c
@@ -16,6 +16,7 @@
  */
 
 #include <drm/drm_crtc.h>
+#include <drm/drm_util.h>
 #include <drm/drm_fb_helper.h>
 
 #include "omap_drv.h"
diff --git a/drivers/gpu/drm/qxl/qxl_cmd.c b/drivers/gpu/drm/qxl/qxl_cmd.c
index dffc5093ff16..2e100f644236 100644
--- a/drivers/gpu/drm/qxl/qxl_cmd.c
+++ b/drivers/gpu/drm/qxl/qxl_cmd.c
@@ -25,6 +25,8 @@
 
 /* QXL cmd/ring handling */
 
+#include <drm/drm_util.h>
+
 #include "qxl_drv.h"
 #include "qxl_object.h"
 
diff --git a/drivers/gpu/drm/radeon/atom.c b/drivers/gpu/drm/radeon/atom.c
index e55cbeee7a53..ac98ad561870 100644
--- a/drivers/gpu/drm/radeon/atom.c
+++ b/drivers/gpu/drm/radeon/atom.c
@@ -27,6 +27,8 @@
 #include <linux/slab.h>
 #include <asm/unaligned.h>
 
+#include <drm/drm_util.h>
+
 #define ATOM_DEBUG
 
 #include "atom.h"
diff --git a/drivers/gpu/drm/radeon/radeon_legacy_encoders.c b/drivers/gpu/drm/radeon/radeon_legacy_encoders.c
index 222a1fa41d7c..7e3257e8fd56 100644
--- a/drivers/gpu/drm/radeon/radeon_legacy_encoders.c
+++ b/drivers/gpu/drm/radeon/radeon_legacy_encoders.c
@@ -24,6 +24,7 @@
  *          Alex Deucher
  */
 #include <drm/drmP.h>
+#include <drm/drm_util.h>
 #include <drm/drm_crtc_helper.h>
 #include <drm/radeon_drm.h>
 #include "radeon.h"
diff --git a/drivers/gpu/drm/vc4/vc4_drv.h b/drivers/gpu/drm/vc4/vc4_drv.h
index c24b078f0593..2c635f001c71 100644
--- a/drivers/gpu/drm/vc4/vc4_drv.h
+++ b/drivers/gpu/drm/vc4/vc4_drv.h
@@ -9,6 +9,7 @@
 #include <linux/mm_types.h>
 #include <linux/reservation.h>
 #include <drm/drmP.h>
+#include <drm/drm_util.h>
 #include <drm/drm_encoder.h>
 #include <drm/drm_gem_cma_helper.h>
 #include <drm/drm_atomic.h>
diff --git a/include/drm/drmP.h b/include/drm/drmP.h
index 9e47c8dc6b87..bc4cb3732407 100644
--- a/include/drm/drmP.h
+++ b/include/drm/drmP.h
@@ -94,14 +94,6 @@ struct dma_buf_attachment;
 struct pci_dev;
 struct pci_controller;
 
-/* returns true if currently okay to sleep */
-static inline bool drm_can_sleep(void)
-{
-	if (in_atomic() || in_dbg_master() || irqs_disabled())
-		return false;
-	return true;
-}
-
 #if defined(CONFIG_DRM_DEBUG_SELFTEST_MODULE)
 #define EXPORT_SYMBOL_FOR_TESTS_ONLY(x) EXPORT_SYMBOL(x)
 #else
diff --git a/include/drm/drm_util.h b/include/drm/drm_util.h
index 88abdca89baa..f776a55e5508 100644
--- a/include/drm/drm_util.h
+++ b/include/drm/drm_util.h
@@ -26,7 +26,48 @@
 #ifndef _DRM_UTIL_H_
 #define _DRM_UTIL_H_
 
-/* helper for handling conditionals in various for_each macros */
+/**
+ * DOC: drm utils
+ *
+ * Macros and inline functions that does not naturally belong in other places
+ */
+
+#include <linux/irqflags.h>
+#include <linux/preempt.h>
+#include <linux/kgdb.h>
+#include <linux/smp.h>
+
+/**
+ * for_each_if - helper for handling conditionals in various for_each macros
+ * @condition: The condition to check
+ *
+ * Typical use::
+ *
+ *	#define for_each_foo_bar(x, y) \'
+ *		list_for_each_entry(x, y->list, head) \'
+ *			for_each_if(x->something == SOMETHING)
+ *
+ * The for_each_if() macro makes the use of for_each_foo_bar() less error
+ * prone.
+ */
 #define for_each_if(condition) if (!(condition)) {} else
 
+/**
+ * drm_can_sleep - returns true if currently okay to sleep
+ *
+ * This function shall not be used in new code.
+ * The check for running in atomic context may not work - see linux/preempt.h.
+ *
+ * FIXME: All users of drm_can_sleep should be removed (see todo.rst)
+ *
+ * Returns:
+ * True if kgdb is active or we are in an atomic context or irqs are disabled
+ */
+static inline bool drm_can_sleep(void)
+{
+	if (in_atomic() || in_dbg_master() || irqs_disabled())
+		return false;
+	return true;
+}
+
 #endif
-- 
2.12.0


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH v4 2/8] drm: move EXPORT_SYMBOL_FOR_TESTS_ONLY to drm_util.h
  2019-01-12 19:32 [PATCH v4 0/8] drm: minimize drmP.h dependencies Sam Ravnborg
  2019-01-12 19:32 ` [PATCH v4 1/8] drm: move drm_can_sleep() to drm_util.h Sam Ravnborg
@ 2019-01-12 19:32 ` Sam Ravnborg
  2019-01-18 15:21   ` Laurent Pinchart
  2019-01-12 19:32 ` [PATCH v4 3/8] drm/stm: prepare for drmP.h removal from drm_modeset_helper.h Sam Ravnborg
                   ` (5 subsequent siblings)
  7 siblings, 1 reply; 16+ messages in thread
From: Sam Ravnborg @ 2019-01-12 19:32 UTC (permalink / raw)
  To: Alex Deucher, Alexey Brodkin, Andrzej Hajda, Benjamin Gaignard,
	Chen Feng, Christian Konig, Daniel Vetter, David Airlie,
	David Zhou, Eric Anholt, Gerd Hoffmann, Kieran Bingham,
	Laurent Pinchart, Laurent Pinchart, Maarten Lankhorst,
	Maxime Ripard, Philippe Cornu, Rob Clark, Rongrong Zou,
	Sean Paul, Tomi Valkeinen, Vincent Abriou, Xinliang Liu,
	Xinwei Kong, Yannick Fertre, linux-kernel, dri-devel
  Cc: Sam Ravnborg

In the quest to get rid of drmP.h move the newly
added EXPORT_SYMBOL_FOR_TESTS_ONLY to drm_util.h.
Fix the single user.

Add a note to drmP.h to avoid further use of it.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <maxime.ripard@bootlin.com>
Cc: Sean Paul <sean@poorly.run>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
---
 drivers/gpu/drm/drm_framebuffer.c |  1 +
 include/drm/drmP.h                | 11 ++++++-----
 include/drm/drm_util.h            | 10 ++++++++++
 3 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/drm_framebuffer.c b/drivers/gpu/drm/drm_framebuffer.c
index fcaea8f50513..7abcb265a108 100644
--- a/drivers/gpu/drm/drm_framebuffer.c
+++ b/drivers/gpu/drm/drm_framebuffer.c
@@ -27,6 +27,7 @@
 #include <drm/drm_atomic.h>
 #include <drm/drm_atomic_uapi.h>
 #include <drm/drm_print.h>
+#include <drm/drm_util.h>
 
 #include "drm_internal.h"
 #include "drm_crtc_internal.h"
diff --git a/include/drm/drmP.h b/include/drm/drmP.h
index bc4cb3732407..3f5c577c9dbd 100644
--- a/include/drm/drmP.h
+++ b/include/drm/drmP.h
@@ -94,10 +94,11 @@ struct dma_buf_attachment;
 struct pci_dev;
 struct pci_controller;
 
-#if defined(CONFIG_DRM_DEBUG_SELFTEST_MODULE)
-#define EXPORT_SYMBOL_FOR_TESTS_ONLY(x) EXPORT_SYMBOL(x)
-#else
-#define EXPORT_SYMBOL_FOR_TESTS_ONLY(x)
-#endif
+/*
+ * NOTE: drmP.h is obsolete - do NOT add anything to this file
+ *
+ * Do not include drmP.h in new files.
+ * Work is ongoing to remove drmP.h includes from existing files
+ */
 
 #endif
diff --git a/include/drm/drm_util.h b/include/drm/drm_util.h
index f776a55e5508..0500da65b1d1 100644
--- a/include/drm/drm_util.h
+++ b/include/drm/drm_util.h
@@ -37,6 +37,16 @@
 #include <linux/kgdb.h>
 #include <linux/smp.h>
 
+/*
+ * Use EXPORT_SYMBOL_FOR_TESTS_ONLY() for functions that shall
+ * only be visible for drmselftests.
+ */
+#if defined(CONFIG_DRM_DEBUG_SELFTEST_MODULE)
+#define EXPORT_SYMBOL_FOR_TESTS_ONLY(x) EXPORT_SYMBOL(x)
+#else
+#define EXPORT_SYMBOL_FOR_TESTS_ONLY(x)
+#endif
+
 /**
  * for_each_if - helper for handling conditionals in various for_each macros
  * @condition: The condition to check
-- 
2.12.0


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH v4 3/8] drm/stm: prepare for drmP.h removal from drm_modeset_helper.h
  2019-01-12 19:32 [PATCH v4 0/8] drm: minimize drmP.h dependencies Sam Ravnborg
  2019-01-12 19:32 ` [PATCH v4 1/8] drm: move drm_can_sleep() to drm_util.h Sam Ravnborg
  2019-01-12 19:32 ` [PATCH v4 2/8] drm: move EXPORT_SYMBOL_FOR_TESTS_ONLY " Sam Ravnborg
@ 2019-01-12 19:32 ` Sam Ravnborg
  2019-01-14  9:59   ` Benjamin Gaignard
  2019-01-12 19:32 ` [PATCH v4 4/8] drm/hisilicon/kirin: " Sam Ravnborg
                   ` (4 subsequent siblings)
  7 siblings, 1 reply; 16+ messages in thread
From: Sam Ravnborg @ 2019-01-12 19:32 UTC (permalink / raw)
  To: Alex Deucher, Alexey Brodkin, Andrzej Hajda, Benjamin Gaignard,
	Chen Feng, Christian Konig, Daniel Vetter, David Airlie,
	David Zhou, Eric Anholt, Gerd Hoffmann, Kieran Bingham,
	Laurent Pinchart, Laurent Pinchart, Maarten Lankhorst,
	Maxime Ripard, Philippe Cornu, Rob Clark, Rongrong Zou,
	Sean Paul, Tomi Valkeinen, Vincent Abriou, Xinliang Liu,
	Xinwei Kong, Yannick Fertre, linux-kernel, dri-devel
  Cc: Sam Ravnborg

The use of drmP.h is discouraged and removal of it from
drm_modeset_helper.h caused drm/stm to fail to build.

This patch introduce the necessary fixes to prepare for the
drmP.h removal from drm_modeset_helper.h.

Build tested on arm and x86 allmodconfig

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Yannick Fertre <yannick.fertre@st.com>
Cc: Philippe Cornu <philippe.cornu@st.com>
Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org>
Cc: Vincent Abriou <vincent.abriou@st.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
---
 drivers/gpu/drm/stm/drv.c  | 4 ++++
 drivers/gpu/drm/stm/ltdc.c | 7 +++++++
 2 files changed, 11 insertions(+)

diff --git a/drivers/gpu/drm/stm/drv.c b/drivers/gpu/drm/stm/drv.c
index 8dec001b9d37..58bf8bae789c 100644
--- a/drivers/gpu/drm/stm/drv.c
+++ b/drivers/gpu/drm/stm/drv.c
@@ -9,15 +9,19 @@
  */
 
 #include <linux/component.h>
+#include <linux/dma-mapping.h>
+#include <linux/module.h>
 #include <linux/of_platform.h>
 
 #include <drm/drm_atomic.h>
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_crtc_helper.h>
+#include <drm/drm_drv.h>
 #include <drm/drm_fb_helper.h>
 #include <drm/drm_fb_cma_helper.h>
 #include <drm/drm_gem_cma_helper.h>
 #include <drm/drm_gem_framebuffer_helper.h>
+#include <drm/drm_vblank.h>
 
 #include "ltdc.h"
 
diff --git a/drivers/gpu/drm/stm/ltdc.c b/drivers/gpu/drm/stm/ltdc.c
index 61dd661aa0ac..de29f4713140 100644
--- a/drivers/gpu/drm/stm/ltdc.c
+++ b/drivers/gpu/drm/stm/ltdc.c
@@ -10,18 +10,25 @@
 
 #include <linux/clk.h>
 #include <linux/component.h>
+#include <linux/interrupt.h>
+#include <linux/delay.h>
+#include <linux/module.h>
 #include <linux/of_address.h>
 #include <linux/of_graph.h>
+#include <linux/platform_device.h>
 #include <linux/reset.h>
 
 #include <drm/drm_atomic.h>
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_crtc_helper.h>
+#include <drm/drm_device.h>
 #include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_fourcc.h>
 #include <drm/drm_gem_cma_helper.h>
 #include <drm/drm_of.h>
 #include <drm/drm_bridge.h>
 #include <drm/drm_plane_helper.h>
+#include <drm/drm_vblank.h>
 
 #include <video/videomode.h>
 
-- 
2.12.0


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH v4 4/8] drm/hisilicon/kirin: prepare for drmP.h removal from drm_modeset_helper.h
  2019-01-12 19:32 [PATCH v4 0/8] drm: minimize drmP.h dependencies Sam Ravnborg
                   ` (2 preceding siblings ...)
  2019-01-12 19:32 ` [PATCH v4 3/8] drm/stm: prepare for drmP.h removal from drm_modeset_helper.h Sam Ravnborg
@ 2019-01-12 19:32 ` Sam Ravnborg
  2019-01-12 19:32 ` [PATCH v4 5/8] drm/arcpgu: " Sam Ravnborg
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 16+ messages in thread
From: Sam Ravnborg @ 2019-01-12 19:32 UTC (permalink / raw)
  To: Alex Deucher, Alexey Brodkin, Andrzej Hajda, Benjamin Gaignard,
	Chen Feng, Christian Konig, Daniel Vetter, David Airlie,
	David Zhou, Eric Anholt, Gerd Hoffmann, Kieran Bingham,
	Laurent Pinchart, Laurent Pinchart, Maarten Lankhorst,
	Maxime Ripard, Philippe Cornu, Rob Clark, Rongrong Zou,
	Sean Paul, Tomi Valkeinen, Vincent Abriou, Xinliang Liu,
	Xinwei Kong, Yannick Fertre, linux-kernel, dri-devel
  Cc: Sam Ravnborg

The use of drmP.h is discouraged and removal of it from
drm_modeset_helper.h caused kirin to fail to build.

This patch introduce the necessary fixes to prepare for the
drmP.h removal from drm_modeset_helper.h.
List of include files sorted alphabetically.

Build tested on arm x86 allmodconfig using the following hack
to the Kconfig file:

| -       depends on DRM && OF && ARM64
| +       depends on DRM && OF && (ARM64 || (X86_64 && COMPILE_TEST))

Build failed on 32bit ARM - so the X86_64 hack was required.
The COMPILE_TEST hack is not submitted as the preferred fix
is something where we have coverage on 32bit ARM too.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Xinliang Liu <z.liuxinliang@hisilicon.com>
Cc: Rongrong Zou <zourongrong@gmail.com>
Cc: Xinwei Kong <kong.kongxinwei@hisilicon.com>
Cc: Chen Feng <puck.chen@hisilicon.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
---
 drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c b/drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
index b4c7af3ab6ae..7ffebdd843a2 100644
--- a/drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
+++ b/drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c
@@ -16,13 +16,18 @@
  */
 
 #include <linux/clk.h>
+#include <linux/delay.h>
 #include <linux/component.h>
+#include <linux/module.h>
+#include <linux/platform_device.h>
 
-#include <drm/drm_of.h>
+#include <drm/drm_atomic_helper.h>
 #include <drm/drm_crtc_helper.h>
-#include <drm/drm_mipi_dsi.h>
+#include <drm/drm_device.h>
 #include <drm/drm_encoder_slave.h>
-#include <drm/drm_atomic_helper.h>
+#include <drm/drm_mipi_dsi.h>
+#include <drm/drm_print.h>
+#include <drm/drm_of.h>
 
 #include "dw_dsi_reg.h"
 
-- 
2.12.0


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH v4 5/8] drm/arcpgu: prepare for drmP.h removal from drm_modeset_helper.h
  2019-01-12 19:32 [PATCH v4 0/8] drm: minimize drmP.h dependencies Sam Ravnborg
                   ` (3 preceding siblings ...)
  2019-01-12 19:32 ` [PATCH v4 4/8] drm/hisilicon/kirin: " Sam Ravnborg
@ 2019-01-12 19:32 ` Sam Ravnborg
  2019-01-14 13:48   ` Alexey Brodkin
  2019-01-12 19:32 ` [PATCH v4 6/8] drm/bridge: cdns: " Sam Ravnborg
                   ` (2 subsequent siblings)
  7 siblings, 1 reply; 16+ messages in thread
From: Sam Ravnborg @ 2019-01-12 19:32 UTC (permalink / raw)
  To: Alex Deucher, Alexey Brodkin, Andrzej Hajda, Benjamin Gaignard,
	Chen Feng, Christian Konig, Daniel Vetter, David Airlie,
	David Zhou, Eric Anholt, Gerd Hoffmann, Kieran Bingham,
	Laurent Pinchart, Laurent Pinchart, Maarten Lankhorst,
	Maxime Ripard, Philippe Cornu, Rob Clark, Rongrong Zou,
	Sean Paul, Tomi Valkeinen, Vincent Abriou, Xinliang Liu,
	Xinwei Kong, Yannick Fertre, linux-kernel, dri-devel
  Cc: Sam Ravnborg

The use of drmP.h is discouraged and removal of it from
drm_modeset_helper.h caused arcgpu to fail to build.

This patch introduce the necessary fixes to prepare for the
drmP.h removal from drm_modeset_helper.h.
List of include files sorted alphabetically.

Build tested on arm x86 and arm allmodconfig.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Alexey Brodkin <abrodkin@synopsys.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
---
 drivers/gpu/drm/arc/arcpgu_sim.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/arc/arcpgu_sim.c b/drivers/gpu/drm/arc/arcpgu_sim.c
index 6530d88f7293..b1119bc62630 100644
--- a/drivers/gpu/drm/arc/arcpgu_sim.c
+++ b/drivers/gpu/drm/arc/arcpgu_sim.c
@@ -14,8 +14,9 @@
  *
  */
 
-#include <drm/drm_crtc_helper.h>
 #include <drm/drm_atomic_helper.h>
+#include <drm/drm_crtc_helper.h>
+#include <drm/drm_device.h>
 
 #include "arcpgu.h"
 
-- 
2.12.0


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH v4 6/8] drm/bridge: cdns: prepare for drmP.h removal from drm_modeset_helper.h
  2019-01-12 19:32 [PATCH v4 0/8] drm: minimize drmP.h dependencies Sam Ravnborg
                   ` (4 preceding siblings ...)
  2019-01-12 19:32 ` [PATCH v4 5/8] drm/arcpgu: " Sam Ravnborg
@ 2019-01-12 19:32 ` Sam Ravnborg
  2019-01-12 19:32 ` [PATCH v4 7/8] drmi/rcar-du: " Sam Ravnborg
  2019-01-12 19:32 ` [PATCH v4 8/8] drm: remove drmP.h " Sam Ravnborg
  7 siblings, 0 replies; 16+ messages in thread
From: Sam Ravnborg @ 2019-01-12 19:32 UTC (permalink / raw)
  To: Alex Deucher, Alexey Brodkin, Andrzej Hajda, Benjamin Gaignard,
	Chen Feng, Christian Konig, Daniel Vetter, David Airlie,
	David Zhou, Eric Anholt, Gerd Hoffmann, Kieran Bingham,
	Laurent Pinchart, Laurent Pinchart, Maarten Lankhorst,
	Maxime Ripard, Philippe Cornu, Rob Clark, Rongrong Zou,
	Sean Paul, Tomi Valkeinen, Vincent Abriou, Xinliang Liu,
	Xinwei Kong, Yannick Fertre, linux-kernel, dri-devel
  Cc: Sam Ravnborg

The use of drmP.h is discouraged and removal of it from
drm_modeset_helper.h caused cdns to fail to build.

This patch introduce the necessary fixes to prepare for the
drmP.h removal from drm_modeset_helper.h.

Build tested on arm x86 and arm allmodconfig.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Andrzej Hajda <a.hajda@samsung.com>
Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
---
 drivers/gpu/drm/bridge/cdns-dsi.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/gpu/drm/bridge/cdns-dsi.c b/drivers/gpu/drm/bridge/cdns-dsi.c
index ce9496d13986..4b73d0969468 100644
--- a/drivers/gpu/drm/bridge/cdns-dsi.c
+++ b/drivers/gpu/drm/bridge/cdns-dsi.c
@@ -8,11 +8,13 @@
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_bridge.h>
 #include <drm/drm_crtc_helper.h>
+#include <drm/drm_drv.h>
 #include <drm/drm_mipi_dsi.h>
 #include <drm/drm_panel.h>
 #include <video/mipi_display.h>
 
 #include <linux/clk.h>
+#include <linux/interrupt.h>
 #include <linux/iopoll.h>
 #include <linux/module.h>
 #include <linux/of_address.h>
-- 
2.12.0


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH v4 7/8] drmi/rcar-du: prepare for drmP.h removal from drm_modeset_helper.h
  2019-01-12 19:32 [PATCH v4 0/8] drm: minimize drmP.h dependencies Sam Ravnborg
                   ` (5 preceding siblings ...)
  2019-01-12 19:32 ` [PATCH v4 6/8] drm/bridge: cdns: " Sam Ravnborg
@ 2019-01-12 19:32 ` Sam Ravnborg
  2019-01-18 15:24   ` Laurent Pinchart
  2019-01-12 19:32 ` [PATCH v4 8/8] drm: remove drmP.h " Sam Ravnborg
  7 siblings, 1 reply; 16+ messages in thread
From: Sam Ravnborg @ 2019-01-12 19:32 UTC (permalink / raw)
  To: Alex Deucher, Alexey Brodkin, Andrzej Hajda, Benjamin Gaignard,
	Chen Feng, Christian Konig, Daniel Vetter, David Airlie,
	David Zhou, Eric Anholt, Gerd Hoffmann, Kieran Bingham,
	Laurent Pinchart, Laurent Pinchart, Maarten Lankhorst,
	Maxime Ripard, Philippe Cornu, Rob Clark, Rongrong Zou,
	Sean Paul, Tomi Valkeinen, Vincent Abriou, Xinliang Liu,
	Xinwei Kong, Yannick Fertre, linux-kernel, dri-devel
  Cc: Sam Ravnborg

The use of drmP.h is discouraged and removal of it from
drm_modeset_helper.h caused rcar-du to fail to build.

This patch introduce the necessary fixes to prepare for the
drmP.h removal from drm_modeset_helper.h.

Build tested on arm x86 and arm allmodconfig.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
---
 drivers/gpu/drm/rcar-du/rcar_lvds.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/rcar-du/rcar_lvds.c b/drivers/gpu/drm/rcar-du/rcar_lvds.c
index 534a128a869d..8010ed702509 100644
--- a/drivers/gpu/drm/rcar-du/rcar_lvds.c
+++ b/drivers/gpu/drm/rcar-du/rcar_lvds.c
@@ -10,6 +10,7 @@
 #include <linux/clk.h>
 #include <linux/delay.h>
 #include <linux/io.h>
+#include <linux/module.h>
 #include <linux/of.h>
 #include <linux/of_device.h>
 #include <linux/of_graph.h>
-- 
2.12.0


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH v4 8/8] drm: remove drmP.h from drm_modeset_helper.h
  2019-01-12 19:32 [PATCH v4 0/8] drm: minimize drmP.h dependencies Sam Ravnborg
                   ` (6 preceding siblings ...)
  2019-01-12 19:32 ` [PATCH v4 7/8] drmi/rcar-du: " Sam Ravnborg
@ 2019-01-12 19:32 ` Sam Ravnborg
  2019-01-14 10:03   ` Daniel Vetter
  2019-01-18 15:25   ` Laurent Pinchart
  7 siblings, 2 replies; 16+ messages in thread
From: Sam Ravnborg @ 2019-01-12 19:32 UTC (permalink / raw)
  To: Alex Deucher, Alexey Brodkin, Andrzej Hajda, Benjamin Gaignard,
	Chen Feng, Christian Konig, Daniel Vetter, David Airlie,
	David Zhou, Eric Anholt, Gerd Hoffmann, Kieran Bingham,
	Laurent Pinchart, Laurent Pinchart, Maarten Lankhorst,
	Maxime Ripard, Philippe Cornu, Rob Clark, Rongrong Zou,
	Sean Paul, Tomi Valkeinen, Vincent Abriou, Xinliang Liu,
	Xinwei Kong, Yannick Fertre, linux-kernel, dri-devel
  Cc: Sam Ravnborg

With the removal of drmP.h from drm_modeset_helper.h
the drmP.h are no longer included by any include files
in include/drm.
The drmP.h file is thus only included explicit
either in .c files or in local .h files.
This makes the process of deleting the drmP.h includes easier
as we have a more local dependency chain.

Include build failures fixes in drm files after the drmP.h removal.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <maxime.ripard@bootlin.com>
Cc: Sean Paul <sean@poorly.run>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
---
 drivers/gpu/drm/drm_damage_helper.c  | 1 +
 drivers/gpu/drm/drm_modeset_helper.c | 2 ++
 include/drm/drm_modeset_helper.h     | 6 +++++-
 3 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/drm_damage_helper.c b/drivers/gpu/drm/drm_damage_helper.c
index 31032407254d..b575a768f51c 100644
--- a/drivers/gpu/drm/drm_damage_helper.c
+++ b/drivers/gpu/drm/drm_damage_helper.c
@@ -32,6 +32,7 @@
 
 #include <drm/drm_atomic.h>
 #include <drm/drm_damage_helper.h>
+#include <drm/drm_device.h>
 
 /**
  * DOC: overview
diff --git a/drivers/gpu/drm/drm_modeset_helper.c b/drivers/gpu/drm/drm_modeset_helper.c
index 9150fa385bba..9bc1ef788c77 100644
--- a/drivers/gpu/drm/drm_modeset_helper.c
+++ b/drivers/gpu/drm/drm_modeset_helper.c
@@ -23,8 +23,10 @@
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_crtc_helper.h>
 #include <drm/drm_fb_helper.h>
+#include <drm/drm_fourcc.h>
 #include <drm/drm_modeset_helper.h>
 #include <drm/drm_plane_helper.h>
+#include <drm/drm_print.h>
 
 /**
  * DOC: aux kms helpers
diff --git a/include/drm/drm_modeset_helper.h b/include/drm/drm_modeset_helper.h
index efa337f03129..995fd981cab0 100644
--- a/include/drm/drm_modeset_helper.h
+++ b/include/drm/drm_modeset_helper.h
@@ -23,7 +23,11 @@
 #ifndef __DRM_KMS_HELPER_H__
 #define __DRM_KMS_HELPER_H__
 
-#include <drm/drmP.h>
+struct drm_crtc;
+struct drm_crtc_funcs;
+struct drm_device;
+struct drm_framebuffer;
+struct drm_mode_fb_cmd2;
 
 void drm_helper_move_panel_connectors_to_head(struct drm_device *);
 
-- 
2.12.0


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* Re: [PATCH v4 3/8] drm/stm: prepare for drmP.h removal from drm_modeset_helper.h
  2019-01-12 19:32 ` [PATCH v4 3/8] drm/stm: prepare for drmP.h removal from drm_modeset_helper.h Sam Ravnborg
@ 2019-01-14  9:59   ` Benjamin Gaignard
  0 siblings, 0 replies; 16+ messages in thread
From: Benjamin Gaignard @ 2019-01-14  9:59 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Alex Deucher, Alexey Brodkin, Andrzej Hajda, Chen Feng,
	Christian Konig, Daniel Vetter, David Airlie, David Zhou,
	Eric Anholt, Gerd Hoffmann, Kieran Bingham, Laurent Pinchart,
	Maarten Lankhorst, Maxime Ripard, Philippe Cornu, Rob Clark,
	Rongrong Zou, Sean Paul, Tomi Valkeinen, Vincent Abriou,
	Xinliang Liu, Xinwei Kong, Yannick Fertre,
	Linux Kernel Mailing List, ML dri-devel

Le sam. 12 janv. 2019 à 20:33, Sam Ravnborg <sam@ravnborg.org> a écrit :
>
> The use of drmP.h is discouraged and removal of it from
> drm_modeset_helper.h caused drm/stm to fail to build.
>
> This patch introduce the necessary fixes to prepare for the
> drmP.h removal from drm_modeset_helper.h.
>
> Build tested on arm and x86 allmodconfig
>
Acked-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>

> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
> Cc: Yannick Fertre <yannick.fertre@st.com>
> Cc: Philippe Cornu <philippe.cornu@st.com>
> Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org>
> Cc: Vincent Abriou <vincent.abriou@st.com>
> Cc: David Airlie <airlied@linux.ie>
> Cc: Daniel Vetter <daniel@ffwll.ch>
> ---
>  drivers/gpu/drm/stm/drv.c  | 4 ++++
>  drivers/gpu/drm/stm/ltdc.c | 7 +++++++
>  2 files changed, 11 insertions(+)
>
> diff --git a/drivers/gpu/drm/stm/drv.c b/drivers/gpu/drm/stm/drv.c
> index 8dec001b9d37..58bf8bae789c 100644
> --- a/drivers/gpu/drm/stm/drv.c
> +++ b/drivers/gpu/drm/stm/drv.c
> @@ -9,15 +9,19 @@
>   */
>
>  #include <linux/component.h>
> +#include <linux/dma-mapping.h>
> +#include <linux/module.h>
>  #include <linux/of_platform.h>
>
>  #include <drm/drm_atomic.h>
>  #include <drm/drm_atomic_helper.h>
>  #include <drm/drm_crtc_helper.h>
> +#include <drm/drm_drv.h>
>  #include <drm/drm_fb_helper.h>
>  #include <drm/drm_fb_cma_helper.h>
>  #include <drm/drm_gem_cma_helper.h>
>  #include <drm/drm_gem_framebuffer_helper.h>
> +#include <drm/drm_vblank.h>
>
>  #include "ltdc.h"
>
> diff --git a/drivers/gpu/drm/stm/ltdc.c b/drivers/gpu/drm/stm/ltdc.c
> index 61dd661aa0ac..de29f4713140 100644
> --- a/drivers/gpu/drm/stm/ltdc.c
> +++ b/drivers/gpu/drm/stm/ltdc.c
> @@ -10,18 +10,25 @@
>
>  #include <linux/clk.h>
>  #include <linux/component.h>
> +#include <linux/interrupt.h>
> +#include <linux/delay.h>
> +#include <linux/module.h>
>  #include <linux/of_address.h>
>  #include <linux/of_graph.h>
> +#include <linux/platform_device.h>
>  #include <linux/reset.h>
>
>  #include <drm/drm_atomic.h>
>  #include <drm/drm_atomic_helper.h>
>  #include <drm/drm_crtc_helper.h>
> +#include <drm/drm_device.h>
>  #include <drm/drm_fb_cma_helper.h>
> +#include <drm/drm_fourcc.h>
>  #include <drm/drm_gem_cma_helper.h>
>  #include <drm/drm_of.h>
>  #include <drm/drm_bridge.h>
>  #include <drm/drm_plane_helper.h>
> +#include <drm/drm_vblank.h>
>
>  #include <video/videomode.h>
>
> --
> 2.12.0
>


-- 
Benjamin Gaignard

Graphic Study Group

Linaro.org │ Open source software for ARM SoCs

Follow Linaro: Facebook | Twitter | Blog

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v4 8/8] drm: remove drmP.h from drm_modeset_helper.h
  2019-01-12 19:32 ` [PATCH v4 8/8] drm: remove drmP.h " Sam Ravnborg
@ 2019-01-14 10:03   ` Daniel Vetter
  2019-01-18 15:25   ` Laurent Pinchart
  1 sibling, 0 replies; 16+ messages in thread
From: Daniel Vetter @ 2019-01-14 10:03 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Alex Deucher, Alexey Brodkin, Andrzej Hajda, Benjamin Gaignard,
	Chen Feng, Christian Konig, Daniel Vetter, David Airlie,
	David Zhou, Eric Anholt, Gerd Hoffmann, Kieran Bingham,
	Laurent Pinchart, Maarten Lankhorst, Maxime Ripard,
	Philippe Cornu, Rob Clark, Rongrong Zou, Sean Paul,
	Tomi Valkeinen, Vincent Abriou, Xinliang Liu, Xinwei Kong,
	Yannick Fertre, linux-kernel, dri-devel

On Sat, Jan 12, 2019 at 08:32:51PM +0100, Sam Ravnborg wrote:
> With the removal of drmP.h from drm_modeset_helper.h
> the drmP.h are no longer included by any include files
> in include/drm.
> The drmP.h file is thus only included explicit
> either in .c files or in local .h files.
> This makes the process of deleting the drmP.h includes easier
> as we have a more local dependency chain.
> 
> Include build failures fixes in drm files after the drmP.h removal.
> 
> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Cc: Maxime Ripard <maxime.ripard@bootlin.com>
> Cc: Sean Paul <sean@poorly.run>
> Cc: David Airlie <airlied@linux.ie>
> Cc: Daniel Vetter <daniel@ffwll.ch>

Note that as soon as drm-intel-next lands in drm-misc-next this won't be
enough. I have a patch which I think toghether with yours here should take
care of things though.

I merged the first 2 patches, I'll wait with the driver ones for a few
more acks first.

Thanks for respinning.
-Daniel

> ---
>  drivers/gpu/drm/drm_damage_helper.c  | 1 +
>  drivers/gpu/drm/drm_modeset_helper.c | 2 ++
>  include/drm/drm_modeset_helper.h     | 6 +++++-
>  3 files changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/drm_damage_helper.c b/drivers/gpu/drm/drm_damage_helper.c
> index 31032407254d..b575a768f51c 100644
> --- a/drivers/gpu/drm/drm_damage_helper.c
> +++ b/drivers/gpu/drm/drm_damage_helper.c
> @@ -32,6 +32,7 @@
>  
>  #include <drm/drm_atomic.h>
>  #include <drm/drm_damage_helper.h>
> +#include <drm/drm_device.h>
>  
>  /**
>   * DOC: overview
> diff --git a/drivers/gpu/drm/drm_modeset_helper.c b/drivers/gpu/drm/drm_modeset_helper.c
> index 9150fa385bba..9bc1ef788c77 100644
> --- a/drivers/gpu/drm/drm_modeset_helper.c
> +++ b/drivers/gpu/drm/drm_modeset_helper.c
> @@ -23,8 +23,10 @@
>  #include <drm/drm_atomic_helper.h>
>  #include <drm/drm_crtc_helper.h>
>  #include <drm/drm_fb_helper.h>
> +#include <drm/drm_fourcc.h>
>  #include <drm/drm_modeset_helper.h>
>  #include <drm/drm_plane_helper.h>
> +#include <drm/drm_print.h>
>  
>  /**
>   * DOC: aux kms helpers
> diff --git a/include/drm/drm_modeset_helper.h b/include/drm/drm_modeset_helper.h
> index efa337f03129..995fd981cab0 100644
> --- a/include/drm/drm_modeset_helper.h
> +++ b/include/drm/drm_modeset_helper.h
> @@ -23,7 +23,11 @@
>  #ifndef __DRM_KMS_HELPER_H__
>  #define __DRM_KMS_HELPER_H__
>  
> -#include <drm/drmP.h>
> +struct drm_crtc;
> +struct drm_crtc_funcs;
> +struct drm_device;
> +struct drm_framebuffer;
> +struct drm_mode_fb_cmd2;
>  
>  void drm_helper_move_panel_connectors_to_head(struct drm_device *);
>  
> -- 
> 2.12.0
> 

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

^ permalink raw reply	[flat|nested] 16+ messages in thread

* RE: [PATCH v4 5/8] drm/arcpgu: prepare for drmP.h removal from drm_modeset_helper.h
  2019-01-12 19:32 ` [PATCH v4 5/8] drm/arcpgu: " Sam Ravnborg
@ 2019-01-14 13:48   ` Alexey Brodkin
  0 siblings, 0 replies; 16+ messages in thread
From: Alexey Brodkin @ 2019-01-14 13:48 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Alex Deucher, Andrzej Hajda, Benjamin Gaignard, Chen Feng,
	Christian Konig, Daniel Vetter, David Airlie, David Zhou,
	Eric Anholt, Gerd Hoffmann, Kieran Bingham, Laurent Pinchart,
	Laurent Pinchart, Maarten Lankhorst, Maxime Ripard,
	Philippe Cornu, Rob Clark, Rongrong Zou, Sean Paul,
	Tomi Valkeinen, Vincent Abriou, Xinliang Liu, Xinwei Kong,
	Yannick Fertre, linux-kernel, dri-devel

Hi Sam,

> -----Original Message-----
> From: Sam Ravnborg [mailto:sam.ravnborg@gmail.com] On Behalf Of Sam Ravnborg
> Sent: Saturday, January 12, 2019 10:33 PM
> To: Alex Deucher <alexander.deucher@amd.com>; Alexey Brodkin <alexey.brodkin@synopsys.com>; Andrzej
> Hajda <a.hajda@samsung.com>; Benjamin Gaignard <benjamin.gaignard@linaro.org>; Chen Feng
> <puck.chen@hisilicon.com>; Christian Konig <christian.koenig@amd.com>; Daniel Vetter
> <daniel@ffwll.ch>; David Airlie <airlied@linux.ie>; David Zhou <David1.Zhou@amd.com>; Eric Anholt
> <eric@anholt.net>; Gerd Hoffmann <kraxel@redhat.com>; Kieran Bingham
> <kieran.bingham+renesas@ideasonboard.com>; Laurent Pinchart <laurent.pinchart@ideasonboard.com>;
> Laurent Pinchart <Laurent.pinchart@ideasonboard.com>; Maarten Lankhorst
> <maarten.lankhorst@linux.intel.com>; Maxime Ripard <maxime.ripard@bootlin.com>; Philippe Cornu
> <philippe.cornu@st.com>; Rob Clark <robdclark@gmail.com>; Rongrong Zou <zourongrong@gmail.com>; Sean
> Paul <sean@poorly.run>; Tomi Valkeinen <tomi.valkeinen@ti.com>; Vincent Abriou
> <vincent.abriou@st.com>; Xinliang Liu <z.liuxinliang@hisilicon.com>; Xinwei Kong
> <kong.kongxinwei@hisilicon.com>; Yannick Fertre <yannick.fertre@st.com>; linux-kernel@vger.kernel.org;
> dri-devel@lists.freedesktop.org
> Cc: Sam Ravnborg <sam@ravnborg.org>
> Subject: [PATCH v4 5/8] drm/arcpgu: prepare for drmP.h removal from drm_modeset_helper.h
> 
> The use of drmP.h is discouraged and removal of it from
> drm_modeset_helper.h caused arcgpu to fail to build.
> 
> This patch introduce the necessary fixes to prepare for the
> drmP.h removal from drm_modeset_helper.h.
> List of include files sorted alphabetically.
> 
> Build tested on arm x86 and arm allmodconfig.
> 
> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
> Cc: Alexey Brodkin <abrodkin@synopsys.com>
> Cc: David Airlie <airlied@linux.ie>
> Cc: Daniel Vetter <daniel@ffwll.ch>

Thanks for your patch!

Build tested for ARC AXS103 board.

Acked-by: Alexey Brodkin <abrodkin@synopsys.com>


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v4 1/8] drm: move drm_can_sleep() to drm_util.h
  2019-01-12 19:32 ` [PATCH v4 1/8] drm: move drm_can_sleep() to drm_util.h Sam Ravnborg
@ 2019-01-18 15:15   ` Laurent Pinchart
  0 siblings, 0 replies; 16+ messages in thread
From: Laurent Pinchart @ 2019-01-18 15:15 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Alex Deucher, Alexey Brodkin, Andrzej Hajda, Benjamin Gaignard,
	Chen Feng, Christian Konig, Daniel Vetter, David Airlie,
	David Zhou, Eric Anholt, Gerd Hoffmann, Kieran Bingham,
	Maarten Lankhorst, Maxime Ripard, Philippe Cornu, Rob Clark,
	Rongrong Zou, Sean Paul, Tomi Valkeinen, Vincent Abriou,
	Xinliang Liu, Xinwei Kong, Yannick Fertre, linux-kernel,
	dri-devel

Hi Sam,

Thank you for the patch.

On Sat, Jan 12, 2019 at 08:32:44PM +0100, Sam Ravnborg wrote:
> Move drm_can_sleep() out of drmP.h to allow users
> to get rid of the drmP.h include.
> 
> There was no header file that was a good match for this helper function.
> So add this to drm_util with the relevant includes.
> 
> Add include of drm_util.h to all users.
> 
> v2:
> - Update comments to use kernel-doc style (Daniel)
> - Add FIXME to drm_can_sleep and add note that this
>   function should not be used in new code (Daniel)
> 
> v3:
> - Fix kernel-doc syntax (Daniel)
> - Plug drm_util.h into drm-internels.rst (Daniel)
> 
> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Cc: Maxime Ripard <maxime.ripard@bootlin.com>
> Cc: Sean Paul <sean@poorly.run>
> Cc: David Airlie <airlied@linux.ie>
> Cc: Daniel Vetter <daniel@ffwll.ch>
> Cc: Alex Deucher <alexander.deucher@amd.com>
> Cc: "Christian König" <christian.koenig@amd.com>
> Cc: "David (ChunMing) Zhou" <David1.Zhou@amd.com>
> Cc: Gerd Hoffmann <kraxel@redhat.com>
> Cc: Rob Clark <robdclark@gmail.com>
> Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
> Cc: Eric Anholt <eric@anholt.net>
> ---
>  Documentation/gpu/drm-internals.rst             |  9 ++++++
>  drivers/gpu/drm/amd/amdgpu/atom.c               |  2 ++
>  drivers/gpu/drm/ast/ast_fb.c                    |  2 ++
>  drivers/gpu/drm/cirrus/cirrus_fbdev.c           |  1 +
>  drivers/gpu/drm/drm_flip_work.c                 |  1 +
>  drivers/gpu/drm/mgag200/mgag200_fb.c            |  1 +
>  drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c        |  1 +
>  drivers/gpu/drm/omapdrm/omap_fbdev.c            |  1 +
>  drivers/gpu/drm/qxl/qxl_cmd.c                   |  2 ++
>  drivers/gpu/drm/radeon/atom.c                   |  2 ++
>  drivers/gpu/drm/radeon/radeon_legacy_encoders.c |  1 +
>  drivers/gpu/drm/vc4/vc4_drv.h                   |  1 +
>  include/drm/drmP.h                              |  8 -----
>  include/drm/drm_util.h                          | 43 ++++++++++++++++++++++++-
>  14 files changed, 66 insertions(+), 9 deletions(-)
> 
> diff --git a/Documentation/gpu/drm-internals.rst b/Documentation/gpu/drm-internals.rst
> index 9090fabf3f7a..2caf21effd28 100644
> --- a/Documentation/gpu/drm-internals.rst
> +++ b/Documentation/gpu/drm-internals.rst
> @@ -233,6 +233,15 @@ Printer
>  .. kernel-doc:: drivers/gpu/drm/drm_print.c
>     :export:
>  
> +Utilities
> +---------
> +
> +.. kernel-doc:: include/drm/drm_util.h
> +   :doc: drm utils
> +
> +.. kernel-doc:: include/drm/drm_util.h
> +   :internal:

Why do we need it twice ?

> +
>  
>  Legacy Support Code
>  ===================

[snip]

> diff --git a/drivers/gpu/drm/omapdrm/omap_fbdev.c b/drivers/gpu/drm/omapdrm/omap_fbdev.c
> index aee99194499f..851c59f07eb1 100644
> --- a/drivers/gpu/drm/omapdrm/omap_fbdev.c
> +++ b/drivers/gpu/drm/omapdrm/omap_fbdev.c
> @@ -16,6 +16,7 @@
>   */
>  
>  #include <drm/drm_crtc.h>
> +#include <drm/drm_util.h>
>  #include <drm/drm_fb_helper.h>

Please keep headers alphabetically sorted, here and everywhere else in
this patch. This helps locating and avoiding duplicated headers.

>  #include "omap_drv.h"

[snip]

> diff --git a/include/drm/drm_util.h b/include/drm/drm_util.h
> index 88abdca89baa..f776a55e5508 100644
> --- a/include/drm/drm_util.h
> +++ b/include/drm/drm_util.h
> @@ -26,7 +26,48 @@
>  #ifndef _DRM_UTIL_H_
>  #define _DRM_UTIL_H_
>  
> -/* helper for handling conditionals in various for_each macros */
> +/**
> + * DOC: drm utils
> + *
> + * Macros and inline functions that does not naturally belong in other places

s/does/do/

> + */
> +
> +#include <linux/irqflags.h>
> +#include <linux/preempt.h>
> +#include <linux/kgdb.h>
> +#include <linux/smp.h>

Four headers needed to use three functions, impressive :-)

Alphabetical sorted here too please (and actually everywhere in this
patch series :-)).

> +/**
> + * for_each_if - helper for handling conditionals in various for_each macros
> + * @condition: The condition to check
> + *
> + * Typical use::
> + *
> + *	#define for_each_foo_bar(x, y) \'
> + *		list_for_each_entry(x, y->list, head) \'
> + *			for_each_if(x->something == SOMETHING)
> + *
> + * The for_each_if() macro makes the use of for_each_foo_bar() less error
> + * prone.
> + */
>  #define for_each_if(condition) if (!(condition)) {} else
>  
> +/**
> + * drm_can_sleep - returns true if currently okay to sleep
> + *
> + * This function shall not be used in new code.
> + * The check for running in atomic context may not work - see linux/preempt.h.
> + *
> + * FIXME: All users of drm_can_sleep should be removed (see todo.rst)
> + *
> + * Returns:
> + * True if kgdb is active or we are in an atomic context or irqs are disabled

Did you mean False ?

With these fixed,

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> + */
> +static inline bool drm_can_sleep(void)
> +{
> +	if (in_atomic() || in_dbg_master() || irqs_disabled())
> +		return false;
> +	return true;
> +}
> +
>  #endif

-- 
Regards,

Laurent Pinchart

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v4 2/8] drm: move EXPORT_SYMBOL_FOR_TESTS_ONLY to drm_util.h
  2019-01-12 19:32 ` [PATCH v4 2/8] drm: move EXPORT_SYMBOL_FOR_TESTS_ONLY " Sam Ravnborg
@ 2019-01-18 15:21   ` Laurent Pinchart
  0 siblings, 0 replies; 16+ messages in thread
From: Laurent Pinchart @ 2019-01-18 15:21 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Alex Deucher, Alexey Brodkin, Andrzej Hajda, Benjamin Gaignard,
	Chen Feng, Christian Konig, Daniel Vetter, David Airlie,
	David Zhou, Eric Anholt, Gerd Hoffmann, Kieran Bingham,
	Maarten Lankhorst, Maxime Ripard, Philippe Cornu, Rob Clark,
	Rongrong Zou, Sean Paul, Tomi Valkeinen, Vincent Abriou,
	Xinliang Liu, Xinwei Kong, Yannick Fertre, linux-kernel,
	dri-devel

Hi Sam,

Thank you for the patch.

On Sat, Jan 12, 2019 at 08:32:45PM +0100, Sam Ravnborg wrote:
> In the quest to get rid of drmP.h move the newly
> added EXPORT_SYMBOL_FOR_TESTS_ONLY to drm_util.h.

Would it make sense to move it to drm_internal.h as it's really for
internal use of the DRM core ?

> Fix the single user.
> 
> Add a note to drmP.h to avoid further use of it.
> 
> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Cc: Maxime Ripard <maxime.ripard@bootlin.com>
> Cc: Sean Paul <sean@poorly.run>
> Cc: David Airlie <airlied@linux.ie>
> Cc: Daniel Vetter <daniel@ffwll.ch>
> ---
>  drivers/gpu/drm/drm_framebuffer.c |  1 +
>  include/drm/drmP.h                | 11 ++++++-----
>  include/drm/drm_util.h            | 10 ++++++++++
>  3 files changed, 17 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_framebuffer.c b/drivers/gpu/drm/drm_framebuffer.c
> index fcaea8f50513..7abcb265a108 100644
> --- a/drivers/gpu/drm/drm_framebuffer.c
> +++ b/drivers/gpu/drm/drm_framebuffer.c
> @@ -27,6 +27,7 @@
>  #include <drm/drm_atomic.h>
>  #include <drm/drm_atomic_uapi.h>
>  #include <drm/drm_print.h>
> +#include <drm/drm_util.h>
>  
>  #include "drm_internal.h"
>  #include "drm_crtc_internal.h"
> diff --git a/include/drm/drmP.h b/include/drm/drmP.h
> index bc4cb3732407..3f5c577c9dbd 100644
> --- a/include/drm/drmP.h
> +++ b/include/drm/drmP.h
> @@ -94,10 +94,11 @@ struct dma_buf_attachment;
>  struct pci_dev;
>  struct pci_controller;
>  
> -#if defined(CONFIG_DRM_DEBUG_SELFTEST_MODULE)
> -#define EXPORT_SYMBOL_FOR_TESTS_ONLY(x) EXPORT_SYMBOL(x)
> -#else
> -#define EXPORT_SYMBOL_FOR_TESTS_ONLY(x)
> -#endif
> +/*
> + * NOTE: drmP.h is obsolete - do NOT add anything to this file
> + *
> + * Do not include drmP.h in new files.
> + * Work is ongoing to remove drmP.h includes from existing files
> + */
>  
>  #endif
> diff --git a/include/drm/drm_util.h b/include/drm/drm_util.h
> index f776a55e5508..0500da65b1d1 100644
> --- a/include/drm/drm_util.h
> +++ b/include/drm/drm_util.h
> @@ -37,6 +37,16 @@
>  #include <linux/kgdb.h>
>  #include <linux/smp.h>
>  
> +/*
> + * Use EXPORT_SYMBOL_FOR_TESTS_ONLY() for functions that shall
> + * only be visible for drmselftests.
> + */
> +#if defined(CONFIG_DRM_DEBUG_SELFTEST_MODULE)
> +#define EXPORT_SYMBOL_FOR_TESTS_ONLY(x) EXPORT_SYMBOL(x)

I'd make this EXPORT_SYMBOL_GPL given the internal use, but that change
should be part of a separate patch.

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> +#else
> +#define EXPORT_SYMBOL_FOR_TESTS_ONLY(x)
> +#endif
> +
>  /**
>   * for_each_if - helper for handling conditionals in various for_each macros
>   * @condition: The condition to check

-- 
Regards,

Laurent Pinchart

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v4 7/8] drmi/rcar-du: prepare for drmP.h removal from drm_modeset_helper.h
  2019-01-12 19:32 ` [PATCH v4 7/8] drmi/rcar-du: " Sam Ravnborg
@ 2019-01-18 15:24   ` Laurent Pinchart
  0 siblings, 0 replies; 16+ messages in thread
From: Laurent Pinchart @ 2019-01-18 15:24 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Alex Deucher, Alexey Brodkin, Andrzej Hajda, Benjamin Gaignard,
	Chen Feng, Christian Konig, Daniel Vetter, David Airlie,
	David Zhou, Eric Anholt, Gerd Hoffmann, Kieran Bingham,
	Maarten Lankhorst, Maxime Ripard, Philippe Cornu, Rob Clark,
	Rongrong Zou, Sean Paul, Tomi Valkeinen, Vincent Abriou,
	Xinliang Liu, Xinwei Kong, Yannick Fertre, linux-kernel,
	dri-devel

Hi Sam,

Thank you for the patch.

On Sat, Jan 12, 2019 at 08:32:50PM +0100, Sam Ravnborg wrote:
> The use of drmP.h is discouraged and removal of it from
> drm_modeset_helper.h caused rcar-du to fail to build.
> 
> This patch introduce the necessary fixes to prepare for the
> drmP.h removal from drm_modeset_helper.h.
> 
> Build tested on arm x86 and arm allmodconfig.
> 
> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Cc: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
> Cc: David Airlie <airlied@linux.ie>
> Cc: Daniel Vetter <daniel@ffwll.ch>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  drivers/gpu/drm/rcar-du/rcar_lvds.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/gpu/drm/rcar-du/rcar_lvds.c b/drivers/gpu/drm/rcar-du/rcar_lvds.c
> index 534a128a869d..8010ed702509 100644
> --- a/drivers/gpu/drm/rcar-du/rcar_lvds.c
> +++ b/drivers/gpu/drm/rcar-du/rcar_lvds.c
> @@ -10,6 +10,7 @@
>  #include <linux/clk.h>
>  #include <linux/delay.h>
>  #include <linux/io.h>
> +#include <linux/module.h>
>  #include <linux/of.h>
>  #include <linux/of_device.h>
>  #include <linux/of_graph.h>

-- 
Regards,

Laurent Pinchart

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v4 8/8] drm: remove drmP.h from drm_modeset_helper.h
  2019-01-12 19:32 ` [PATCH v4 8/8] drm: remove drmP.h " Sam Ravnborg
  2019-01-14 10:03   ` Daniel Vetter
@ 2019-01-18 15:25   ` Laurent Pinchart
  1 sibling, 0 replies; 16+ messages in thread
From: Laurent Pinchart @ 2019-01-18 15:25 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Alex Deucher, Alexey Brodkin, Andrzej Hajda, Benjamin Gaignard,
	Chen Feng, Christian Konig, Daniel Vetter, David Airlie,
	David Zhou, Eric Anholt, Gerd Hoffmann, Kieran Bingham,
	Maarten Lankhorst, Maxime Ripard, Philippe Cornu, Rob Clark,
	Rongrong Zou, Sean Paul, Tomi Valkeinen, Vincent Abriou,
	Xinliang Liu, Xinwei Kong, Yannick Fertre, linux-kernel,
	dri-devel

Hi Sam,

Thank you for the patch.

On Sat, Jan 12, 2019 at 08:32:51PM +0100, Sam Ravnborg wrote:
> With the removal of drmP.h from drm_modeset_helper.h
> the drmP.h are no longer included by any include files
> in include/drm.
> The drmP.h file is thus only included explicit
> either in .c files or in local .h files.
> This makes the process of deleting the drmP.h includes easier
> as we have a more local dependency chain.
> 
> Include build failures fixes in drm files after the drmP.h removal.

Great work!

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Cc: Maxime Ripard <maxime.ripard@bootlin.com>
> Cc: Sean Paul <sean@poorly.run>
> Cc: David Airlie <airlied@linux.ie>
> Cc: Daniel Vetter <daniel@ffwll.ch>
> ---
>  drivers/gpu/drm/drm_damage_helper.c  | 1 +
>  drivers/gpu/drm/drm_modeset_helper.c | 2 ++
>  include/drm/drm_modeset_helper.h     | 6 +++++-
>  3 files changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/drm_damage_helper.c b/drivers/gpu/drm/drm_damage_helper.c
> index 31032407254d..b575a768f51c 100644
> --- a/drivers/gpu/drm/drm_damage_helper.c
> +++ b/drivers/gpu/drm/drm_damage_helper.c
> @@ -32,6 +32,7 @@
>  
>  #include <drm/drm_atomic.h>
>  #include <drm/drm_damage_helper.h>
> +#include <drm/drm_device.h>
>  
>  /**
>   * DOC: overview
> diff --git a/drivers/gpu/drm/drm_modeset_helper.c b/drivers/gpu/drm/drm_modeset_helper.c
> index 9150fa385bba..9bc1ef788c77 100644
> --- a/drivers/gpu/drm/drm_modeset_helper.c
> +++ b/drivers/gpu/drm/drm_modeset_helper.c
> @@ -23,8 +23,10 @@
>  #include <drm/drm_atomic_helper.h>
>  #include <drm/drm_crtc_helper.h>
>  #include <drm/drm_fb_helper.h>
> +#include <drm/drm_fourcc.h>
>  #include <drm/drm_modeset_helper.h>
>  #include <drm/drm_plane_helper.h>
> +#include <drm/drm_print.h>
>  
>  /**
>   * DOC: aux kms helpers
> diff --git a/include/drm/drm_modeset_helper.h b/include/drm/drm_modeset_helper.h
> index efa337f03129..995fd981cab0 100644
> --- a/include/drm/drm_modeset_helper.h
> +++ b/include/drm/drm_modeset_helper.h
> @@ -23,7 +23,11 @@
>  #ifndef __DRM_KMS_HELPER_H__
>  #define __DRM_KMS_HELPER_H__
>  
> -#include <drm/drmP.h>
> +struct drm_crtc;
> +struct drm_crtc_funcs;
> +struct drm_device;
> +struct drm_framebuffer;
> +struct drm_mode_fb_cmd2;
>  
>  void drm_helper_move_panel_connectors_to_head(struct drm_device *);
>  

-- 
Regards,

Laurent Pinchart

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2019-01-18 15:25 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-12 19:32 [PATCH v4 0/8] drm: minimize drmP.h dependencies Sam Ravnborg
2019-01-12 19:32 ` [PATCH v4 1/8] drm: move drm_can_sleep() to drm_util.h Sam Ravnborg
2019-01-18 15:15   ` Laurent Pinchart
2019-01-12 19:32 ` [PATCH v4 2/8] drm: move EXPORT_SYMBOL_FOR_TESTS_ONLY " Sam Ravnborg
2019-01-18 15:21   ` Laurent Pinchart
2019-01-12 19:32 ` [PATCH v4 3/8] drm/stm: prepare for drmP.h removal from drm_modeset_helper.h Sam Ravnborg
2019-01-14  9:59   ` Benjamin Gaignard
2019-01-12 19:32 ` [PATCH v4 4/8] drm/hisilicon/kirin: " Sam Ravnborg
2019-01-12 19:32 ` [PATCH v4 5/8] drm/arcpgu: " Sam Ravnborg
2019-01-14 13:48   ` Alexey Brodkin
2019-01-12 19:32 ` [PATCH v4 6/8] drm/bridge: cdns: " Sam Ravnborg
2019-01-12 19:32 ` [PATCH v4 7/8] drmi/rcar-du: " Sam Ravnborg
2019-01-18 15:24   ` Laurent Pinchart
2019-01-12 19:32 ` [PATCH v4 8/8] drm: remove drmP.h " Sam Ravnborg
2019-01-14 10:03   ` Daniel Vetter
2019-01-18 15:25   ` Laurent Pinchart

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).