From 92aae186203e70d87b3ef5082d9cc5e1baa0bebc Mon Sep 17 00:00:00 2001 From: Jason Liu Date: Fri, 9 Oct 2020 12:01:46 +0800 Subject: [PATCH] MLK-24874-5: include: uapi: ipu: fix the UAPI_HEADER_TEST failure MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Enable CONFIG_UAPI_HEADER_TEST turns on the following build issue ./usr/include/linux/ipu.h:167:2: error: unknown type name ‘u32’ u32 x; ^~~ ./usr/include/linux/ipu.h:168:2: error: unknown type name ‘u32’ u32 y; ^~~ ./usr/include/linux/ipu.h:173:2: error: unknown type name ‘u32’ u32 w; ^~~ ./usr/include/linux/ipu.h:174:2: error: unknown type name ‘u32’ u32 h; ^~~ ./usr/include/linux/ipu.h:179:2: error: unknown type name ‘u8’ u8 motion; /*see ipu_motion_sel*/ The fix is to use the __u32/__u8 instead and remove the internal definiton But it finally will result in another failure as the followings: HDRTEST usr/include/linux/ipu.h In file included from ./usr/include/linux/ipu.h:29:0, from :32: ./usr/include/linux/videodev2.h:2353:20: error: field ‘timestamp’ has incomplete type struct timespec timestamp; This is kernel known issue. The fix is as others by adding the ipu.h to skip-list: header-test- += linux/v4l2-mediabus.h header-test- += linux/v4l2-subdev.h header-test- += linux/videodev2.h Signed-off-by: Jason Liu (cherry picked from commit 24c36527086fff43595bde2822f8277138ebcb55) --- include/uapi/linux/ipu.h | 48 ++++++++++++++++++---------------------- usr/include/Makefile | 1 + 2 files changed, 22 insertions(+), 27 deletions(-) diff --git a/include/uapi/linux/ipu.h b/include/uapi/linux/ipu.h index c92f292bcc9d..5709e3952a7a 100644 --- a/include/uapi/linux/ipu.h +++ b/include/uapi/linux/ipu.h @@ -34,12 +34,6 @@ typedef unsigned char bool; #endif #define irqreturn_t int #define dma_addr_t int -#define uint32_t unsigned int -#define uint16_t unsigned short -#define uint8_t unsigned char -#define u32 unsigned int -#define u8 unsigned char -#define __u32 u32 #endif /*! @@ -171,19 +165,19 @@ typedef enum { } cs_t; struct ipu_pos { - u32 x; - u32 y; + __u32 x; + __u32 y; }; struct ipu_crop { struct ipu_pos pos; - u32 w; - u32 h; + __u32 w; + __u32 h; }; struct ipu_deinterlace { bool enable; - u8 motion; /*see ipu_motion_sel*/ + __u8 motion; /*see ipu_motion_sel*/ #define IPU_DEINTERLACE_FIELD_TOP 0 #define IPU_DEINTERLACE_FIELD_BOTTOM 1 #define IPU_DEINTERLACE_FIELD_MASK \ @@ -194,13 +188,13 @@ struct ipu_deinterlace { #define IPU_DEINTERLACE_RATE_MASK \ (IPU_DEINTERLACE_RATE_EN | IPU_DEINTERLACE_RATE_FRAME1) #define IPU_DEINTERLACE_MAX_FRAME 2 - u8 field_fmt; + __u8 field_fmt; }; struct ipu_input { - u32 width; - u32 height; - u32 format; + __u32 width; + __u32 height; + __u32 format; struct ipu_crop crop; dma_addr_t paddr; @@ -211,20 +205,20 @@ struct ipu_input { struct ipu_alpha { #define IPU_ALPHA_MODE_GLOBAL 0 #define IPU_ALPHA_MODE_LOCAL 1 - u8 mode; - u8 gvalue; /* 0~255 */ + __u8 mode; + __u8 gvalue; /* 0~255 */ dma_addr_t loc_alp_paddr; }; struct ipu_colorkey { bool enable; - u32 value; /* RGB 24bit */ + __u32 value; /* RGB 24bit */ }; struct ipu_overlay { - u32 width; - u32 height; - u32 format; + __u32 width; + __u32 height; + __u32 format; struct ipu_crop crop; struct ipu_alpha alpha; struct ipu_colorkey colorkey; @@ -232,10 +226,10 @@ struct ipu_overlay { }; struct ipu_output { - u32 width; - u32 height; - u32 format; - u8 rotate; + __u32 width; + __u32 height; + __u32 format; + __u8 rotate; struct ipu_crop crop; dma_addr_t paddr; }; @@ -249,13 +243,13 @@ struct ipu_task { #define IPU_TASK_PRIORITY_NORMAL 0 #define IPU_TASK_PRIORITY_HIGH 1 - u8 priority; + __u8 priority; #define IPU_TASK_ID_ANY 0 #define IPU_TASK_ID_VF 1 #define IPU_TASK_ID_PP 2 #define IPU_TASK_ID_MAX 3 - u8 task_id; + __u8 task_id; int timeout; }; diff --git a/usr/include/Makefile b/usr/include/Makefile index c56cf2a0cade..79c9a80a9c0c 100644 --- a/usr/include/Makefile +++ b/usr/include/Makefile @@ -36,6 +36,7 @@ header-test- += linux/fmd/integrations/% header-test- += linux/fmd/Peripherals/% header-test- += linux/fsmap.h header-test- += linux/hdlc/ioctl.h +header-test- += linux/ipu.h header-test- += linux/ivtv.h header-test- += linux/kexec.h header-test- += linux/matroxfb.h