[Intel-gfx] [PATCH 2/2] drm/i915: transform INTEL_OUTPUT_* into an enum

Daniel Vetter daniel at ffwll.ch
Tue Oct 28 08:55:05 CET 2014


On Mon, Oct 27, 2014 at 05:47:52PM -0200, Paulo Zanoni wrote:
> From: Paulo Zanoni <paulo.r.zanoni at intel.com>
> 
> Because I got annoyed that I had to document what values "int
> ddi_personality" is supposed to hold.
> 
> A good side-effect of this change is that now the compilers can do
> some additional checks on our code, which may prevent some bugs in the
> future. A bad side-effect of this change is that now the compilers do
> some additional checks on our code and complain when a switch
> statement doesn't check for all possible values, so we need to add
> "default" cases to all those switches. Hopefully, this may help
> preventing confusions against DRM_MODE_CONNECTOR_* and
> DRM_MODE_ENCODER_*.
> 
> I guess that just by looking at the patch, some people will think this
> change is not worth its benefits. In this case, I don't really mind
> dropping the patch.
> 
> Also, there's probably still a few more places where we can
> s/int/enum intel_output_type/, but we can change that later, when we
> spot the places.
> 
> Signed-off-by: Paulo Zanoni <paulo.r.zanoni at intel.com>

I like this, so went right ahead and applied it and resolved the little
rebase conflict.
-Daniel

> ---
>  drivers/gpu/drm/i915/i915_debugfs.c  |  2 ++
>  drivers/gpu/drm/i915/intel_display.c | 10 ++++++++++
>  drivers/gpu/drm/i915/intel_drv.h     | 31 ++++++++++++++++---------------
>  3 files changed, 28 insertions(+), 15 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> index 61ea8da..a79f83c 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -2971,6 +2971,8 @@ static int i9xx_pipe_crc_auto_source(struct drm_device *dev, enum pipe pipe,
>  				break;
>  			}
>  			break;
> +		default:
> +			break;
>  		}
>  	}
>  	drm_modeset_unlock_all(dev);
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 16750c4..83b8771 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -6269,6 +6269,8 @@ static int i9xx_crtc_mode_set(struct intel_crtc *crtc,
>  		case INTEL_OUTPUT_DSI:
>  			is_dsi = true;
>  			break;
> +		default:
> +			break;
>  		}
>  
>  		num_connectors++;
> @@ -6597,6 +6599,8 @@ static void ironlake_init_pch_refclk(struct drm_device *dev)
>  			if (enc_to_dig_port(&encoder->base)->port == PORT_A)
>  				has_cpu_edp = true;
>  			break;
> +		default:
> +			break;
>  		}
>  	}
>  
> @@ -6901,6 +6905,8 @@ static void lpt_init_pch_refclk(struct drm_device *dev)
>  		case INTEL_OUTPUT_ANALOG:
>  			has_vga = true;
>  			break;
> +		default:
> +			break;
>  		}
>  	}
>  
> @@ -6934,6 +6940,8 @@ static int ironlake_get_refclk(struct drm_crtc *crtc)
>  		case INTEL_OUTPUT_LVDS:
>  			is_lvds = true;
>  			break;
> +		default:
> +			break;
>  		}
>  		num_connectors++;
>  	}
> @@ -7188,6 +7196,8 @@ static uint32_t ironlake_compute_dpll(struct intel_crtc *intel_crtc,
>  		case INTEL_OUTPUT_HDMI:
>  			is_sdvo = true;
>  			break;
> +		default:
> +			break;
>  		}
>  
>  		num_connectors++;
> diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
> index bf3267c..deb1bc6 100644
> --- a/drivers/gpu/drm/i915/intel_drv.h
> +++ b/drivers/gpu/drm/i915/intel_drv.h
> @@ -94,18 +94,20 @@
>  
>  /* these are outputs from the chip - integrated only
>     external chips are via DVO or SDVO output */
> -#define INTEL_OUTPUT_UNUSED 0
> -#define INTEL_OUTPUT_ANALOG 1
> -#define INTEL_OUTPUT_DVO 2
> -#define INTEL_OUTPUT_SDVO 3
> -#define INTEL_OUTPUT_LVDS 4
> -#define INTEL_OUTPUT_TVOUT 5
> -#define INTEL_OUTPUT_HDMI 6
> -#define INTEL_OUTPUT_DISPLAYPORT 7
> -#define INTEL_OUTPUT_EDP 8
> -#define INTEL_OUTPUT_DSI 9
> -#define INTEL_OUTPUT_UNKNOWN 10
> -#define INTEL_OUTPUT_DP_MST 11
> +enum intel_output_type {
> +	INTEL_OUTPUT_UNUSED = 0,
> +	INTEL_OUTPUT_ANALOG = 1,
> +	INTEL_OUTPUT_DVO = 2,
> +	INTEL_OUTPUT_SDVO = 3,
> +	INTEL_OUTPUT_LVDS = 4,
> +	INTEL_OUTPUT_TVOUT = 5,
> +	INTEL_OUTPUT_HDMI = 6,
> +	INTEL_OUTPUT_DISPLAYPORT = 7,
> +	INTEL_OUTPUT_EDP = 8,
> +	INTEL_OUTPUT_DSI = 9,
> +	INTEL_OUTPUT_UNKNOWN = 10,
> +	INTEL_OUTPUT_DP_MST = 11,
> +};
>  
>  #define INTEL_DVO_CHIP_NONE 0
>  #define INTEL_DVO_CHIP_LVDS 1
> @@ -136,7 +138,7 @@ struct intel_encoder {
>  	 */
>  	struct intel_crtc *new_crtc;
>  
> -	int type;
> +	enum intel_output_type type;
>  	unsigned int cloneable;
>  	bool connectors_active;
>  	void (*hot_plug)(struct intel_encoder *);
> @@ -387,8 +389,7 @@ struct intel_crtc_config {
>  	bool dp_encoder_is_mst;
>  	int pbn;
>  
> -	/* This should be INTEL_OUTPUT_*. */
> -	int ddi_personality;
> +	enum intel_output_type ddi_personality;
>  };
>  
>  struct intel_pipe_wm {
> -- 
> 2.1.1
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch



More information about the Intel-gfx mailing list