MLK-24874-5: include: uapi: ipu: fix the UAPI_HEADER_TEST failure

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 <command-line>: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 <jason.hui.liu@nxp.com>
(cherry picked from commit 24c36527086fff43595bde2822f8277138ebcb55)
This commit is contained in:
Jason Liu 2020-10-09 12:01:46 +08:00
parent 586d6d4a3c
commit 92aae18620
2 changed files with 22 additions and 27 deletions

View File

@ -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;
};

View File

@ -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