[PATCH 3/3] drm/tiny: add support for tft displays based on ilitek,ili9488

kernel test robot lkp at intel.com
Sat Jun 13 16:07:28 UTC 2020


Hi Kamlesh,

I love your patch! Yet something to improve:

[auto build test ERROR on robh/for-next]
[also build test ERROR on drm-intel/for-linux-next linus/master v5.7 next-20200613]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/Kamlesh-Gurudasani/Support-for-tft-displays-based-on-ilitek-ili9488/20200613-221019
base:   https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
config: alpha-allyesconfig (attached as .config)
compiler: alpha-linux-gcc (GCC) 9.3.0
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
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=alpha 

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

All errors (new ones prefixed by >>, old ones prefixed by <<):

>> drivers/gpu/drm/tiny/ili9488.c:322:2: error: 'DRM_GEM_CMA_DRIVER_OPS_VMAP' undeclared here (not in a function)
322 |  DRM_GEM_CMA_DRIVER_OPS_VMAP,
|  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/tiny/ili9488.c: In function 'ili9488_probe':
>> drivers/gpu/drm/tiny/ili9488.c:354:11: error: implicit declaration of function 'devm_drm_dev_alloc'; did you mean 'drm_dev_alloc'? [-Werror=implicit-function-declaration]
354 |  dbidev = devm_drm_dev_alloc(dev, &ili9488_driver,
|           ^~~~~~~~~~~~~~~~~~
|           drm_dev_alloc
>> drivers/gpu/drm/tiny/ili9488.c:355:9: error: expected expression before 'struct'
355 |         struct mipi_dbi_dev, drm);
|         ^~~~~~
cc1: some warnings being treated as errors

vim +/DRM_GEM_CMA_DRIVER_OPS_VMAP +322 drivers/gpu/drm/tiny/ili9488.c

   318	
   319	static struct drm_driver ili9488_driver = {
   320		.driver_features	= DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
   321		.fops			= &ili9488_fops,
 > 322		DRM_GEM_CMA_DRIVER_OPS_VMAP,
   323		.debugfs_init		= mipi_dbi_debugfs_init,
   324		.name			= "ili9488",
   325		.desc			= "Ilitek ILI9488",
   326		.date			= "20200607",
   327		.major			= 1,
   328		.minor			= 0,
   329	};
   330	
   331	static const struct of_device_id ili9488_of_match[] = {
   332		{ .compatible = "eastrising,er-tft035-6" },
   333		{ }
   334	};
   335	MODULE_DEVICE_TABLE(of, ili9488_of_match);
   336	
   337	static const struct spi_device_id ili9488_id[] = {
   338		{ "er-tft035-6", 0 },
   339		{ }
   340	};
   341	MODULE_DEVICE_TABLE(spi, ili9488_id);
   342	
   343	static int ili9488_probe(struct spi_device *spi)
   344	{
   345		struct device *dev = &spi->dev;
   346		struct mipi_dbi_dev *dbidev;
   347		struct drm_device *drm;
   348		struct mipi_dbi *dbi;
   349		struct gpio_desc *dc;
   350		u32 rotation = 0;
   351		size_t bufsize;
   352		int ret;
   353	
 > 354		dbidev = devm_drm_dev_alloc(dev, &ili9488_driver,
 > 355					    struct mipi_dbi_dev, drm);
   356		if (IS_ERR(dbidev))
   357			return PTR_ERR(dbidev);
   358	
   359		dbi = &dbidev->dbi;
   360		drm = &dbidev->drm;
   361	
   362		ret = devm_drm_dev_init(dev, drm, &ili9488_driver);
   363		if (ret) {
   364			kfree(dbidev);
   365			return ret;
   366		}
   367	
   368		drm_mode_config_init(drm);
   369	
   370		bufsize = ili9488_mode.vdisplay * ili9488_mode.hdisplay * 3;
   371	
   372		dbi->reset = devm_gpiod_get(dev, "reset", GPIOD_OUT_HIGH);
   373		if (IS_ERR(dbi->reset)) {
   374			DRM_DEV_ERROR(dev, "Failed to get gpio 'reset'\n");
   375			return PTR_ERR(dbi->reset);
   376		}
   377	
   378		dc = devm_gpiod_get(dev, "dc", GPIOD_OUT_LOW);
   379		if (IS_ERR(dc)) {
   380			DRM_DEV_ERROR(dev, "Failed to get gpio 'dc'\n");
   381			return PTR_ERR(dc);
   382		}
   383	
   384		dbidev->backlight = devm_of_find_backlight(dev);
   385		if (IS_ERR(dbidev->backlight))
   386			return PTR_ERR(dbidev->backlight);
   387	
   388		device_property_read_u32(dev, "rotation", &rotation);
   389	
   390		ret = mipi_dbi_spi_init(spi, dbi, dc);
   391		if (ret)
   392			return ret;
   393	
   394		dbidev->drm.mode_config.preferred_depth = 16;
   395	
   396		ret = mipi_dbi_dev_init_with_formats(dbidev, &ili9488_pipe_funcs,
   397						     ili9488_formats,
   398						     ARRAY_SIZE(ili9488_formats),
   399						     &ili9488_mode, rotation, bufsize);
   400		if (ret)
   401			return ret;
   402	
   403		drm_mode_config_reset(drm);
   404	
   405		ret = drm_dev_register(drm, 0);
   406		if (ret)
   407			return ret;
   408	
   409		spi_set_drvdata(spi, drm);
   410	
   411		drm_fbdev_generic_setup(drm, 0);
   412	
   413		return 0;
   414	}
   415	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 61403 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20200614/8133072d/attachment-0001.gz>


More information about the dri-devel mailing list