[tobetter:odroid-5.15.y 43/75] include/drm/drm_mipi_dbi.h:186:41: error: invalid use of undefined type 'struct spi_device'

From: kernel test robot
Date: Wed Nov 03 2021 - 18:52:37 EST


tree: https://github.com/tobetter/linux odroid-5.15.y
head: 49f1393b8740941fa5176620b302f25ab5f786dc
commit: f159783fdfea289ae7f9b6b62b71bb24e89631c9 [43/75] ODROID-COMMON: gpu/drm: Add new Tiny DRM driver with Ili9488
config: microblaze-randconfig-r035-20211103 (attached as .config)
compiler: microblaze-linux-gcc (GCC) 11.2.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
# https://github.com/tobetter/linux/commit/f159783fdfea289ae7f9b6b62b71bb24e89631c9
git remote add tobetter https://github.com/tobetter/linux
git fetch --no-tags tobetter odroid-5.15.y
git checkout f159783fdfea289ae7f9b6b62b71bb24e89631c9
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=microblaze SHELL=/bin/bash drivers/gpu/drm/tiny/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

Note: the tobetter/odroid-5.15.y HEAD 49f1393b8740941fa5176620b302f25ab5f786dc builds fine.
It only hurts bisectability.

All errors (new ones prefixed by >>):

In file included from drivers/gpu/drm/tiny/ili9488_pio.c:30:
drivers/gpu/drm/tiny/ili9488_pio.c: In function 'ili9488_pipe_enable':
>> include/drm/drm_mipi_dbi.h:186:41: error: invalid use of undefined type 'struct spi_device'
186 | struct device *dev = &(dbi)->spi->dev; \
| ^~
drivers/gpu/drm/tiny/ili9488_pio.c:132:9: note: in expansion of macro 'mipi_dbi_command'
132 | mipi_dbi_command(dbi, ILI9488_ITFCTR1, 0x00);
| ^~~~~~~~~~~~~~~~
>> include/drm/drm_mipi_dbi.h:186:41: error: invalid use of undefined type 'struct spi_device'
186 | struct device *dev = &(dbi)->spi->dev; \
| ^~
drivers/gpu/drm/tiny/ili9488_pio.c:133:9: note: in expansion of macro 'mipi_dbi_command'
133 | mipi_dbi_command(dbi, MIPI_DCS_EXIT_SLEEP_MODE);
| ^~~~~~~~~~~~~~~~
>> include/drm/drm_mipi_dbi.h:186:41: error: invalid use of undefined type 'struct spi_device'
186 | struct device *dev = &(dbi)->spi->dev; \
| ^~
drivers/gpu/drm/tiny/ili9488_pio.c:136:9: note: in expansion of macro 'mipi_dbi_command'
136 | mipi_dbi_command(dbi, MIPI_DCS_SET_PIXEL_FORMAT, 0x55);
| ^~~~~~~~~~~~~~~~
>> include/drm/drm_mipi_dbi.h:186:41: error: invalid use of undefined type 'struct spi_device'
186 | struct device *dev = &(dbi)->spi->dev; \
| ^~
drivers/gpu/drm/tiny/ili9488_pio.c:137:9: note: in expansion of macro 'mipi_dbi_command'
137 | mipi_dbi_command(dbi, ILI9488_PWCTRL1, 0x33);
| ^~~~~~~~~~~~~~~~
>> include/drm/drm_mipi_dbi.h:186:41: error: invalid use of undefined type 'struct spi_device'
186 | struct device *dev = &(dbi)->spi->dev; \
| ^~
drivers/gpu/drm/tiny/ili9488_pio.c:138:9: note: in expansion of macro 'mipi_dbi_command'
138 | mipi_dbi_command(dbi, ILI9488_VMCTRL1, 0x00, 0x1e, 0x80, 0x00);
| ^~~~~~~~~~~~~~~~
>> include/drm/drm_mipi_dbi.h:186:41: error: invalid use of undefined type 'struct spi_device'
186 | struct device *dev = &(dbi)->spi->dev; \
| ^~
drivers/gpu/drm/tiny/ili9488_pio.c:139:9: note: in expansion of macro 'mipi_dbi_command'
139 | mipi_dbi_command(dbi, ILI9488_FRMCTR1, 0xb0, 0x11);
| ^~~~~~~~~~~~~~~~
>> include/drm/drm_mipi_dbi.h:186:41: error: invalid use of undefined type 'struct spi_device'
186 | struct device *dev = &(dbi)->spi->dev; \
| ^~
drivers/gpu/drm/tiny/ili9488_pio.c:140:9: note: in expansion of macro 'mipi_dbi_command'
140 | mipi_dbi_command(dbi, ILI9488_PGAMCTRL,
| ^~~~~~~~~~~~~~~~
>> include/drm/drm_mipi_dbi.h:186:41: error: invalid use of undefined type 'struct spi_device'
186 | struct device *dev = &(dbi)->spi->dev; \
| ^~
drivers/gpu/drm/tiny/ili9488_pio.c:143:9: note: in expansion of macro 'mipi_dbi_command'
143 | mipi_dbi_command(dbi, ILI9488_NGAMCTRL,
| ^~~~~~~~~~~~~~~~
>> include/drm/drm_mipi_dbi.h:186:41: error: invalid use of undefined type 'struct spi_device'
186 | struct device *dev = &(dbi)->spi->dev; \
| ^~
drivers/gpu/drm/tiny/ili9488_pio.c:146:9: note: in expansion of macro 'mipi_dbi_command'
146 | mipi_dbi_command(dbi, MIPI_DCS_SET_DISPLAY_ON);
| ^~~~~~~~~~~~~~~~
>> include/drm/drm_mipi_dbi.h:186:41: error: invalid use of undefined type 'struct spi_device'
186 | struct device *dev = &(dbi)->spi->dev; \
| ^~
drivers/gpu/drm/tiny/ili9488_pio.c:167:9: note: in expansion of macro 'mipi_dbi_command'
167 | mipi_dbi_command(dbi, MIPI_DCS_SET_ADDRESS_MODE, addr_mode);
| ^~~~~~~~~~~~~~~~


vim +186 include/drm/drm_mipi_dbi.h

d23d4d4dac0119c include/drm/tinydrm/mipi-dbi.h Noralf Trønnes 2019-07-19 160
13deee8111ed600 include/drm/tinydrm/mipi-dbi.h David Lechner 2017-11-19 161 u32 mipi_dbi_spi_cmd_max_speed(struct spi_device *spi, size_t len);
d23d4d4dac0119c include/drm/tinydrm/mipi-dbi.h Noralf Trønnes 2019-07-19 162 int mipi_dbi_spi_transfer(struct spi_device *spi, u32 speed_hz,
d23d4d4dac0119c include/drm/tinydrm/mipi-dbi.h Noralf Trønnes 2019-07-19 163 u8 bpw, const void *buf, size_t len);
02dd95fe3169362 include/drm/tinydrm/mipi-dbi.h Noralf Trønnes 2017-01-22 164
36b5057216236ae include/drm/tinydrm/mipi-dbi.h Noralf Trønnes 2019-07-22 165 int mipi_dbi_command_read(struct mipi_dbi *dbi, u8 cmd, u8 *val);
36b5057216236ae include/drm/tinydrm/mipi-dbi.h Noralf Trønnes 2019-07-22 166 int mipi_dbi_command_buf(struct mipi_dbi *dbi, u8 cmd, u8 *data, size_t len);
f019190b7d2708b include/drm/drm_mipi_dbi.h Geert Uytterhoeven 2020-03-16 167 int mipi_dbi_command_stackbuf(struct mipi_dbi *dbi, u8 cmd, const u8 *data,
f019190b7d2708b include/drm/drm_mipi_dbi.h Geert Uytterhoeven 2020-03-16 168 size_t len);
13deee8111ed600 include/drm/tinydrm/mipi-dbi.h David Lechner 2017-11-19 169 int mipi_dbi_buf_copy(void *dst, struct drm_framebuffer *fb,
b051b3459bbae90 include/drm/tinydrm/mipi-dbi.h Noralf Trønnes 2019-01-15 170 struct drm_rect *clip, bool swap);
02dd95fe3169362 include/drm/tinydrm/mipi-dbi.h Noralf Trønnes 2017-01-22 171 /**
02dd95fe3169362 include/drm/tinydrm/mipi-dbi.h Noralf Trønnes 2017-01-22 172 * mipi_dbi_command - MIPI DCS command with optional parameter(s)
36b5057216236ae include/drm/tinydrm/mipi-dbi.h Noralf Trønnes 2019-07-22 173 * @dbi: MIPI DBI structure
02dd95fe3169362 include/drm/tinydrm/mipi-dbi.h Noralf Trønnes 2017-01-22 174 * @cmd: Command
2b405ec0e1c4b4c include/drm/drm_mipi_dbi.h Jonathan Neuschäfer 2021-01-01 175 * @seq: Optional parameter(s)
02dd95fe3169362 include/drm/tinydrm/mipi-dbi.h Noralf Trønnes 2017-01-22 176 *
02dd95fe3169362 include/drm/tinydrm/mipi-dbi.h Noralf Trønnes 2017-01-22 177 * Send MIPI DCS command to the controller. Use mipi_dbi_command_read() for
02dd95fe3169362 include/drm/tinydrm/mipi-dbi.h Noralf Trønnes 2017-01-22 178 * get/read.
02dd95fe3169362 include/drm/tinydrm/mipi-dbi.h Noralf Trønnes 2017-01-22 179 *
02dd95fe3169362 include/drm/tinydrm/mipi-dbi.h Noralf Trønnes 2017-01-22 180 * Returns:
02dd95fe3169362 include/drm/tinydrm/mipi-dbi.h Noralf Trønnes 2017-01-22 181 * Zero on success, negative error code on failure.
02dd95fe3169362 include/drm/tinydrm/mipi-dbi.h Noralf Trønnes 2017-01-22 182 */
36b5057216236ae include/drm/tinydrm/mipi-dbi.h Noralf Trønnes 2019-07-22 183 #define mipi_dbi_command(dbi, cmd, seq...) \
02dd95fe3169362 include/drm/tinydrm/mipi-dbi.h Noralf Trønnes 2017-01-22 184 ({ \
f019190b7d2708b include/drm/drm_mipi_dbi.h Geert Uytterhoeven 2020-03-16 185 const u8 d[] = { seq }; \
3f5aa5ac0b0f970 include/drm/drm_mipi_dbi.h Linus Walleij 2021-07-02 @186 struct device *dev = &(dbi)->spi->dev; \
3f5aa5ac0b0f970 include/drm/drm_mipi_dbi.h Linus Walleij 2021-07-02 187 int ret; \
3f5aa5ac0b0f970 include/drm/drm_mipi_dbi.h Linus Walleij 2021-07-02 188 ret = mipi_dbi_command_stackbuf(dbi, cmd, d, ARRAY_SIZE(d)); \
3f5aa5ac0b0f970 include/drm/drm_mipi_dbi.h Linus Walleij 2021-07-02 189 if (ret) \
3f5aa5ac0b0f970 include/drm/drm_mipi_dbi.h Linus Walleij 2021-07-02 190 dev_err_ratelimited(dev, "error %d when sending command %#02x\n", ret, cmd); \
3f5aa5ac0b0f970 include/drm/drm_mipi_dbi.h Linus Walleij 2021-07-02 191 ret; \
02dd95fe3169362 include/drm/tinydrm/mipi-dbi.h Noralf Trønnes 2017-01-22 192 })
02dd95fe3169362 include/drm/tinydrm/mipi-dbi.h Noralf Trønnes 2017-01-22 193

:::::: The code at line 186 was first introduced by commit
:::::: 3f5aa5ac0b0f9704f0c60f5fbbbcdc8c043d6eb6 drm/dbi: Print errors for mipi_dbi_command()

:::::: TO: Linus Walleij <linus.walleij@xxxxxxxxxx>
:::::: CC: Linus Walleij <linus.walleij@xxxxxxxxxx>

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

Attachment: .config.gz
Description: application/gzip