Commit 88e96644 authored by Jani Nikula's avatar Jani Nikula

drm/i915: use localized __diag_ignore_all() instead of per file

Use localized __diag_push(), __diag_ignore_all() with rationale, and
__diag_pop() for specific initializations instead of blanket disabling
of -Woverride-init across several files.
Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
Reviewed-by: default avatarGustavo Sousa <gustavo.sousa@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230525210653.1048972-1-jani.nikula@intel.com
parent e2a9f0a3
...@@ -23,11 +23,6 @@ subdir-ccflags-y += $(call cc-disable-warning, unused-but-set-variable) ...@@ -23,11 +23,6 @@ subdir-ccflags-y += $(call cc-disable-warning, unused-but-set-variable)
subdir-ccflags-y += $(call cc-disable-warning, frame-address) subdir-ccflags-y += $(call cc-disable-warning, frame-address)
subdir-ccflags-$(CONFIG_DRM_I915_WERROR) += -Werror subdir-ccflags-$(CONFIG_DRM_I915_WERROR) += -Werror
# Fine grained warnings disable
CFLAGS_i915_pci.o = $(call cc-disable-warning, override-init)
CFLAGS_display/intel_display_device.o = $(call cc-disable-warning, override-init)
CFLAGS_display/intel_fbdev.o = $(call cc-disable-warning, override-init)
subdir-ccflags-y += -I$(srctree)/$(src) subdir-ccflags-y += -I$(srctree)/$(src)
# Please keep these build lists sorted! # Please keep these build lists sorted!
......
...@@ -14,6 +14,9 @@ ...@@ -14,6 +14,9 @@
#include "intel_display_reg_defs.h" #include "intel_display_reg_defs.h"
#include "intel_fbc.h" #include "intel_fbc.h"
__diag_push();
__diag_ignore_all("-Woverride-init", "Allow overriding inherited members");
static const struct intel_display_device_info no_display = {}; static const struct intel_display_device_info no_display = {};
#define PIPE_A_OFFSET 0x70000 #define PIPE_A_OFFSET 0x70000
...@@ -650,6 +653,8 @@ static const struct intel_display_device_info xe_lpdp_display = { ...@@ -650,6 +653,8 @@ static const struct intel_display_device_info xe_lpdp_display = {
BIT(TRANSCODER_C) | BIT(TRANSCODER_D), BIT(TRANSCODER_C) | BIT(TRANSCODER_D),
}; };
__diag_pop();
#undef INTEL_VGA_DEVICE #undef INTEL_VGA_DEVICE
#undef INTEL_QUANTA_VGA_DEVICE #undef INTEL_QUANTA_VGA_DEVICE
#define INTEL_VGA_DEVICE(id, info) { id, info } #define INTEL_VGA_DEVICE(id, info) { id, info }
......
...@@ -130,6 +130,9 @@ static int intel_fbdev_mmap(struct fb_info *info, struct vm_area_struct *vma) ...@@ -130,6 +130,9 @@ static int intel_fbdev_mmap(struct fb_info *info, struct vm_area_struct *vma)
return i915_gem_fb_mmap(obj, vma); return i915_gem_fb_mmap(obj, vma);
} }
__diag_push();
__diag_ignore_all("-Woverride-init", "Allow overriding the default ops");
static const struct fb_ops intelfb_ops = { static const struct fb_ops intelfb_ops = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
DRM_FB_HELPER_DEFAULT_OPS, DRM_FB_HELPER_DEFAULT_OPS,
...@@ -144,6 +147,8 @@ static const struct fb_ops intelfb_ops = { ...@@ -144,6 +147,8 @@ static const struct fb_ops intelfb_ops = {
.fb_mmap = intel_fbdev_mmap, .fb_mmap = intel_fbdev_mmap,
}; };
__diag_pop();
static int intelfb_alloc(struct drm_fb_helper *helper, static int intelfb_alloc(struct drm_fb_helper *helper,
struct drm_fb_helper_surface_size *sizes) struct drm_fb_helper_surface_size *sizes)
{ {
......
...@@ -38,6 +38,9 @@ ...@@ -38,6 +38,9 @@
#include "i915_reg.h" #include "i915_reg.h"
#include "intel_pci_config.h" #include "intel_pci_config.h"
__diag_push();
__diag_ignore_all("-Woverride-init", "Allow overriding inherited members");
#define PLATFORM(x) .platform = (x) #define PLATFORM(x) .platform = (x)
#define GEN(x) \ #define GEN(x) \
.__runtime.graphics.ip.ver = (x), \ .__runtime.graphics.ip.ver = (x), \
...@@ -843,6 +846,8 @@ static const struct intel_device_info mtl_info = { ...@@ -843,6 +846,8 @@ static const struct intel_device_info mtl_info = {
#undef PLATFORM #undef PLATFORM
__diag_pop();
/* /*
* Make sure any device matches here are from most specific to most * Make sure any device matches here are from most specific to most
* general. For example, since the Quanta match is based on the subsystem * general. For example, since the Quanta match is based on the subsystem
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment