Hi Rajeev,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on drm-intel/for-linux-next]
[also build test ERROR on drm-tip/drm-tip drm-exynos/exynos-drm-next 
tegra-drm/drm/tegra/for-next linus/master v5.13-rc3 next-20210528]
[cannot apply to drm/drm-next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    
https://github.com/0day-ci/linux/commits/Rajeev-Nandan/drm-Support-basic-DPCD-backlight-in-panel-simple-and-add-a-new-panel-ATNA33XC20/20210530-235810
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
config: x86_64-randconfig-a006-20210530 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 
bc6799f2f79f0ae87e9f1ebf9d25ba799fbd25a9)
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 x86_64 cross compiling tool for clang build
        # apt-get install binutils-x86-64-linux-gnu
        # 
https://github.com/0day-ci/linux/commit/fedf88beabe2c179d593bbb61ff5df62ac909fa1
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review 
Rajeev-Nandan/drm-Support-basic-DPCD-backlight-in-panel-simple-and-add-a-new-panel-ATNA33XC20/20210530-235810
        git checkout fedf88beabe2c179d593bbb61ff5df62ac909fa1
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <l...@intel.com>

All errors (new ones prefixed by >>):

>> drivers/gpu/drm/panel/panel-simple.c:796:39: error: no member named 'aux' in 
>> 'struct panel_simple'
           if (!panel->base.backlight && panel->aux) {
                                         ~~~~~  ^
   include/linux/compiler.h:56:47: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                                                 ^~~~
   include/linux/compiler.h:58:52: note: expanded from macro '__trace_if_var'
   #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : 
__trace_if_value(cond))
                                                      ^~~~
>> drivers/gpu/drm/panel/panel-simple.c:796:39: error: no member named 'aux' in 
>> 'struct panel_simple'
           if (!panel->base.backlight && panel->aux) {
                                         ~~~~~  ^
   include/linux/compiler.h:56:47: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                                                 ^~~~
   include/linux/compiler.h:58:61: note: expanded from macro '__trace_if_var'
   #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : 
__trace_if_value(cond))
                                                               ^~~~
>> drivers/gpu/drm/panel/panel-simple.c:796:39: error: no member named 'aux' in 
>> 'struct panel_simple'
           if (!panel->base.backlight && panel->aux) {
                                         ~~~~~  ^
   include/linux/compiler.h:56:47: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                                                 ^~~~
   include/linux/compiler.h:58:86: note: expanded from macro '__trace_if_var'
   #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : 
__trace_if_value(cond))
                                                                                
        ^~~~
   include/linux/compiler.h:69:3: note: expanded from macro '__trace_if_value'
           (cond) ?                                        \
            ^~~~
   drivers/gpu/drm/panel/panel-simple.c:797:57: error: no member named 'aux' in 
'struct panel_simple'
                   err = drm_panel_dp_aux_backlight(&panel->base, panel->aux);
                                                                  ~~~~~  ^
   4 errors generated.


vim +796 drivers/gpu/drm/panel/panel-simple.c

   659  
   660  static int panel_simple_probe(struct device *dev, const struct 
panel_desc *desc)
   661  {
   662          struct panel_simple *panel;
   663          struct display_timing dt;
   664          struct device_node *ddc;
   665          int connector_type;
   666          u32 bus_flags;
   667          int err;
   668  
   669          panel = devm_kzalloc(dev, sizeof(*panel), GFP_KERNEL);
   670          if (!panel)
   671                  return -ENOMEM;
   672  
   673          panel->enabled = false;
   674          panel->prepared_time = 0;
   675          panel->desc = desc;
   676  
   677          panel->no_hpd = of_property_read_bool(dev->of_node, "no-hpd");
   678          if (!panel->no_hpd) {
   679                  err = panel_simple_get_hpd_gpio(dev, panel);
   680                  if (err)
   681                          return err;
   682          }
   683  
   684          panel->supply = devm_regulator_get(dev, "power");
   685          if (IS_ERR(panel->supply))
   686                  return PTR_ERR(panel->supply);
   687  
   688          panel->enable_gpio = devm_gpiod_get_optional(dev, "enable",
   689                                                       GPIOD_OUT_LOW);
   690          if (IS_ERR(panel->enable_gpio)) {
   691                  err = PTR_ERR(panel->enable_gpio);
   692                  if (err != -EPROBE_DEFER)
   693                          dev_err(dev, "failed to request GPIO: %d\n", 
err);
   694                  return err;
   695          }
   696  
   697          err = of_drm_get_panel_orientation(dev->of_node, 
&panel->orientation);
   698          if (err) {
   699                  dev_err(dev, "%pOF: failed to get orientation %d\n", 
dev->of_node, err);
   700                  return err;
   701          }
   702  
   703          ddc = of_parse_phandle(dev->of_node, "ddc-i2c-bus", 0);
   704          if (ddc) {
   705                  panel->ddc = of_find_i2c_adapter_by_node(ddc);
   706                  of_node_put(ddc);
   707  
   708                  if (!panel->ddc)
   709                          return -EPROBE_DEFER;
   710          }
   711  
   712          if (desc == &panel_dpi) {
   713                  /* Handle the generic panel-dpi binding */
   714                  err = panel_dpi_probe(dev, panel);
   715                  if (err)
   716                          goto free_ddc;
   717          } else {
   718                  if (!of_get_display_timing(dev->of_node, 
"panel-timing", &dt))
   719                          panel_simple_parse_panel_timing_node(dev, 
panel, &dt);
   720          }
   721  
   722          connector_type = desc->connector_type;
   723          /* Catch common mistakes for panels. */
   724          switch (connector_type) {
   725          case 0:
   726                  dev_warn(dev, "Specify missing connector_type\n");
   727                  connector_type = DRM_MODE_CONNECTOR_DPI;
   728                  break;
   729          case DRM_MODE_CONNECTOR_LVDS:
   730                  WARN_ON(desc->bus_flags &
   731                          ~(DRM_BUS_FLAG_DE_LOW |
   732                            DRM_BUS_FLAG_DE_HIGH |
   733                            DRM_BUS_FLAG_DATA_MSB_TO_LSB |
   734                            DRM_BUS_FLAG_DATA_LSB_TO_MSB));
   735                  WARN_ON(desc->bus_format != 
MEDIA_BUS_FMT_RGB666_1X7X3_SPWG &&
   736                          desc->bus_format != 
MEDIA_BUS_FMT_RGB888_1X7X4_SPWG &&
   737                          desc->bus_format != 
MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA);
   738                  WARN_ON(desc->bus_format == 
MEDIA_BUS_FMT_RGB666_1X7X3_SPWG &&
   739                          desc->bpc != 6);
   740                  WARN_ON((desc->bus_format == 
MEDIA_BUS_FMT_RGB888_1X7X4_SPWG ||
   741                           desc->bus_format == 
MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA) &&
   742                          desc->bpc != 8);
   743                  break;
   744          case DRM_MODE_CONNECTOR_eDP:
   745                  if (desc->bus_format == 0)
   746                          dev_warn(dev, "Specify missing bus_format\n");
   747                  if (desc->bpc != 6 && desc->bpc != 8)
   748                          dev_warn(dev, "Expected bpc in {6,8} but got: 
%u\n", desc->bpc);
   749                  break;
   750          case DRM_MODE_CONNECTOR_DSI:
   751                  if (desc->bpc != 6 && desc->bpc != 8)
   752                          dev_warn(dev, "Expected bpc in {6,8} but got: 
%u\n", desc->bpc);
   753                  break;
   754          case DRM_MODE_CONNECTOR_DPI:
   755                  bus_flags = DRM_BUS_FLAG_DE_LOW |
   756                              DRM_BUS_FLAG_DE_HIGH |
   757                              DRM_BUS_FLAG_PIXDATA_SAMPLE_POSEDGE |
   758                              DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE |
   759                              DRM_BUS_FLAG_DATA_MSB_TO_LSB |
   760                              DRM_BUS_FLAG_DATA_LSB_TO_MSB |
   761                              DRM_BUS_FLAG_SYNC_SAMPLE_POSEDGE |
   762                              DRM_BUS_FLAG_SYNC_SAMPLE_NEGEDGE;
   763                  if (desc->bus_flags & ~bus_flags)
   764                          dev_warn(dev, "Unexpected bus_flags(%d)\n", 
desc->bus_flags & ~bus_flags);
   765                  if (!(desc->bus_flags & bus_flags))
   766                          dev_warn(dev, "Specify missing bus_flags\n");
   767                  if (desc->bus_format == 0)
   768                          dev_warn(dev, "Specify missing bus_format\n");
   769                  if (desc->bpc != 6 && desc->bpc != 8)
   770                          dev_warn(dev, "Expected bpc in {6,8} but got: 
%u\n", desc->bpc);
   771                  break;
   772          default:
   773                  dev_warn(dev, "Specify a valid connector_type: %d\n", 
desc->connector_type);
   774                  connector_type = DRM_MODE_CONNECTOR_DPI;
   775                  break;
   776          }
   777  
   778          dev_set_drvdata(dev, panel);
   779  
   780          /*
   781           * We use runtime PM for prepare / unprepare since those power 
the panel
   782           * on and off and those can be very slow operations. This is 
important
   783           * to optimize powering the panel on briefly to read the EDID 
before
   784           * fully enabling the panel.
   785           */
   786          pm_runtime_enable(dev);
   787          pm_runtime_set_autosuspend_delay(dev, 1000);
   788          pm_runtime_use_autosuspend(dev);
   789  
   790          drm_panel_init(&panel->base, dev, &panel_simple_funcs, 
connector_type);
   791  
   792          err = drm_panel_of_backlight(&panel->base);
   793          if (err)
   794                  goto disable_pm_runtime;
   795  
 > 796          if (!panel->base.backlight && panel->aux) {
   797                  err = drm_panel_dp_aux_backlight(&panel->base, 
panel->aux);
   798                  if (err)
   799                          goto disable_pm_runtime;
   800          }
   801  
   802          drm_panel_add(&panel->base);
   803  
   804          return 0;
   805  
   806  disable_pm_runtime:
   807          pm_runtime_disable(dev);
   808  free_ddc:
   809          if (panel->ddc)
   810                  put_device(&panel->ddc->dev);
   811  
   812          return err;
   813  }
   814  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org

Attachment: .config.gz
Description: application/gzip

_______________________________________________
Freedreno mailing list
Freedreno@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/freedreno

Reply via email to