Hi Al, After merging the vfs tree, today's linux-next build (sparc64 defconfig) failed like this: In file included from arch/sparc/include/asm/fbio.h:5:0, from fs/compat_ioctl.c:76: arch/sparc/include/uapi/asm/fbio.h:100:25: error: field 'pos' has incomplete type struct fbcurpos pos; /* cursor position */ ^~~ arch/sparc/include/uapi/asm/fbio.h:101:25: error: field 'hot' has incomplete type struct fbcurpos hot; /* cursor hot spot */ ^~~ arch/sparc/include/uapi/asm/fbio.h:103:25: error: field 'size' has incomplete type struct fbcurpos size; /* cursor bit map size */ ^~~~ In file included from fs/compat_ioctl.c:76:0: arch/sparc/include/asm/fbio.h:63:18: error: field 'pos' has incomplete type struct fbcurpos pos; /* cursor position */ ^~~ arch/sparc/include/asm/fbio.h:64:18: error: field 'hot' has incomplete type struct fbcurpos hot; /* cursor hot spot */ ^~~ arch/sparc/include/asm/fbio.h:66:18: error: field 'size' has incomplete type struct fbcurpos size; /* cursor bit map size */ ^~~~ arch/sparc/include/uapi/asm/fbio.h:113:39: error: invalid application of 'sizeof' to incomplete type 'struct fbcurpos' #define FBIOSCURPOS _IOW('F', 26, struct fbcurpos) ^ fs/compat_ioctl.c:640:21: note: in definition of macro 'XFORM' #define XFORM(i) (((i) ^ ((i) << 27) ^ ((i) << 17)) & 0xffffffff) ^ fs/compat_ioctl.c:650:27: note: in expansion of macro 'COMPATIBLE_IOCTL' #define IGNORE_IOCTL(cmd) COMPATIBLE_IOCTL(cmd) ^~~~~~~~~~~~~~~~ fs/compat_ioctl.c:1188:1: note: in expansion of macro 'IGNORE_IOCTL' IGNORE_IOCTL(FBIOSCURPOS) ^~~~~~~~~~~~ arch/sparc/include/uapi/asm/ioctl.h:47:29: note: in expansion of macro '_IOC' #define _IOW(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),sizeof(size)) ^~~~ arch/sparc/include/uapi/asm/fbio.h:113:25: note: in expansion of macro '_IOW' #define FBIOSCURPOS _IOW('F', 26, struct fbcurpos) ^~~~ fs/compat_ioctl.c:1188:14: note: in expansion of macro 'FBIOSCURPOS' IGNORE_IOCTL(FBIOSCURPOS) ^~~~~~~~~~~ arch/sparc/include/uapi/asm/fbio.h:113:39: error: invalid application of 'sizeof' to incomplete type 'struct fbcurpos' #define FBIOSCURPOS _IOW('F', 26, struct fbcurpos) ^ fs/compat_ioctl.c:640:28: note: in definition of macro 'XFORM' #define XFORM(i) (((i) ^ ((i) << 27) ^ ((i) << 17)) & 0xffffffff) ^ fs/compat_ioctl.c:650:27: note: in expansion of macro 'COMPATIBLE_IOCTL' #define IGNORE_IOCTL(cmd) COMPATIBLE_IOCTL(cmd) ^~~~~~~~~~~~~~~~ fs/compat_ioctl.c:1188:1: note: in expansion of macro 'IGNORE_IOCTL' IGNORE_IOCTL(FBIOSCURPOS) ^~~~~~~~~~~~ arch/sparc/include/uapi/asm/ioctl.h:47:29: note: in expansion of macro '_IOC' #define _IOW(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),sizeof(size)) ^~~~ arch/sparc/include/uapi/asm/fbio.h:113:25: note: in expansion of macro '_IOW' #define FBIOSCURPOS _IOW('F', 26, struct fbcurpos) ^~~~ fs/compat_ioctl.c:1188:14: note: in expansion of macro 'FBIOSCURPOS' IGNORE_IOCTL(FBIOSCURPOS) ^~~~~~~~~~~ arch/sparc/include/uapi/asm/fbio.h:113:39: error: invalid application of 'sizeof' to incomplete type 'struct fbcurpos' #define FBIOSCURPOS _IOW('F', 26, struct fbcurpos) ^ fs/compat_ioctl.c:640:42: note: in definition of macro 'XFORM' #define XFORM(i) (((i) ^ ((i) << 27) ^ ((i) << 17)) & 0xffffffff) ^ fs/compat_ioctl.c:650:27: note: in expansion of macro 'COMPATIBLE_IOCTL' #define IGNORE_IOCTL(cmd) COMPATIBLE_IOCTL(cmd) ^~~~~~~~~~~~~~~~ fs/compat_ioctl.c:1188:1: note: in expansion of macro 'IGNORE_IOCTL' IGNORE_IOCTL(FBIOSCURPOS) ^~~~~~~~~~~~ arch/sparc/include/uapi/asm/ioctl.h:47:29: note: in expansion of macro '_IOC' #define _IOW(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),sizeof(size)) ^~~~ arch/sparc/include/uapi/asm/fbio.h:113:25: note: in expansion of macro '_IOW' #define FBIOSCURPOS _IOW('F', 26, struct fbcurpos) ^~~~ fs/compat_ioctl.c:1188:14: note: in expansion of macro 'FBIOSCURPOS' IGNORE_IOCTL(FBIOSCURPOS) ^~~~~~~~~~~ arch/sparc/include/uapi/asm/fbio.h:114:39: error: invalid application of 'sizeof' to incomplete type 'struct fbcurpos' #define FBIOGCURPOS _IOW('F', 27, struct fbcurpos) ^ fs/compat_ioctl.c:640:21: note: in definition of macro 'XFORM' #define XFORM(i) (((i) ^ ((i) << 27) ^ ((i) << 17)) & 0xffffffff) ^ fs/compat_ioctl.c:650:27: note: in expansion of macro 'COMPATIBLE_IOCTL' #define IGNORE_IOCTL(cmd) COMPATIBLE_IOCTL(cmd) ^~~~~~~~~~~~~~~~ fs/compat_ioctl.c:1189:1: note: in expansion of macro 'IGNORE_IOCTL' IGNORE_IOCTL(FBIOGCURPOS) ^~~~~~~~~~~~ arch/sparc/include/uapi/asm/ioctl.h:47:29: note: in expansion of macro '_IOC' #define _IOW(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),sizeof(size)) ^~~~ arch/sparc/include/uapi/asm/fbio.h:114:25: note: in expansion of macro '_IOW' #define FBIOGCURPOS _IOW('F', 27, struct fbcurpos) ^~~~ fs/compat_ioctl.c:1189:14: note: in expansion of macro 'FBIOGCURPOS' IGNORE_IOCTL(FBIOGCURPOS) ^~~~~~~~~~~ arch/sparc/include/uapi/asm/fbio.h:114:39: error: invalid application of 'sizeof' to incomplete type 'struct fbcurpos' #define FBIOGCURPOS _IOW('F', 27, struct fbcurpos) ^ fs/compat_ioctl.c:640:28: note: in definition of macro 'XFORM' #define XFORM(i) (((i) ^ ((i) << 27) ^ ((i) << 17)) & 0xffffffff) ^ fs/compat_ioctl.c:650:27: note: in expansion of macro 'COMPATIBLE_IOCTL' #define IGNORE_IOCTL(cmd) COMPATIBLE_IOCTL(cmd) ^~~~~~~~~~~~~~~~ fs/compat_ioctl.c:1189:1: note: in expansion of macro 'IGNORE_IOCTL' IGNORE_IOCTL(FBIOGCURPOS) ^~~~~~~~~~~~ arch/sparc/include/uapi/asm/ioctl.h:47:29: note: in expansion of macro '_IOC' #define _IOW(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),sizeof(size)) ^~~~ arch/sparc/include/uapi/asm/fbio.h:114:25: note: in expansion of macro '_IOW' #define FBIOGCURPOS _IOW('F', 27, struct fbcurpos) ^~~~ fs/compat_ioctl.c:1189:14: note: in expansion of macro 'FBIOGCURPOS' IGNORE_IOCTL(FBIOGCURPOS) ^~~~~~~~~~~ arch/sparc/include/uapi/asm/fbio.h:114:39: error: invalid application of 'sizeof' to incomplete type 'struct fbcurpos' #define FBIOGCURPOS _IOW('F', 27, struct fbcurpos) ^ fs/compat_ioctl.c:640:42: note: in definition of macro 'XFORM' #define XFORM(i) (((i) ^ ((i) << 27) ^ ((i) << 17)) & 0xffffffff) ^ fs/compat_ioctl.c:650:27: note: in expansion of macro 'COMPATIBLE_IOCTL' #define IGNORE_IOCTL(cmd) COMPATIBLE_IOCTL(cmd) ^~~~~~~~~~~~~~~~ fs/compat_ioctl.c:1189:1: note: in expansion of macro 'IGNORE_IOCTL' IGNORE_IOCTL(FBIOGCURPOS) ^~~~~~~~~~~~ arch/sparc/include/uapi/asm/ioctl.h:47:29: note: in expansion of macro '_IOC' #define _IOW(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),sizeof(size)) ^~~~ arch/sparc/include/uapi/asm/fbio.h:114:25: note: in expansion of macro '_IOW' #define FBIOGCURPOS _IOW('F', 27, struct fbcurpos) ^~~~ fs/compat_ioctl.c:1189:14: note: in expansion of macro 'FBIOGCURPOS' IGNORE_IOCTL(FBIOGCURPOS) ^~~~~~~~~~~ arch/sparc/include/uapi/asm/fbio.h:117:39: error: invalid application of 'sizeof' to incomplete type 'struct fbcurpos' #define FBIOGCURMAX _IOR('F', 28, struct fbcurpos) ^ fs/compat_ioctl.c:640:21: note: in definition of macro 'XFORM' #define XFORM(i) (((i) ^ ((i) << 27) ^ ((i) << 17)) & 0xffffffff) ^ fs/compat_ioctl.c:650:27: note: in expansion of macro 'COMPATIBLE_IOCTL' #define IGNORE_IOCTL(cmd) COMPATIBLE_IOCTL(cmd) ^~~~~~~~~~~~~~~~ fs/compat_ioctl.c:1190:1: note: in expansion of macro 'IGNORE_IOCTL' IGNORE_IOCTL(FBIOGCURMAX) ^~~~~~~~~~~~ arch/sparc/include/uapi/asm/ioctl.h:46:29: note: in expansion of macro '_IOC' #define _IOR(type,nr,size) _IOC(_IOC_READ,(type),(nr),sizeof(size)) ^~~~ arch/sparc/include/uapi/asm/fbio.h:117:25: note: in expansion of macro '_IOR' #define FBIOGCURMAX _IOR('F', 28, struct fbcurpos) ^~~~ fs/compat_ioctl.c:1190:14: note: in expansion of macro 'FBIOGCURMAX' IGNORE_IOCTL(FBIOGCURMAX) ^~~~~~~~~~~ arch/sparc/include/uapi/asm/fbio.h:117:39: error: invalid application of 'sizeof' to incomplete type 'struct fbcurpos' #define FBIOGCURMAX _IOR('F', 28, struct fbcurpos) ^ fs/compat_ioctl.c:640:28: note: in definition of macro 'XFORM' #define XFORM(i) (((i) ^ ((i) << 27) ^ ((i) << 17)) & 0xffffffff) ^ fs/compat_ioctl.c:650:27: note: in expansion of macro 'COMPATIBLE_IOCTL' #define IGNORE_IOCTL(cmd) COMPATIBLE_IOCTL(cmd) ^~~~~~~~~~~~~~~~ fs/compat_ioctl.c:1190:1: note: in expansion of macro 'IGNORE_IOCTL' IGNORE_IOCTL(FBIOGCURMAX) ^~~~~~~~~~~~ arch/sparc/include/uapi/asm/ioctl.h:46:29: note: in expansion of macro '_IOC' #define _IOR(type,nr,size) _IOC(_IOC_READ,(type),(nr),sizeof(size)) ^~~~ arch/sparc/include/uapi/asm/fbio.h:117:25: note: in expansion of macro '_IOR' #define FBIOGCURMAX _IOR('F', 28, struct fbcurpos) ^~~~ fs/compat_ioctl.c:1190:14: note: in expansion of macro 'FBIOGCURMAX' IGNORE_IOCTL(FBIOGCURMAX) ^~~~~~~~~~~ arch/sparc/include/uapi/asm/fbio.h:117:39: error: invalid application of 'sizeof' to incomplete type 'struct fbcurpos' #define FBIOGCURMAX _IOR('F', 28, struct fbcurpos) ^ fs/compat_ioctl.c:640:42: note: in definition of macro 'XFORM' #define XFORM(i) (((i) ^ ((i) << 27) ^ ((i) << 17)) & 0xffffffff) ^ fs/compat_ioctl.c:650:27: note: in expansion of macro 'COMPATIBLE_IOCTL' #define IGNORE_IOCTL(cmd) COMPATIBLE_IOCTL(cmd) ^~~~~~~~~~~~~~~~ fs/compat_ioctl.c:1190:1: note: in expansion of macro 'IGNORE_IOCTL' IGNORE_IOCTL(FBIOGCURMAX) ^~~~~~~~~~~~ arch/sparc/include/uapi/asm/ioctl.h:46:29: note: in expansion of macro '_IOC' #define _IOR(type,nr,size) _IOC(_IOC_READ,(type),(nr),sizeof(size)) ^~~~ arch/sparc/include/uapi/asm/fbio.h:117:25: note: in expansion of macro '_IOR' #define FBIOGCURMAX _IOR('F', 28, struct fbcurpos) ^~~~ fs/compat_ioctl.c:1190:14: note: in expansion of macro 'FBIOGCURMAX' IGNORE_IOCTL(FBIOGCURMAX) ^~~~~~~~~~~ Caused by commit be248ed54d65 ("compat_ioctl: trim the pointless includes") I have reverted that commit for today. -- Cheers, Stephen Rothwell
Attachment:
pgpbIZe5Cy2kn.pgp
Description: OpenPGP digital signature