diff --git a/drivers/staging/imx-drm/ipu-v3/ipu-dp.c b/drivers/staging/imx-drm/ipu-v3/ipu-dp.c index 6e0e9f1c6517bd6655dab603f9f372ae30ad95d4..231afd6c60f848fb13b8fc6f6b66ef6684aa8e75 100644 --- a/drivers/staging/imx-drm/ipu-v3/ipu-dp.c +++ b/drivers/staging/imx-drm/ipu-v3/ipu-dp.c @@ -46,6 +46,8 @@ #define DP_COM_CONF_CSC_DEF_BG (2 << 8) #define DP_COM_CONF_CSC_DEF_BOTH (1 << 8) +#define IPUV3_NUM_FLOWS 3 + struct ipu_dp_priv; struct ipu_dp { @@ -67,7 +69,7 @@ struct ipu_dp_priv { struct ipu_soc *ipu; struct device *dev; void __iomem *base; - struct ipu_flow flow[3]; + struct ipu_flow flow[IPUV3_NUM_FLOWS]; struct mutex mutex; int use_count; }; @@ -280,7 +282,7 @@ struct ipu_dp *ipu_dp_get(struct ipu_soc *ipu, unsigned int flow) struct ipu_dp_priv *priv = ipu->dp_priv; struct ipu_dp *dp; - if (flow > 5) + if ((flow >> 1) >= IPUV3_NUM_FLOWS) return ERR_PTR(-EINVAL); if (flow & 1) @@ -322,7 +324,7 @@ int ipu_dp_init(struct ipu_soc *ipu, struct device *dev, unsigned long base) mutex_init(&priv->mutex); - for (i = 0; i < 3; i++) { + for (i = 0; i < IPUV3_NUM_FLOWS; i++) { priv->flow[i].foreground.foreground = 1; priv->flow[i].base = priv->base + ipu_dp_flow_base[i]; priv->flow[i].priv = priv;