drm/i915: Force clean compilation with -Werror
diff mbox

Message ID 1432127567-18494-1-git-send-email-chris@chris-wilson.co.uk
State New
Headers show

Commit Message

Chris Wilson May 20, 2015, 1:12 p.m. UTC
Our driver compiles clean (nowadays thanks to 0day) but for me, at least,
it would be beneficial if the compiler threw an error rather than a
warning when it found a piece of suspect code. (I use this to
compile-check patch series and want to break on the first compiler error
in order to fix the patch.)

v2: Kick off a new "Debugging" submenu for i915.ko

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/Kconfig       | 8 ++++++++
 drivers/gpu/drm/i915/Kconfig.debug | 5 +++++
 drivers/gpu/drm/i915/Makefile      | 2 ++
 3 files changed, 15 insertions(+)
 create mode 100644 drivers/gpu/drm/i915/Kconfig.debug

Comments

Lespiau, Damien May 20, 2015, 1:55 p.m. UTC | #1
On Wed, May 20, 2015 at 02:12:47PM +0100, Chris Wilson wrote:
> Our driver compiles clean (nowadays thanks to 0day) but for me, at least,
> it would be beneficial if the compiler threw an error rather than a
> warning when it found a piece of suspect code. (I use this to
> compile-check patch series and want to break on the first compiler error
> in order to fix the patch.)
> 
> v2: Kick off a new "Debugging" submenu for i915.ko
> 
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

I believe we could shove a few interesting things into that menu, sounds
like a potentially useful thing to me:

Acked-by: Damien Lespiau <damien.lespiau@intel.com>
Chris Wilson May 20, 2015, 2:44 p.m. UTC | #2
On Wed, May 20, 2015 at 02:55:35PM +0100, Damien Lespiau wrote:
> On Wed, May 20, 2015 at 02:12:47PM +0100, Chris Wilson wrote:
> > Our driver compiles clean (nowadays thanks to 0day) but for me, at least,
> > it would be beneficial if the compiler threw an error rather than a
> > warning when it found a piece of suspect code. (I use this to
> > compile-check patch series and want to break on the first compiler error
> > in order to fix the patch.)
> > 
> > v2: Kick off a new "Debugging" submenu for i915.ko
> > 
> > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> 
> I believe we could shove a few interesting things into that menu, sounds
> like a potentially useful thing to me:
> 
> Acked-by: Damien Lespiau <damien.lespiau@intel.com>
> 
> -- 
> Damien
> 
> > ---
> >  drivers/gpu/drm/i915/Kconfig       | 8 ++++++++
> >  drivers/gpu/drm/i915/Kconfig.debug | 5 +++++
> >  drivers/gpu/drm/i915/Makefile      | 2 ++
> >  3 files changed, 15 insertions(+)
> >  create mode 100644 drivers/gpu/drm/i915/Kconfig.debug
> > 
> > diff --git a/drivers/gpu/drm/i915/Kconfig b/drivers/gpu/drm/i915/Kconfig
> > index 74acca9bcd9d..76c425ca2a2c 100644
> > --- a/drivers/gpu/drm/i915/Kconfig
> > +++ b/drivers/gpu/drm/i915/Kconfig
> > @@ -71,3 +71,11 @@ config DRM_I915_PRELIMINARY_HW_SUPPORT
> >  	  option changes the default for that module option.
> >  
> >  	  If in doubt, say "N".
> > +
> > +menu "Debugging"

This has to be something more like "DRM I915_Debugging" as it is
presented to the user without context in make oldconfig and appears
verbatim in .config.
-Chris
Jani Nikula May 21, 2015, 7:22 a.m. UTC | #3
On Wed, 20 May 2015, Chris Wilson <chris@chris-wilson.co.uk> wrote:
> Our driver compiles clean (nowadays thanks to 0day) but for me, at least,
> it would be beneficial if the compiler threw an error rather than a
> warning when it found a piece of suspect code. (I use this to
> compile-check patch series and want to break on the first compiler error
> in order to fix the patch.)
>
> v2: Kick off a new "Debugging" submenu for i915.ko
>
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> ---
>  drivers/gpu/drm/i915/Kconfig       | 8 ++++++++
>  drivers/gpu/drm/i915/Kconfig.debug | 5 +++++
>  drivers/gpu/drm/i915/Makefile      | 2 ++
>  3 files changed, 15 insertions(+)
>  create mode 100644 drivers/gpu/drm/i915/Kconfig.debug
>
> diff --git a/drivers/gpu/drm/i915/Kconfig b/drivers/gpu/drm/i915/Kconfig
> index 74acca9bcd9d..76c425ca2a2c 100644
> --- a/drivers/gpu/drm/i915/Kconfig
> +++ b/drivers/gpu/drm/i915/Kconfig
> @@ -71,3 +71,11 @@ config DRM_I915_PRELIMINARY_HW_SUPPORT
>  	  option changes the default for that module option.
>  
>  	  If in doubt, say "N".
> +
> +menu "Debugging"
> +
> +depends on DRM_I915
> +
> +source drivers/gpu/drm/i915/Kconfig.debug
> +
> +endmenu
> diff --git a/drivers/gpu/drm/i915/Kconfig.debug b/drivers/gpu/drm/i915/Kconfig.debug
> new file mode 100644
> index 000000000000..070a03527bc5
> --- /dev/null
> +++ b/drivers/gpu/drm/i915/Kconfig.debug
> @@ -0,0 +1,5 @@
> +config DRM_I915_WERROR
> +	bool "Force GCC to throw an error instead of a warning when compiling"
> +	default n
> +	---help---
> +	  Add -Werror to the build flags for (and only for) i915.ko
> diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
> index b7ddf48e1d75..93d99b744531 100644
> --- a/drivers/gpu/drm/i915/Makefile
> +++ b/drivers/gpu/drm/i915/Makefile
> @@ -2,6 +2,8 @@
>  # Makefile for the drm device driver.  This driver provides support for the
>  # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher.
>  
> +subdir-ccflags-$(CONFIG_DRM_I915_WERROR) := -Werror

arch/powerpc seems to have a similar thing.

Acked-by: Jani Nikula <jani.nikula@intel.com>

---

I see that we're clean also with

  -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wno-override-init

so could have those with e.g. subdir-ccflags-$(CONFIG_DRM_I915_WEXTRA).

I might argue we could and should get rid of
-Wno-missing-field-initializers -Wno-override-init too...

BR,
Jani.




> +
>  # Please keep these build lists sorted!
>  
>  # core driver code
> -- 
> 2.1.4
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Daniel Vetter May 21, 2015, 9:38 a.m. UTC | #4
On Thu, May 21, 2015 at 10:22:17AM +0300, Jani Nikula wrote:
> On Wed, 20 May 2015, Chris Wilson <chris@chris-wilson.co.uk> wrote:
> > Our driver compiles clean (nowadays thanks to 0day) but for me, at least,
> > it would be beneficial if the compiler threw an error rather than a
> > warning when it found a piece of suspect code. (I use this to
> > compile-check patch series and want to break on the first compiler error
> > in order to fix the patch.)
> >
> > v2: Kick off a new "Debugging" submenu for i915.ko
> >
> > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> > ---
> >  drivers/gpu/drm/i915/Kconfig       | 8 ++++++++
> >  drivers/gpu/drm/i915/Kconfig.debug | 5 +++++
> >  drivers/gpu/drm/i915/Makefile      | 2 ++
> >  3 files changed, 15 insertions(+)
> >  create mode 100644 drivers/gpu/drm/i915/Kconfig.debug
> >
> > diff --git a/drivers/gpu/drm/i915/Kconfig b/drivers/gpu/drm/i915/Kconfig
> > index 74acca9bcd9d..76c425ca2a2c 100644
> > --- a/drivers/gpu/drm/i915/Kconfig
> > +++ b/drivers/gpu/drm/i915/Kconfig
> > @@ -71,3 +71,11 @@ config DRM_I915_PRELIMINARY_HW_SUPPORT
> >  	  option changes the default for that module option.
> >  
> >  	  If in doubt, say "N".
> > +
> > +menu "Debugging"
> > +
> > +depends on DRM_I915
> > +
> > +source drivers/gpu/drm/i915/Kconfig.debug
> > +
> > +endmenu
> > diff --git a/drivers/gpu/drm/i915/Kconfig.debug b/drivers/gpu/drm/i915/Kconfig.debug
> > new file mode 100644
> > index 000000000000..070a03527bc5
> > --- /dev/null
> > +++ b/drivers/gpu/drm/i915/Kconfig.debug
> > @@ -0,0 +1,5 @@
> > +config DRM_I915_WERROR
> > +	bool "Force GCC to throw an error instead of a warning when compiling"
> > +	default n
> > +	---help---
> > +	  Add -Werror to the build flags for (and only for) i915.ko
> > diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
> > index b7ddf48e1d75..93d99b744531 100644
> > --- a/drivers/gpu/drm/i915/Makefile
> > +++ b/drivers/gpu/drm/i915/Makefile
> > @@ -2,6 +2,8 @@
> >  # Makefile for the drm device driver.  This driver provides support for the
> >  # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher.
> >  
> > +subdir-ccflags-$(CONFIG_DRM_I915_WERROR) := -Werror
> 
> arch/powerpc seems to have a similar thing.
> 
> Acked-by: Jani Nikula <jani.nikula@intel.com>

Ok let's give this a shot and see what happens. Queued for -next, thanks
for the patch.
-Daniel
> 
> ---
> 
> I see that we're clean also with
> 
>   -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wno-override-init
> 
> so could have those with e.g. subdir-ccflags-$(CONFIG_DRM_I915_WEXTRA).
> 
> I might argue we could and should get rid of
> -Wno-missing-field-initializers -Wno-override-init too...
> 
> BR,
> Jani.
> 
> 
> 
> 
> > +
> >  # Please keep these build lists sorted!
> >  
> >  # core driver code
> > -- 
> > 2.1.4
> >
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx@lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> 
> -- 
> Jani Nikula, Intel Open Source Technology Center
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Shuang He May 21, 2015, 4:51 p.m. UTC | #5
Tested-By: Intel Graphics QA PRTS (Patch Regression Test System Contact: shuang.he@intel.com)
Task id: 6440
-------------------------------------Summary-------------------------------------
Platform          Delta          drm-intel-nightly          Series Applied
PNV                                  276/276              276/276
ILK                                  302/302              302/302
SNB                 -1              315/315              314/315
IVB                                  343/343              343/343
BYT                                  287/287              287/287
BDW                                  321/321              321/321
-------------------------------------Detailed-------------------------------------
Platform  Test                                drm-intel-nightly          Series Applied
*SNB  igt@pm_rpm@dpms-mode-unset-non-lpsp      PASS(1)      DMESG_WARN(1)
(dmesg patch applied)WARNING:at_drivers/gpu/drm/i915/intel_uncore.c:#assert_device_not_suspended[i915]()@WARNING:.* at .* assert_device_not_suspended+0x
Note: You need to pay more attention to line start with '*'

Patch
diff mbox

diff --git a/drivers/gpu/drm/i915/Kconfig b/drivers/gpu/drm/i915/Kconfig
index 74acca9bcd9d..76c425ca2a2c 100644
--- a/drivers/gpu/drm/i915/Kconfig
+++ b/drivers/gpu/drm/i915/Kconfig
@@ -71,3 +71,11 @@  config DRM_I915_PRELIMINARY_HW_SUPPORT
 	  option changes the default for that module option.
 
 	  If in doubt, say "N".
+
+menu "Debugging"
+
+depends on DRM_I915
+
+source drivers/gpu/drm/i915/Kconfig.debug
+
+endmenu
diff --git a/drivers/gpu/drm/i915/Kconfig.debug b/drivers/gpu/drm/i915/Kconfig.debug
new file mode 100644
index 000000000000..070a03527bc5
--- /dev/null
+++ b/drivers/gpu/drm/i915/Kconfig.debug
@@ -0,0 +1,5 @@ 
+config DRM_I915_WERROR
+	bool "Force GCC to throw an error instead of a warning when compiling"
+	default n
+	---help---
+	  Add -Werror to the build flags for (and only for) i915.ko
diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
index b7ddf48e1d75..93d99b744531 100644
--- a/drivers/gpu/drm/i915/Makefile
+++ b/drivers/gpu/drm/i915/Makefile
@@ -2,6 +2,8 @@ 
 # Makefile for the drm device driver.  This driver provides support for the
 # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher.
 
+subdir-ccflags-$(CONFIG_DRM_I915_WERROR) := -Werror
+
 # Please keep these build lists sorted!
 
 # core driver code