diff mbox

drm/i915: Make DRM_I915_WERROR depend on !COMPILE_TEST

Message ID 1432460887-31055-1-git-send-email-damien.lespiau@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Lespiau, Damien May 24, 2015, 9:48 a.m. UTC
With allyesconfig/allmodconfig, kbuild enables all the options it can,
including DRM_I915_WERROR. That's not really what we want with -Werror,
and this was breaking the build for Andrew.

Andrew suggested to use COMPILE_TEST as a way to 'detect' these
configurations.

An alternative would be to inverse the condition of the option:
DRM_I915_NO_WERROR. Setting that one to Y would have no effect, at the
price of a bit of confusion.

Another alternative would be to introduce a allyesmodconfig_n property
to config entries, like the allnoconfig_y one we have today:

  - "allnoconfig_y"
    This declares the symbol as one that should have the value y when
    using "allnoconfig". Used for symbols that hide other symbols.

Of course, allyesmodconfig_n would set the value to n when using
"allmodconfig" or "allmodconfig". That alternative needs a bit more work
though and may not be desirable, given that even allnoconfig_y is used
only once today.

Reported-by: Andrew Morton <akpm@linux-foundation.org>
Suggested-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
---
 drivers/gpu/drm/i915/Kconfig.debug | 3 +++
 1 file changed, 3 insertions(+)

Comments

Chris Wilson May 25, 2015, 7:36 a.m. UTC | #1
On Sun, May 24, 2015 at 10:48:07AM +0100, Damien Lespiau wrote:
> With allyesconfig/allmodconfig, kbuild enables all the options it can,
> including DRM_I915_WERROR. That's not really what we want with -Werror,
> and this was breaking the build for Andrew.
> 
> Andrew suggested to use COMPILE_TEST as a way to 'detect' these
> configurations.
> 
> An alternative would be to inverse the condition of the option:
> DRM_I915_NO_WERROR. Setting that one to Y would have no effect, at the
> price of a bit of confusion.
> 
> Another alternative would be to introduce a allyesmodconfig_n property
> to config entries, like the allnoconfig_y one we have today:
> 
>   - "allnoconfig_y"
>     This declares the symbol as one that should have the value y when
>     using "allnoconfig". Used for symbols that hide other symbols.
> 
> Of course, allyesmodconfig_n would set the value to n when using
> "allmodconfig" or "allmodconfig". That alternative needs a bit more work
> though and may not be desirable, given that even allnoconfig_y is used
> only once today.
> 
> Reported-by: Andrew Morton <akpm@linux-foundation.org>
> Suggested-by: Andrew Morton <akpm@linux-foundation.org>
> Cc: Andrew Morton <akpm@linux-foundation.org>
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>

As a proxy, it seems reasonable.
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>

Do you also have a patch for the broken code? :)
-Chris
Jani Nikula May 25, 2015, 9:26 a.m. UTC | #2
On Mon, 25 May 2015, Chris Wilson <chris@chris-wilson.co.uk> wrote:
> On Sun, May 24, 2015 at 10:48:07AM +0100, Damien Lespiau wrote:
>> With allyesconfig/allmodconfig, kbuild enables all the options it can,
>> including DRM_I915_WERROR. That's not really what we want with -Werror,
>> and this was breaking the build for Andrew.
>> 
>> Andrew suggested to use COMPILE_TEST as a way to 'detect' these
>> configurations.
>> 
>> An alternative would be to inverse the condition of the option:
>> DRM_I915_NO_WERROR. Setting that one to Y would have no effect, at the
>> price of a bit of confusion.
>> 
>> Another alternative would be to introduce a allyesmodconfig_n property
>> to config entries, like the allnoconfig_y one we have today:
>> 
>>   - "allnoconfig_y"
>>     This declares the symbol as one that should have the value y when
>>     using "allnoconfig". Used for symbols that hide other symbols.
>> 
>> Of course, allyesmodconfig_n would set the value to n when using
>> "allmodconfig" or "allmodconfig". That alternative needs a bit more work
>> though and may not be desirable, given that even allnoconfig_y is used
>> only once today.
>> 
>> Reported-by: Andrew Morton <akpm@linux-foundation.org>
>> Suggested-by: Andrew Morton <akpm@linux-foundation.org>
>> Cc: Andrew Morton <akpm@linux-foundation.org>
>> Cc: Chris Wilson <chris@chris-wilson.co.uk>
>> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
>
> As a proxy, it seems reasonable.
> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
>
> Do you also have a patch for the broken code? :)

One of the things I looked at was the compiler being silly.

Jani.


> -Chris
>
> -- 
> Chris Wilson, Intel Open Source Technology Centre
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Chris Wilson May 25, 2015, 12:15 p.m. UTC | #3
On Mon, May 25, 2015 at 12:26:38PM +0300, Jani Nikula wrote:
> On Mon, 25 May 2015, Chris Wilson <chris@chris-wilson.co.uk> wrote:
> > On Sun, May 24, 2015 at 10:48:07AM +0100, Damien Lespiau wrote:
> >> With allyesconfig/allmodconfig, kbuild enables all the options it can,
> >> including DRM_I915_WERROR. That's not really what we want with -Werror,
> >> and this was breaking the build for Andrew.
> >> 
> >> Andrew suggested to use COMPILE_TEST as a way to 'detect' these
> >> configurations.
> >> 
> >> An alternative would be to inverse the condition of the option:
> >> DRM_I915_NO_WERROR. Setting that one to Y would have no effect, at the
> >> price of a bit of confusion.
> >> 
> >> Another alternative would be to introduce a allyesmodconfig_n property
> >> to config entries, like the allnoconfig_y one we have today:
> >> 
> >>   - "allnoconfig_y"
> >>     This declares the symbol as one that should have the value y when
> >>     using "allnoconfig". Used for symbols that hide other symbols.
> >> 
> >> Of course, allyesmodconfig_n would set the value to n when using
> >> "allmodconfig" or "allmodconfig". That alternative needs a bit more work
> >> though and may not be desirable, given that even allnoconfig_y is used
> >> only once today.
> >> 
> >> Reported-by: Andrew Morton <akpm@linux-foundation.org>
> >> Suggested-by: Andrew Morton <akpm@linux-foundation.org>
> >> Cc: Andrew Morton <akpm@linux-foundation.org>
> >> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> >> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
> >
> > As a proxy, it seems reasonable.
> > Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
> >
> > Do you also have a patch for the broken code? :)
> 
> One of the things I looked at was the compiler being silly.

We shr a 32bit constant by 32 bits, the compiler warning is
genuine.
-Chris
Jani Nikula May 25, 2015, 12:31 p.m. UTC | #4
On Mon, 25 May 2015, Chris Wilson <chris@chris-wilson.co.uk> wrote:
> On Mon, May 25, 2015 at 12:26:38PM +0300, Jani Nikula wrote:
>> On Mon, 25 May 2015, Chris Wilson <chris@chris-wilson.co.uk> wrote:
>> > On Sun, May 24, 2015 at 10:48:07AM +0100, Damien Lespiau wrote:
>> >> With allyesconfig/allmodconfig, kbuild enables all the options it can,
>> >> including DRM_I915_WERROR. That's not really what we want with -Werror,
>> >> and this was breaking the build for Andrew.
>> >> 
>> >> Andrew suggested to use COMPILE_TEST as a way to 'detect' these
>> >> configurations.
>> >> 
>> >> An alternative would be to inverse the condition of the option:
>> >> DRM_I915_NO_WERROR. Setting that one to Y would have no effect, at the
>> >> price of a bit of confusion.
>> >> 
>> >> Another alternative would be to introduce a allyesmodconfig_n property
>> >> to config entries, like the allnoconfig_y one we have today:
>> >> 
>> >>   - "allnoconfig_y"
>> >>     This declares the symbol as one that should have the value y when
>> >>     using "allnoconfig". Used for symbols that hide other symbols.
>> >> 
>> >> Of course, allyesmodconfig_n would set the value to n when using
>> >> "allmodconfig" or "allmodconfig". That alternative needs a bit more work
>> >> though and may not be desirable, given that even allnoconfig_y is used
>> >> only once today.
>> >> 
>> >> Reported-by: Andrew Morton <akpm@linux-foundation.org>
>> >> Suggested-by: Andrew Morton <akpm@linux-foundation.org>
>> >> Cc: Andrew Morton <akpm@linux-foundation.org>
>> >> Cc: Chris Wilson <chris@chris-wilson.co.uk>
>> >> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
>> >
>> > As a proxy, it seems reasonable.
>> > Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
>> >
>> > Do you also have a patch for the broken code? :)
>> 
>> One of the things I looked at was the compiler being silly.
>
> We shr a 32bit constant by 32 bits, the compiler warning is
> genuine.

I meant

gcc-4.4.4:

cc1: warnings being treated as errors
drivers/gpu/drm/i915/intel_tv.c: In function 'intel_tv_detect':
drivers/gpu/drm/i915/intel_tv.c:1319: error: 'type' may be used uninitialized in this function

Jani.


> -Chris
>
> -- 
> Chris Wilson, Intel Open Source Technology Centre
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/Kconfig.debug b/drivers/gpu/drm/i915/Kconfig.debug
index 070a035..9d6ec64 100644
--- a/drivers/gpu/drm/i915/Kconfig.debug
+++ b/drivers/gpu/drm/i915/Kconfig.debug
@@ -1,5 +1,8 @@ 
 config DRM_I915_WERROR
 	bool "Force GCC to throw an error instead of a warning when compiling"
+	# We use the dependency on !COMPILE_TEST to not be enabled in
+	# allmodconfig or allyesconfig configurations
+	depends on !COMPILE_TEST
 	default n
 	---help---
 	  Add -Werror to the build flags for (and only for) i915.ko