Related: If I redefine _IOW I get this splat: In file included from ../include/asm-generic/ioctl.h:5:0, from ./arch/x86/include/generated/uapi/asm/ioctl.h:1, from ../include/uapi/linux/ioctl.h:5, from ../include/uapi/linux/apm_bios.h:133, from ../include/linux/apm_bios.h:9, from ../arch/x86/include/uapi/asm/bootparam.h:44, from ../arch/x86/include/asm/mem_encrypt.h:18, from ../include/linux/mem_encrypt.h:17, from ../arch/x86/include/asm/page_types.h:7, from ../arch/x86/include/asm/page.h:9, from ../arch/x86/include/asm/thread_info.h:12, from ../include/linux/thread_info.h:60, from ../arch/x86/include/asm/preempt.h:7, from ../include/linux/preempt.h:78, from ../include/linux/smp.h:110, from ../include/linux/lockdep.h:14, from ../include/linux/mutex.h:17, from ../include/linux/kernfs.h:12, from ../include/linux/sysfs.h:16, from ../include/linux/kobject.h:20, from ../include/linux/cdev.h:5, I can't help feeling that include chain is sub-optimal. David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)