diff mbox series

drm/bridge: adv7511: Replace hardcoded number

Message ID 20200212134255.544-1-festevam@gmail.com (mailing list archive)
State New, archived
Headers show
Series drm/bridge: adv7511: Replace hardcoded number | expand

Commit Message

Fabio Estevam Feb. 12, 2020, 1:42 p.m. UTC
The hardcoded '12' means the number of elements in the
adv7511_csc_ycbcr_to_rgb[] array, so use the ARRAY_SIZE() macro
to let the code less error prone.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
---
 drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

Comments

Neil Armstrong Feb. 13, 2020, 9:20 a.m. UTC | #1
On 12/02/2020 14:42, Fabio Estevam wrote:
> The hardcoded '12' means the number of elements in the
> adv7511_csc_ycbcr_to_rgb[] array, so use the ARRAY_SIZE() macro
> to let the code less error prone.
> 
> Signed-off-by: Fabio Estevam <festevam@gmail.com>
> ---
>  drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 16 ++++++++--------
>  1 file changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
> index 9e13e466e72c..568c6d52cdda 100644
> --- a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
> +++ b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
> @@ -132,6 +132,13 @@ static const struct regmap_config adv7511_regmap_config = {
>   * Hardware configuration
>   */
>  
> +/* Coefficients for adv7511 color space conversion */
> +static const uint16_t adv7511_csc_ycbcr_to_rgb[] = {
> +	0x0734, 0x04ad, 0x0000, 0x1c1b,
> +	0x1ddc, 0x04ad, 0x1f24, 0x0135,
> +	0x0000, 0x04ad, 0x087c, 0x1b77,
> +};
> +
>  static void adv7511_set_colormap(struct adv7511 *adv7511, bool enable,
>  				 const uint16_t *coeff,
>  				 unsigned int scaling_factor)
> @@ -142,7 +149,7 @@ static void adv7511_set_colormap(struct adv7511 *adv7511, bool enable,
>  			   ADV7511_CSC_UPDATE_MODE, ADV7511_CSC_UPDATE_MODE);
>  
>  	if (enable) {
> -		for (i = 0; i < 12; ++i) {
> +		for (i = 0; i < ARRAY_SIZE(adv7511_csc_ycbcr_to_rgb); ++i) {
>  			regmap_update_bits(adv7511->regmap,
>  					   ADV7511_REG_CSC_UPPER(i),
>  					   0x1f, coeff[i] >> 8);
> @@ -193,13 +200,6 @@ static int adv7511_packet_disable(struct adv7511 *adv7511, unsigned int packet)
>  	return 0;
>  }
>  
> -/* Coefficients for adv7511 color space conversion */
> -static const uint16_t adv7511_csc_ycbcr_to_rgb[] = {
> -	0x0734, 0x04ad, 0x0000, 0x1c1b,
> -	0x1ddc, 0x04ad, 0x1f24, 0x0135,
> -	0x0000, 0x04ad, 0x087c, 0x1b77,
> -};
> -
>  static void adv7511_set_config_csc(struct adv7511 *adv7511,
>  				   struct drm_connector *connector,
>  				   bool rgb, bool hdmi_mode)
> 

Hmm, you replace an hardcoded number by an ARRAY_SIZE() of a maybe unrelated array,
maybe the size should be passed to adv7511_set_colormap() instead,

Neil
diff mbox series

Patch

diff --git a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
index 9e13e466e72c..568c6d52cdda 100644
--- a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
+++ b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
@@ -132,6 +132,13 @@  static const struct regmap_config adv7511_regmap_config = {
  * Hardware configuration
  */
 
+/* Coefficients for adv7511 color space conversion */
+static const uint16_t adv7511_csc_ycbcr_to_rgb[] = {
+	0x0734, 0x04ad, 0x0000, 0x1c1b,
+	0x1ddc, 0x04ad, 0x1f24, 0x0135,
+	0x0000, 0x04ad, 0x087c, 0x1b77,
+};
+
 static void adv7511_set_colormap(struct adv7511 *adv7511, bool enable,
 				 const uint16_t *coeff,
 				 unsigned int scaling_factor)
@@ -142,7 +149,7 @@  static void adv7511_set_colormap(struct adv7511 *adv7511, bool enable,
 			   ADV7511_CSC_UPDATE_MODE, ADV7511_CSC_UPDATE_MODE);
 
 	if (enable) {
-		for (i = 0; i < 12; ++i) {
+		for (i = 0; i < ARRAY_SIZE(adv7511_csc_ycbcr_to_rgb); ++i) {
 			regmap_update_bits(adv7511->regmap,
 					   ADV7511_REG_CSC_UPPER(i),
 					   0x1f, coeff[i] >> 8);
@@ -193,13 +200,6 @@  static int adv7511_packet_disable(struct adv7511 *adv7511, unsigned int packet)
 	return 0;
 }
 
-/* Coefficients for adv7511 color space conversion */
-static const uint16_t adv7511_csc_ycbcr_to_rgb[] = {
-	0x0734, 0x04ad, 0x0000, 0x1c1b,
-	0x1ddc, 0x04ad, 0x1f24, 0x0135,
-	0x0000, 0x04ad, 0x087c, 0x1b77,
-};
-
 static void adv7511_set_config_csc(struct adv7511 *adv7511,
 				   struct drm_connector *connector,
 				   bool rgb, bool hdmi_mode)