On Wed, 12 Feb 2025, Gustavo Sousa <gustavo.sousa@xxxxxxxxx> wrote: > In the hope of contributing to type safety in our code, let's ensure > that the type returned by the POWER_DOMAIN_*() macros is always of type > enum intel_display_power_domain. > > Signed-off-by: Gustavo Sousa <gustavo.sousa@xxxxxxxxx> > --- > drivers/gpu/drm/i915/display/intel_display_power.h | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_display_power.h b/drivers/gpu/drm/i915/display/intel_display_power.h > index 3caa3f517a32..ab4c9a1e7e02 100644 > --- a/drivers/gpu/drm/i915/display/intel_display_power.h > +++ b/drivers/gpu/drm/i915/display/intel_display_power.h > @@ -117,12 +117,13 @@ enum intel_display_power_domain { > POWER_DOMAIN_INVALID = POWER_DOMAIN_NUM, > }; > > -#define POWER_DOMAIN_PIPE(pipe) ((int)(pipe) + POWER_DOMAIN_PIPE_A) > +#define POWER_DOMAIN_PIPE(pipe) \ > + ((enum intel_display_power_domain)((int)(pipe) + 1 + POWER_DOMAIN_PIPE_A)) ^^^^^^^ What's with the +1? > #define POWER_DOMAIN_PIPE_PANEL_FITTER(pipe) \ > - ((int)(pipe) + POWER_DOMAIN_PIPE_PANEL_FITTER_A) > + ((enum intel_display_power_domain)((int)(pipe) + POWER_DOMAIN_PIPE_PANEL_FITTER_A)) > #define POWER_DOMAIN_TRANSCODER(tran) \ > ((tran) == TRANSCODER_EDP ? POWER_DOMAIN_TRANSCODER_EDP : \ > - (int)(tran) + POWER_DOMAIN_TRANSCODER_A) > + (enum intel_display_power_domain)((int)(tran) + POWER_DOMAIN_TRANSCODER_A)) > > struct intel_power_domain_mask { > DECLARE_BITMAP(bits, POWER_DOMAIN_NUM); -- Jani Nikula, Intel