Hi Andy,

kernel test robot noticed the following build errors:

[auto build test ERROR on drm-misc/drm-misc-next]
[also build test ERROR on daeinki-drm-exynos/exynos-drm-next drm/drm-next 
drm-i915/for-linux-next drm-i915/for-linux-next-fixes drm-tip/drm-tip 
linus/master v7.1-rc3 next-20260508]
[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#_base_tree_information]

url:    
https://github.com/intel-lab-lkp/linux/commits/Andy-Shevchenko/drm-st7735r-simplify-with-spi_get_device_match_data/20260512-161814
base:   https://gitlab.freedesktop.org/drm/misc/kernel.git drm-misc-next
patch link:    
https://lore.kernel.org/r/20260508080004.1143774-1-andriy.shevchenko%40linux.intel.com
patch subject: [PATCH v1 1/1] drm/st7735r: simplify with 
spi_get_device_match_data()
config: s390-allmodconfig 
(https://download.01.org/0day-ci/archive/20260512/[email protected]/config)
compiler: clang version 18.1.8 (https://github.com/llvm/llvm-project 
3b5b5c1ec4a3095ab096dd780e84d7ab81f3d7ff)
reproduce (this is a W=1 build): 
(https://download.01.org/0day-ci/archive/20260512/[email protected]/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: 
https://lore.kernel.org/oe-kbuild-all/[email protected]/

All errors (new ones prefixed by >>):

>> drivers/gpu/drm/sitronix/st7735r.c:255:34: error: incompatible pointer types 
>> passing 'struct device *' to parameter of type 'const struct spi_device *' 
>> [-Werror,-Wincompatible-pointer-types]
     255 |         cfg = spi_get_device_match_data(&spi->dev);
         |                                         ^~~~~~~~~
   include/linux/spi/spi.h:1757:52: note: passing argument to parameter 'sdev' 
here
    1757 | spi_get_device_match_data(const struct spi_device *sdev);
         |                                                    ^
   1 error generated.


vim +255 drivers/gpu/drm/sitronix/st7735r.c

   234  
   235  static int st7735r_probe(struct spi_device *spi)
   236  {
   237          struct device *dev = &spi->dev;
   238          const struct st7735r_cfg *cfg;
   239          struct mipi_dbi_dev *dbidev;
   240          struct st7735r_device *st7735r;
   241          struct drm_device *drm;
   242          struct mipi_dbi *dbi;
   243          struct gpio_desc *dc;
   244          struct drm_plane *plane;
   245          struct drm_crtc *crtc;
   246          struct drm_encoder *encoder;
   247          struct drm_connector *connector;
   248          u32 rotation = 0;
   249          int ret;
   250  
   251          st7735r = devm_drm_dev_alloc(dev, &st7735r_driver, struct 
st7735r_device, dbidev.drm);
   252          if (IS_ERR(st7735r))
   253                  return PTR_ERR(st7735r);
   254  
 > 255          cfg = spi_get_device_match_data(&spi->dev);
   256          st7735r->cfg = cfg;
   257  
   258          dbidev = &st7735r->dbidev;
   259          dbi = &dbidev->dbi;
   260          drm = &dbidev->drm;
   261  
   262          dbi->reset = devm_gpiod_get(dev, "reset", GPIOD_OUT_HIGH);
   263          if (IS_ERR(dbi->reset))
   264                  return dev_err_probe(dev, PTR_ERR(dbi->reset), "Failed 
to get GPIO 'reset'\n");
   265  
   266          dc = devm_gpiod_get(dev, "dc", GPIOD_OUT_LOW);
   267          if (IS_ERR(dc))
   268                  return dev_err_probe(dev, PTR_ERR(dc), "Failed to get 
GPIO 'dc'\n");
   269  
   270          dbidev->backlight = devm_of_find_backlight(dev);
   271          if (IS_ERR(dbidev->backlight))
   272                  return PTR_ERR(dbidev->backlight);
   273  
   274          device_property_read_u32(dev, "rotation", &rotation);
   275  
   276          ret = mipi_dbi_spi_init(spi, dbi, dc);
   277          if (ret)
   278                  return ret;
   279  
   280          if (cfg->write_only)
   281                  dbi->read_commands = NULL;
   282  
   283          dbidev->left_offset = cfg->left_offset;
   284          dbidev->top_offset = cfg->top_offset;
   285  
   286          ret = drm_mipi_dbi_dev_init(dbidev, &cfg->mode, 
st7735r_plane_formats[0], rotation, 0);
   287          if (ret)
   288                  return ret;
   289  
   290          ret = drmm_mode_config_init(drm);
   291          if (ret)
   292                  return ret;
   293  
   294          drm->mode_config.min_width = dbidev->mode.hdisplay;
   295          drm->mode_config.max_width = dbidev->mode.hdisplay;
   296          drm->mode_config.min_height = dbidev->mode.vdisplay;
   297          drm->mode_config.max_height = dbidev->mode.vdisplay;
   298          drm->mode_config.funcs = &st7735r_mode_config_funcs;
   299          drm->mode_config.preferred_depth = 16;
   300          drm->mode_config.helper_private = 
&st7735r_mode_config_helper_funcs;
   301  
   302          plane = &st7735r->plane;
   303          ret = drm_universal_plane_init(drm, plane, 0, 
&st7735r_plane_funcs,
   304                                         st7735r_plane_formats, 
ARRAY_SIZE(st7735r_plane_formats),
   305                                         st7735r_plane_format_modifiers,
   306                                         DRM_PLANE_TYPE_PRIMARY, NULL);
   307          if (ret)
   308                  return ret;
   309          drm_plane_helper_add(plane, &st7735r_plane_helper_funcs);
   310          drm_plane_enable_fb_damage_clips(plane);
   311  
   312          crtc = &st7735r->crtc;
   313          ret = drm_crtc_init_with_planes(drm, crtc, plane, NULL, 
&st7735r_crtc_funcs, NULL);
   314          if (ret)
   315                  return ret;
   316          drm_crtc_helper_add(crtc, &st7735r_crtc_helper_funcs);
   317  
   318          encoder = &st7735r->encoder;
   319          ret = drm_encoder_init(drm, encoder, &st7735r_encoder_funcs, 
DRM_MODE_ENCODER_NONE, NULL);
   320          if (ret)
   321                  return ret;
   322          encoder->possible_crtcs = drm_crtc_mask(crtc);
   323  
   324          connector = &st7735r->connector;
   325          ret = drm_connector_init(drm, connector, 
&st7735r_connector_funcs,
   326                                   DRM_MODE_CONNECTOR_SPI);
   327          if (ret)
   328                  return ret;
   329          drm_connector_helper_add(connector, 
&st7735r_connector_helper_funcs);
   330  
   331          ret = drm_connector_attach_encoder(connector, encoder);
   332          if (ret)
   333                  return ret;
   334  
   335          drm_mode_config_reset(drm);
   336  
   337          ret = drm_dev_register(drm, 0);
   338          if (ret)
   339                  return ret;
   340  
   341          spi_set_drvdata(spi, drm);
   342  
   343          drm_client_setup(drm, NULL);
   344  
   345          return 0;
   346  }
   347  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

Reply via email to