Message ID | 20220728-rpi-analog-tv-properties-v1-33-3d53ae722097@cerno.tech (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm: Analog TV Improvements | expand |
Hi Maxime,
I love your patch! Yet something to improve:
[auto build test ERROR on 37b355fdaf31ee18bda9a93c2a438dc1cbf57ec9]
url: https://github.com/intel-lab-lkp/linux/commits/Maxime-Ripard/drm-Analog-TV-Improvements/20220730-004859
base: 37b355fdaf31ee18bda9a93c2a438dc1cbf57ec9
config: hexagon-randconfig-r041-20220729 (https://download.01.org/0day-ci/archive/20220730/202207300305.EGSDOjh4-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 8dfaecc4c24494337933aff9d9166486ca0949f1)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/intel-lab-lkp/linux/commit/83327cd72054a9c8d02b6f632453a8bdc90d3797
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Maxime-Ripard/drm-Analog-TV-Improvements/20220730-004859
git checkout 83327cd72054a9c8d02b6f632453a8bdc90d3797
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash drivers/gpu/drm/i2c/
If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
>> drivers/gpu/drm/i2c/ch7006_drv.c:253:51: error: too many arguments to function call, expected 2, have 3
drm_mode_create_tv_properties(dev, NUM_TV_NORMS, ch7006_tv_norm_names);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~
include/drm/drm_connector.h:1807:5: note: 'drm_mode_create_tv_properties' declared here
int drm_mode_create_tv_properties(struct drm_device *dev,
^
1 error generated.
vim +253 drivers/gpu/drm/i2c/ch7006_drv.c
6ee738610f41b5 Ben Skeggs 2009-12-11 245
6ee738610f41b5 Ben Skeggs 2009-12-11 246 static int ch7006_encoder_create_resources(struct drm_encoder *encoder,
6ee738610f41b5 Ben Skeggs 2009-12-11 247 struct drm_connector *connector)
6ee738610f41b5 Ben Skeggs 2009-12-11 248 {
6ee738610f41b5 Ben Skeggs 2009-12-11 249 struct ch7006_priv *priv = to_ch7006_priv(encoder);
6ee738610f41b5 Ben Skeggs 2009-12-11 250 struct drm_device *dev = encoder->dev;
6ee738610f41b5 Ben Skeggs 2009-12-11 251 struct drm_mode_config *conf = &dev->mode_config;
6ee738610f41b5 Ben Skeggs 2009-12-11 252
6ee738610f41b5 Ben Skeggs 2009-12-11 @253 drm_mode_create_tv_properties(dev, NUM_TV_NORMS, ch7006_tv_norm_names);
6ee738610f41b5 Ben Skeggs 2009-12-11 254
d9bc3c02e36d84 Sascha Hauer 2012-02-06 255 priv->scale_property = drm_property_create_range(dev, 0, "scale", 0, 2);
44084efc2fd804 Insu Yun 2016-01-28 256 if (!priv->scale_property)
44084efc2fd804 Insu Yun 2016-01-28 257 return -ENOMEM;
6ee738610f41b5 Ben Skeggs 2009-12-11 258
ec61c71d0dba24 Rob Clark 2012-10-11 259 drm_object_attach_property(&connector->base, conf->tv_select_subconnector_property,
6ee738610f41b5 Ben Skeggs 2009-12-11 260 priv->select_subconnector);
ec61c71d0dba24 Rob Clark 2012-10-11 261 drm_object_attach_property(&connector->base, conf->tv_subconnector_property,
6ee738610f41b5 Ben Skeggs 2009-12-11 262 priv->subconnector);
ec61c71d0dba24 Rob Clark 2012-10-11 263 drm_object_attach_property(&connector->base, conf->tv_left_margin_property,
6ee738610f41b5 Ben Skeggs 2009-12-11 264 priv->hmargin);
ec61c71d0dba24 Rob Clark 2012-10-11 265 drm_object_attach_property(&connector->base, conf->tv_bottom_margin_property,
6ee738610f41b5 Ben Skeggs 2009-12-11 266 priv->vmargin);
ec61c71d0dba24 Rob Clark 2012-10-11 267 drm_object_attach_property(&connector->base, conf->tv_mode_property,
6ee738610f41b5 Ben Skeggs 2009-12-11 268 priv->norm);
ec61c71d0dba24 Rob Clark 2012-10-11 269 drm_object_attach_property(&connector->base, conf->tv_brightness_property,
6ee738610f41b5 Ben Skeggs 2009-12-11 270 priv->brightness);
ec61c71d0dba24 Rob Clark 2012-10-11 271 drm_object_attach_property(&connector->base, conf->tv_contrast_property,
6ee738610f41b5 Ben Skeggs 2009-12-11 272 priv->contrast);
ec61c71d0dba24 Rob Clark 2012-10-11 273 drm_object_attach_property(&connector->base, conf->tv_flicker_reduction_property,
6ee738610f41b5 Ben Skeggs 2009-12-11 274 priv->flicker);
ec61c71d0dba24 Rob Clark 2012-10-11 275 drm_object_attach_property(&connector->base, priv->scale_property,
6ee738610f41b5 Ben Skeggs 2009-12-11 276 priv->scale);
6ee738610f41b5 Ben Skeggs 2009-12-11 277
6ee738610f41b5 Ben Skeggs 2009-12-11 278 return 0;
6ee738610f41b5 Ben Skeggs 2009-12-11 279 }
6ee738610f41b5 Ben Skeggs 2009-12-11 280
Hi Maxime,
I love your patch! Yet something to improve:
[auto build test ERROR on 37b355fdaf31ee18bda9a93c2a438dc1cbf57ec9]
url: https://github.com/intel-lab-lkp/linux/commits/Maxime-Ripard/drm-Analog-TV-Improvements/20220730-004859
base: 37b355fdaf31ee18bda9a93c2a438dc1cbf57ec9
config: riscv-randconfig-r042-20220729 (https://download.01.org/0day-ci/archive/20220730/202207300454.3rIc8wpM-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 8dfaecc4c24494337933aff9d9166486ca0949f1)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install riscv cross compiling tool for clang build
# apt-get install binutils-riscv-linux-gnu
# https://github.com/intel-lab-lkp/linux/commit/83327cd72054a9c8d02b6f632453a8bdc90d3797
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Maxime-Ripard/drm-Analog-TV-Improvements/20220730-004859
git checkout 83327cd72054a9c8d02b6f632453a8bdc90d3797
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=riscv SHELL=/bin/bash drivers/gpu/drm/
If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
>> drivers/gpu/drm/nouveau/dispnv04/tvnv17.c:656:51: error: too many arguments to function call, expected 2, have 3
drm_mode_create_tv_properties(dev, num_tv_norms, nv17_tv_norm_names);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~
include/drm/drm_connector.h:1807:5: note: 'drm_mode_create_tv_properties' declared here
int drm_mode_create_tv_properties(struct drm_device *dev,
^
1 error generated.
vim +656 drivers/gpu/drm/nouveau/dispnv04/tvnv17.c
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 633
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 634 static int nv17_tv_create_resources(struct drm_encoder *encoder,
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 635 struct drm_connector *connector)
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 636 {
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 637 struct drm_device *dev = encoder->dev;
77145f1cbdf8d2 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2012-07-31 638 struct nouveau_drm *drm = nouveau_drm(dev);
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 639 struct drm_mode_config *conf = &dev->mode_config;
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 640 struct nv17_tv_encoder *tv_enc = to_tv_enc(encoder);
cb75d97e9c7774 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2012-07-11 641 struct dcb_output *dcb = nouveau_encoder(encoder)->dcb;
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 642 int num_tv_norms = dcb->tvconf.has_component_output ? NUM_TV_NORMS :
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 643 NUM_LD_TV_NORMS;
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 644 int i;
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 645
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 646 if (nouveau_tv_norm) {
2574c809d7c0f0 drivers/gpu/drm/nouveau/dispnv04/tvnv17.c YueHaibing 2019-12-30 647 i = match_string(nv17_tv_norm_names, num_tv_norms,
2574c809d7c0f0 drivers/gpu/drm/nouveau/dispnv04/tvnv17.c YueHaibing 2019-12-30 648 nouveau_tv_norm);
2574c809d7c0f0 drivers/gpu/drm/nouveau/dispnv04/tvnv17.c YueHaibing 2019-12-30 649 if (i < 0)
77145f1cbdf8d2 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2012-07-31 650 NV_WARN(drm, "Invalid TV norm setting \"%s\"\n",
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 651 nouveau_tv_norm);
2574c809d7c0f0 drivers/gpu/drm/nouveau/dispnv04/tvnv17.c YueHaibing 2019-12-30 652 else
2574c809d7c0f0 drivers/gpu/drm/nouveau/dispnv04/tvnv17.c YueHaibing 2019-12-30 653 tv_enc->tv_norm = i;
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 654 }
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 655
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 @656 drm_mode_create_tv_properties(dev, num_tv_norms, nv17_tv_norm_names);
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 657
2db83827dc7679 drivers/gpu/drm/nouveau/nv17_tv.c Rob Clark 2012-10-11 658 drm_object_attach_property(&connector->base,
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 659 conf->tv_select_subconnector_property,
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 660 tv_enc->select_subconnector);
2db83827dc7679 drivers/gpu/drm/nouveau/nv17_tv.c Rob Clark 2012-10-11 661 drm_object_attach_property(&connector->base,
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 662 conf->tv_subconnector_property,
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 663 tv_enc->subconnector);
2db83827dc7679 drivers/gpu/drm/nouveau/nv17_tv.c Rob Clark 2012-10-11 664 drm_object_attach_property(&connector->base,
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 665 conf->tv_mode_property,
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 666 tv_enc->tv_norm);
2db83827dc7679 drivers/gpu/drm/nouveau/nv17_tv.c Rob Clark 2012-10-11 667 drm_object_attach_property(&connector->base,
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 668 conf->tv_flicker_reduction_property,
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 669 tv_enc->flicker);
2db83827dc7679 drivers/gpu/drm/nouveau/nv17_tv.c Rob Clark 2012-10-11 670 drm_object_attach_property(&connector->base,
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 671 conf->tv_saturation_property,
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 672 tv_enc->saturation);
2db83827dc7679 drivers/gpu/drm/nouveau/nv17_tv.c Rob Clark 2012-10-11 673 drm_object_attach_property(&connector->base,
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 674 conf->tv_hue_property,
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 675 tv_enc->hue);
2db83827dc7679 drivers/gpu/drm/nouveau/nv17_tv.c Rob Clark 2012-10-11 676 drm_object_attach_property(&connector->base,
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 677 conf->tv_overscan_property,
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 678 tv_enc->overscan);
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 679
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 680 return 0;
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 681 }
6ee738610f41b5 drivers/gpu/drm/nouveau/nv17_tv.c Ben Skeggs 2009-12-11 682
diff --git a/drivers/gpu/drm/drm_atomic_uapi.c b/drivers/gpu/drm/drm_atomic_uapi.c index d7ff6c644c2f..d52e87e8e6aa 100644 --- a/drivers/gpu/drm/drm_atomic_uapi.c +++ b/drivers/gpu/drm/drm_atomic_uapi.c @@ -698,8 +698,6 @@ static int drm_atomic_connector_set_property(struct drm_connector *connector, state->tv.margins.top = val; } else if (property == config->tv_bottom_margin_property) { state->tv.margins.bottom = val; - } else if (property == config->tv_mode_property) { - state->tv.mode = val; } else if (property == config->tv_norm_property) { state->tv.norm = val; } else if (property == config->tv_brightness_property) { @@ -810,8 +808,6 @@ drm_atomic_connector_get_property(struct drm_connector *connector, *val = state->tv.margins.top; } else if (property == config->tv_bottom_margin_property) { *val = state->tv.margins.bottom; - } else if (property == config->tv_mode_property) { - *val = state->tv.mode; } else if (property == config->tv_norm_property) { *val = state->tv.norm; } else if (property == config->tv_brightness_property) { diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c index d73a68764b6e..5e138159f2de 100644 --- a/drivers/gpu/drm/drm_connector.c +++ b/drivers/gpu/drm/drm_connector.c @@ -1650,9 +1650,7 @@ EXPORT_SYMBOL(drm_mode_create_tv_margin_properties); * 0 on success or a negative error code on failure. */ int drm_mode_create_tv_properties(struct drm_device *dev, - unsigned int supported_tv_norms, - unsigned int num_modes, - const char * const modes[]) + unsigned int supported_tv_norms) { static const struct drm_prop_enum_list tv_norm_values[] = { { __builtin_ffs(DRM_MODE_TV_NORM_NTSC_443) - 1, "NTSC-443" }, @@ -1722,20 +1720,6 @@ int drm_mode_create_tv_properties(struct drm_device *dev, goto nomem; dev->mode_config.tv_norm_property = tv_norm; - if (num_modes) { - unsigned int i; - - dev->mode_config.tv_mode_property = - drm_property_create(dev, DRM_MODE_PROP_ENUM, - "mode", num_modes); - if (!dev->mode_config.tv_mode_property) - goto nomem; - - for (i = 0; i < num_modes; i++) - drm_property_add_enum(dev->mode_config.tv_mode_property, - i, modes[i]); - } - dev->mode_config.tv_brightness_property = drm_property_create_range(dev, 0, "brightness", 0, 100); if (!dev->mode_config.tv_brightness_property) diff --git a/drivers/gpu/drm/sun4i/sun4i_tv.c b/drivers/gpu/drm/sun4i/sun4i_tv.c index bed52423776e..1d4025663530 100644 --- a/drivers/gpu/drm/sun4i/sun4i_tv.c +++ b/drivers/gpu/drm/sun4i/sun4i_tv.c @@ -526,8 +526,7 @@ static int sun4i_tv_bind(struct device *dev, struct device *master, ret = drm_mode_create_tv_properties(drm, DRM_MODE_TV_NORM_NTSC_M | - DRM_MODE_TV_NORM_PAL_B, - 0, NULL); + DRM_MODE_TV_NORM_PAL_B); if (ret) goto err_cleanup_connector; diff --git a/drivers/gpu/drm/vc4/vc4_vec.c b/drivers/gpu/drm/vc4/vc4_vec.c index 91d343238b0f..2e7e964928b3 100644 --- a/drivers/gpu/drm/vc4/vc4_vec.c +++ b/drivers/gpu/drm/vc4/vc4_vec.c @@ -704,8 +704,7 @@ static int vc4_vec_bind(struct device *dev, struct device *master, void *data) DRM_MODE_TV_NORM_PAL_B | DRM_MODE_TV_NORM_PAL_M | DRM_MODE_TV_NORM_PAL_N | - DRM_MODE_TV_NORM_SECAM_B, - 0, NULL); + DRM_MODE_TV_NORM_SECAM_B); if (ret) return ret; diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h index 78275e68ff66..e535dca6376e 100644 --- a/include/drm/drm_connector.h +++ b/include/drm/drm_connector.h @@ -712,7 +712,6 @@ struct drm_tv_connector_state { enum drm_mode_subconnector select_subconnector; enum drm_mode_subconnector subconnector; struct drm_connector_tv_margins margins; - unsigned int mode; unsigned int norm; unsigned int brightness; unsigned int contrast; @@ -1806,9 +1805,7 @@ void drm_connector_attach_dp_subconnector_property(struct drm_connector *connect int drm_mode_create_tv_margin_properties(struct drm_device *dev); int drm_mode_create_tv_properties(struct drm_device *dev, - unsigned int supported_tv_norms, - unsigned int num_modes, - const char * const modes[]); + unsigned int supported_tv_norms); void drm_connector_attach_tv_margin_properties(struct drm_connector *conn); int drm_mode_create_scaling_mode_property(struct drm_device *dev); int drm_connector_attach_content_type_property(struct drm_connector *dev);
Now that all the other drivers have been converted to the new style TV mode property, let's get rid of the old one. Signed-off-by: Maxime Ripard <maxime@cerno.tech>