LVGL V9 Porting warning

Description

What MCU/Processor/Board and compiler are you using?

STM32F429BIT6

What do you want to achieve?

Porting to V9.1

What have you tried so far?

I could run some code using V9 but with some warning

Code to reproduce

As the example code suggest, I have written these two functions

lv_display_flush_cb_t screenFulsh(lv_display_t * display, const lv_area_t * area, lv_color_t * color_p)
{
	uint32_t destination = 0xC0000000 + (area->x1 + area->y1 * DISP_HOR_RES_MAX) * 2;
	MODIFY_REG(hdma2d.Instance->OOR, DMA2D_OOR_LO, DISP_HOR_RES_MAX - lv_area_get_width(area));
	HAL_DMA2D_BlendingStart_IT(&hdma2d, (uint32_t)color_p, destination, destination,  lv_area_get_width(area), lv_area_get_height(area));
	lv_disp_flush_ready(display);
}
void displayInitialize(void)
{
	lv_init();
	/*Initialize `disp_buf` with the buffer(s) */
	disp = lv_display_create(DISP_HOR_RES_MAX, DISP_VER_RES_MAX);
	lv_display_set_flush_cb(disp, screenFulsh);
	lv_display_set_buffers(disp, buf_1, buf_2, DISP_HOR_RES_MAX*DISP_VER_RES_MAX/5,LV_DISPLAY_RENDER_MODE_PARTIAL);
}

But then I get these warnings

arm-none-eabi-gcc "../Core/Src/main.c" -mcpu=cortex-m4 -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32F429xx -c -I../Core/Inc -I../FATFS/Target -I../FATFS/App -I../LWIP/App -I../LWIP/Target -I../USB_DEVICE/App -I../USB_DEVICE/Target -I../Middlewares/Third_Party/LwIP/src/include -I../Middlewares/Third_Party/LwIP/system -I../Drivers/STM32F4xx_HAL_Driver/Inc -I../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I../Middlewares/Third_Party/FreeRTOS/Source/include -I../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -I../Middlewares/Third_Party/FatFs/src -I../Drivers/BSP/Components/dp83848 -I../Middlewares/Third_Party/LwIP/src/include/netif/ppp -I../Middlewares/ST/STM32_USB_Device_Library/Core/Inc -I../Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc -I../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I../Middlewares/Third_Party/LwIP/src/include/lwip -I../Middlewares/Third_Party/LwIP/src/include/lwip/apps -I../Middlewares/Third_Party/LwIP/src/include/lwip/priv -I../Middlewares/Third_Party/LwIP/src/include/lwip/prot -I../Middlewares/Third_Party/LwIP/src/include/netif -I../Middlewares/Third_Party/LwIP/src/include/compat/posix -I../Middlewares/Third_Party/LwIP/src/include/compat/posix/arpa -I../Middlewares/Third_Party/LwIP/src/include/compat/posix/net -I../Middlewares/Third_Party/LwIP/src/include/compat/posix/sys -I../Middlewares/Third_Party/LwIP/src/include/compat/stdc -I../Middlewares/Third_Party/LwIP/system/arch -I../Drivers/CMSIS/Include -I../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I../lvgl -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Core/Src/main.d" -MT"Core/Src/main.o" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "Core/Src/main.o"
../Core/Src/main.c: In function 'displayInitialize':
../Core/Src/main.c:226:39: warning: passing argument 2 of 'lv_display_set_flush_cb' from incompatible pointer type [-Wincompatible-pointer-types]
  226 |         lv_display_set_flush_cb(disp, screenFulsh);
      |                                       ^~~~~~~~~~~
      |                                       |
      |                                       void (* (*)(lv_display_t *, const lv_area_t *, lv_color_t *))(lv_display_t *, const lv_area_t *, uint8_t *) {aka void (* (*)(struct _lv_display_t *, const lv_area_t *, lv_color_t *))(struct _lv_display_t *, const lv_area_t *, unsigned char *)}
In file included from ../lvgl/src/core/lv_obj_tree.h:20,
                 from ../lvgl/src/core/lv_obj.h:26,
                 from ../lvgl/lvgl.h:41,
                 from ../Core/Src/main.c:40:
../lvgl/src/core/../display/lv_display.h:262:73: note: expected 'lv_display_flush_cb_t' {aka 'void (*)(struct _lv_display_t *, const lv_area_t *, unsigned char *)'} but argument is of type 'void (* (*)(lv_display_t *, const lv_area_t *, lv_color_t *))(lv_display_t *, const lv_area_t *, uint8_t *)' {aka 'void (* (*)(struct _lv_display_t *, const lv_area_t *, lv_color_t *))(struct _lv_display_t *, const lv_area_t *, unsigned char *)'}
  262 | void lv_display_set_flush_cb(lv_display_t * disp, lv_display_flush_cb_t flush_cb);
      |                                                   ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
../Core/Src/main.c: In function 'screenFulsh':
../Core/Src/main.c:220:1: warning: control reaches end of non-void function [-Wreturn-type]
  220 | }

I use STM32CUBEIDE. what is the source of warning?

Found the problem
this part should be changed to

void screenFulsh(lv_display_t * display, const lv_area_t * area, uint8_t * color_p)