Updated patchset, with merged patches removed. Addressed Laurents feedback (sorted include files)
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
The patches are trivial but touches a lot of files, so a lot of people on cc: for the individual patches.
This series will conflict with work going on in i915, and Daniel has a plan how to apply this.
Sam
v5: - Rebased on top of drm-misc-next and dropped patches already merged - Sorted list of include files where they are touched (Laurent) - Collected ack's, reviewed by's
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 (6): 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
drivers/gpu/drm/arc/arcpgu_sim.c | 3 ++- drivers/gpu/drm/bridge/cdns-dsi.c | 2 ++ drivers/gpu/drm/drm_damage_helper.c | 1 + drivers/gpu/drm/drm_modeset_helper.c | 2 ++ drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c | 11 ++++++++--- drivers/gpu/drm/rcar-du/rcar_lvds.c | 1 + drivers/gpu/drm/stm/drv.c | 6 +++++- drivers/gpu/drm/stm/ltdc.c | 9 ++++++++- include/drm/drm_modeset_helper.h | 6 +++++- 9 files changed, 34 insertions(+), 7 deletions(-)
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
v2: - sort list of include files
Signed-off-by: Sam Ravnborg sam@ravnborg.org Acked-by: Benjamin Gaignard benjamin.gaignard@linaro.org Cc: Yannick Fertre yannick.fertre@st.com Cc: Philippe Cornu philippe.cornu@st.com 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 | 6 +++++- drivers/gpu/drm/stm/ltdc.c | 9 ++++++++- 2 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/stm/drv.c b/drivers/gpu/drm/stm/drv.c index 8dec001b9d37..d83db27a9aa9 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_fb_helper.h> +#include <drm/drm_drv.h> #include <drm/drm_fb_cma_helper.h> +#include <drm/drm_fb_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..10c8446fd421 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/delay.h> +#include <linux/interrupt.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_bridge.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>
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.
v2: - Sort list of include files
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..009c8cb39ac4 100644 --- a/drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c +++ b/drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c @@ -17,12 +17,17 @@
#include <linux/clk.h> #include <linux/component.h> +#include <linux/delay.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_of.h> +#include <drm/drm_print.h>
#include "dw_dsi_reg.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 Acked-by: 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"
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>
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 Reviewed-by: 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>
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 failure fixes in drm files after the drmP.h removal.
Signed-off-by: Sam Ravnborg sam@ravnborg.org Reviewed-by: Laurent Pinchart laurent.pinchart@ideasonboard.com 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 e16aa5ae00b4..ee67c96841fa 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 *);
On Sat, Jan 19, 2019 at 09:40:14AM +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 failure fixes in drm files after the drmP.h removal.
Signed-off-by: Sam Ravnborg sam@ravnborg.org Reviewed-by: Laurent Pinchart laurent.pinchart@ideasonboard.com 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
Merge the previous 5 patches from this series, but this now goes boom on vbox in staging. Needs another prep patch I think. -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 e16aa5ae00b4..ee67c96841fa 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
On Thu, Jan 24, 2019 at 03:03:20PM +0100, Daniel Vetter wrote:
On Sat, Jan 19, 2019 at 09:40:14AM +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 failure fixes in drm files after the drmP.h removal.
Signed-off-by: Sam Ravnborg sam@ravnborg.org Reviewed-by: Laurent Pinchart laurent.pinchart@ideasonboard.com 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
Merge the previous 5 patches from this series, but this now goes boom on vbox in staging. Needs another prep patch I think.
I did not check staging - sorry.
Will fix, most likely in the weekend.
Sam
On Thu, Jan 24, 2019 at 03:03:20PM +0100, Daniel Vetter wrote:
On Sat, Jan 19, 2019 at 09:40:14AM +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 failure fixes in drm files after the drmP.h removal.
Signed-off-by: Sam Ravnborg sam@ravnborg.org Reviewed-by: Laurent Pinchart laurent.pinchart@ideasonboard.com 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
Merge the previous 5 patches from this series, but this now goes boom on vbox in staging. Needs another prep patch I think.
Soo, can we drop vboxvideo yet?
Sean
-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 e16aa5ae00b4..ee67c96841fa 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
Hi Sean.
Merge the previous 5 patches from this series, but this now goes boom on vbox in staging. Needs another prep patch I think.
Soo, can we drop vboxvideo yet?
Hans de Goede sent out patches in September to convert it to a proper atomic driver. I recall that the feedback was mostly positive and that there was only minor things to left to do. Hans?
Sam
On Thu, Jan 24, 2019 at 09:17:49PM +0100, Sam Ravnborg wrote:
Hi Sean.
Merge the previous 5 patches from this series, but this now goes boom on vbox in staging. Needs another prep patch I think.
Soo, can we drop vboxvideo yet?
Hans de Goede sent out patches in September to convert it to a proper atomic driver. I recall that the feedback was mostly positive and that there was only minor things to left to do. Hans?
Ah, even better if we can move it from staging into drm. Would be nice to know what it's hung up on so we can avoid these refactor breakages.
Sean
Sam
Hi Sean/Hans.
Hans de Goede sent out patches in September to convert it to a proper atomic driver. I recall that the feedback was mostly positive and that there was only minor things to left to do. Hans?
I browsed the archieves and I could not find anything that was not addressed, so nothing is apperantly missing expect the actual move from staging to gpu/drm/ And that move out of staging may require a proper review at dri-devel?
Browsing the code left me with an impression of a nice code base.
Sam
dri-devel@lists.freedesktop.org