Hi Laurent. Thanks for the detailed feedback. > > If patch is OK, please apply to your tree > > as this driver is maintained outside drm-misc. > > > > I am happy to rebase on another tree, just let me know. > > The shmobile driver hasn't seen changes for a long time and I don't have > patches queued in my tree for it. If you don't mind taking this patch > through drm-misc with the rest of the drmP.h removal series it would be > easier for me. Otherwise please let me know and I'll handle it. No problem, I will add to drm-misc when ready. The motivation was alone to avoid later merge conflicts - which in this case is a non-issue. > > diff --git a/drivers/gpu/drm/shmobile/shmob_drm_crtc.h b/drivers/gpu/drm/shmobile/shmob_drm_crtc.h > > index 9ca6920641d8..bd35fe8f9028 100644 > > --- a/drivers/gpu/drm/shmobile/shmob_drm_crtc.h > > +++ b/drivers/gpu/drm/shmobile/shmob_drm_crtc.h > > @@ -10,7 +10,6 @@ > > #ifndef __SHMOB_DRM_CRTC_H__ > > #define __SHMOB_DRM_CRTC_H__ > > > > -#include <drm/drmP.h> > > I think you should include drm/drm_connector.h here. It gets pulled > indirectly, but it's one of the top-level headers and I think it should > be explicitly included to avoid future breakages. > > While at it a forward declaration of struct drm_pending_vblank_event and > struct shmob_drm_format_info could also be useful to make the header > self-contained. Good input. I went through all shmobile header files - now gcc is happy with them all when used individually (self-contained). I will post a v2 a bit later today with the below fixup included. Sam diff --git a/drivers/gpu/drm/shmobile/shmob_drm_crtc.h b/drivers/gpu/drm/shmobile/shmob_drm_crtc.h index bd35fe8f9028..21718843f46d 100644 --- a/drivers/gpu/drm/shmobile/shmob_drm_crtc.h +++ b/drivers/gpu/drm/shmobile/shmob_drm_crtc.h @@ -11,10 +11,13 @@ #define __SHMOB_DRM_CRTC_H__ #include <drm/drm_crtc.h> +#include <drm/drm_connector.h> #include <drm/drm_encoder.h> struct backlight_device; +struct drm_pending_vblank_event; struct shmob_drm_device; +struct shmob_drm_format_info; struct shmob_drm_crtc { struct drm_crtc crtc; diff --git a/drivers/gpu/drm/shmobile/shmob_drm_plane.h b/drivers/gpu/drm/shmobile/shmob_drm_plane.h index bae67cc8c628..e72b21a4288f 100644 --- a/drivers/gpu/drm/shmobile/shmob_drm_plane.h +++ b/drivers/gpu/drm/shmobile/shmob_drm_plane.h @@ -10,6 +10,7 @@ #ifndef __SHMOB_DRM_PLANE_H__ #define __SHMOB_DRM_PLANE_H__ +struct drm_plane; struct shmob_drm_device; int shmob_drm_plane_create(struct shmob_drm_device *sdev, unsigned int index); diff --git a/drivers/gpu/drm/shmobile/shmob_drm_regs.h b/drivers/gpu/drm/shmobile/shmob_drm_regs.h index 9eb0b3d01df8..058533685c4c 100644 --- a/drivers/gpu/drm/shmobile/shmob_drm_regs.h +++ b/drivers/gpu/drm/shmobile/shmob_drm_regs.h @@ -11,6 +11,9 @@ #define __SHMOB_DRM_REGS_H__ #include <linux/io.h> +#include <linux/jiffies.h> + +#include "shmob_drm_drv.h" /* Register definitions */ #define LDDCKPAT1R 0x400