On Fri, Apr 29, 2022 at 05:21:40PM +0300, Jani Nikula wrote:
> Using compound literals for initialization can be tricky. Lacking a
> const qualifier, they won't end up in rodata, which is probably not
> expected or intended. Add const to move a whopping 136 initializers to
> rodata.
>
> Compare:
>
> $ objdump --syms drivers/gpu/drm/i915/display/intel_display_power_map.o |
> grep "\.rodata.*__compound_literal"
> $ objdump --syms drivers/gpu/drm/i915/display/intel_display_power_map.o |
> grep "\.data.*__compound_literal"
>
> Before and after the change.
>
> Fixes: c32ffce42aa5 ("drm/i915: Convert the power well descriptor domain mask
> to an array of domains")
> Fixes: 4a845ff0c0d4 ("drm/i915: Simplify power well definitions by adding
> power well instances")
> Cc: Imre Deak <[email protected]>
> Cc: Jouni Högander <[email protected]>
> Signed-off-by: Jani Nikula <[email protected]>
Reviewed-by: Imre Deak <[email protected]>
> ---
> drivers/gpu/drm/i915/display/intel_display_power_map.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_power_map.c
> b/drivers/gpu/drm/i915/display/intel_display_power_map.c
> index af6f54a26a35..97b367f39f35 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_power_map.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_power_map.c
> @@ -21,7 +21,7 @@
>
> #define I915_PW_DOMAINS(...) \
> (const struct i915_power_domain_list) \
> - __LIST(__LIST_INLINE_ELEMS(enum intel_display_power_domain,
> __VA_ARGS__))
> + __LIST(__LIST_INLINE_ELEMS(const enum
> intel_display_power_domain, __VA_ARGS__))
>
> #define I915_DECL_PW_DOMAINS(__name, ...) \
> static const struct i915_power_domain_list __name =
> I915_PW_DOMAINS(__VA_ARGS__)
> @@ -32,7 +32,7 @@
>
> #define I915_PW_INSTANCES(...) \
> (const struct i915_power_well_instance_list) \
> - __LIST(__LIST_INLINE_ELEMS(struct i915_power_well_instance,
> __VA_ARGS__))
> + __LIST(__LIST_INLINE_ELEMS(const struct
> i915_power_well_instance, __VA_ARGS__))
>
> #define I915_PW(_name, _domain_list, ...) \
> { .name = _name, .domain_list = _domain_list, ## __VA_ARGS__ }
> --
> 2.30.2
>