[1/2] Update errno and ioctl definitions for newer Linux

Message ID 20121023163652.GB31157@einval.com
State New
Headers show

Commit Message

Steve McIntyre Oct. 23, 2012, 4:36 p.m.
Update errno and ioctl definitions for newer Linux

Signed-off-by: Steve McIntyre <steve.mcintyre@linaro.org>
---
 linux/errnoent.h    |    4 +-
 linux/ioctlent.h.in |  121 +++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 123 insertions(+), 2 deletions(-)

Comments

Dmitry V. Levin Oct. 23, 2012, 11:58 p.m. | #1
On Tue, Oct 23, 2012 at 05:36:58PM +0100, Steve McIntyre wrote:
> Update errno and ioctl definitions for newer Linux
> 
> Signed-off-by: Steve McIntyre <steve.mcintyre@linaro.org>
> ---
>  linux/errnoent.h    |    4 +-
>  linux/ioctlent.h.in |  121 +++++++++++++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 123 insertions(+), 2 deletions(-)
> 
> diff --git a/linux/errnoent.h b/linux/errnoent.h
> index e43bff5..c2ac683 100644
> --- a/linux/errnoent.h
> +++ b/linux/errnoent.h
> @@ -519,8 +519,8 @@
>  	"ERESTARTNOHAND", /* 514 */
>  	"ENOIOCTLCMD", /* 515 */
>  	"ERESTART_RESTARTBLOCK", /* 516 */
> -	"ERRNO_517", /* 517 */
> -	"ERRNO_518", /* 518 */
> +	"EPROBE_DEFER", /* 517 */
> +	"EOPENSTALE", /* 518 */
>  	"ERRNO_519", /* 519 */
>  	"ERRNO_520", /* 520 */
>  	"EBADHANDLE", /* 521 */

This one is obvious.  Please add a ChangeLog-style entry (see
README-hacking file for details) for this errnoent.h patch.

> diff --git a/linux/ioctlent.h.in b/linux/ioctlent.h.in
> index 98ebbcc..1ca126a 100644
> --- a/linux/ioctlent.h.in
> +++ b/linux/ioctlent.h.in
> @@ -2,6 +2,7 @@
>  	{"linux/fs.h",	"FIBMAP",	0x0001},
>  	{"linux/fs.h",	"FIGETBSZ",	0x0002},
>  	{"linux/fd.h",	"FDGETPRM",	0x0204},
> +	{"linux/fd.h",	"FDGETPRM32",	0x0204},

I'm not sure such entries are worth adding.  I know we have these
redundant "*32" entries in linux/ioctlent.h.in already, maybe it's time
to strip them instead of adding new ones.

> @@ -737,21 +757,91 @@
>  	{"sound/asound.h",	"SNDRV_TIMER_IOCTL_PVERSION",	0x5400},
>  	{"linux/soundcard.h",	"SNDCTL_TMR_TIMEBASE",	0x5401},
>  	{"sound/asound.h",	"SNDRV_TIMER_IOCTL_NEXT_DEVICE",	0x5401},
> +	{"asm-generic/ioctls.h",	"TCGETS",	0x5401},

We were adding asm-generic entries to arch-specific ioctlent files before.
I'm not sure whether we'd rather move all these entries to the common
ioctlent file as indirectly proposed by this patch.
Any ideas why we might want to continue the old practice?
Mike Frysinger Oct. 24, 2012, 2:22 a.m. | #2
On Tuesday 23 October 2012 19:58:46 Dmitry V. Levin wrote:
> On Tue, Oct 23, 2012 at 05:36:58PM +0100, Steve McIntyre wrote:
> > --- a/linux/ioctlent.h.in
> > +++ b/linux/ioctlent.h.in
> > @@ -2,6 +2,7 @@
> > 
> >  	{"linux/fs.h",	"FIBMAP",	0x0001},
> >  	{"linux/fs.h",	"FIGETBSZ",	0x0002},
> >  	{"linux/fd.h",	"FDGETPRM",	0x0204},
> > +	{"linux/fd.h",	"FDGETPRM32",	0x0204},
> 
> I'm not sure such entries are worth adding.  I know we have these
> redundant "*32" entries in linux/ioctlent.h.in already, maybe it's time
> to strip them instead of adding new ones.

if the # is the same as the non-32 version, then yeah, we should omit it.  
otherwise the output is generally useless:
	ioctl(1, FDGETPRM or FDGETPRM32, {...}) = 0

the decoder would need to know more info in order to tell which one exactly is 
being used (based on the active ELF).  but we don't have that, so we should 
filter it.

i'm guessing Steve just ran the script in the tree to generate this and didn't 
hand update it.  which means we should update the script to be smarter.

> > +	{"asm-generic/ioctls.h",	"TCGETS",	0x5401},
> 
> We were adding asm-generic entries to arch-specific ioctlent files before.
> I'm not sure whether we'd rather move all these entries to the common
> ioctlent file as indirectly proposed by this patch.
> Any ideas why we might want to continue the old practice?

asm-generic is sucky because it's the generic code, unless there are 
exceptions.  if there are ioctls that are the same for all targets, we should 
def put in the common header.  not sure how easy it is to detect this ... 
maybe we'd have to update ioctlent.sh to run cpp for all the targets by 
manually setting the required -D flags ...
-mike
Steve McIntyre Oct. 24, 2012, 1:51 p.m. | #3
On Wed, Oct 24, 2012 at 03:58:46AM +0400, Dmitry V. Levin wrote:
>On Tue, Oct 23, 2012 at 05:36:58PM +0100, Steve McIntyre wrote:
>
>> diff --git a/linux/ioctlent.h.in b/linux/ioctlent.h.in
>> index 98ebbcc..1ca126a 100644
>> --- a/linux/ioctlent.h.in
>> +++ b/linux/ioctlent.h.in
>> @@ -2,6 +2,7 @@
>>  	{"linux/fs.h",	"FIBMAP",	0x0001},
>>  	{"linux/fs.h",	"FIGETBSZ",	0x0002},
>>  	{"linux/fd.h",	"FDGETPRM",	0x0204},
>> +	{"linux/fd.h",	"FDGETPRM32",	0x0204},
>
>I'm not sure such entries are worth adding.  I know we have these
>redundant "*32" entries in linux/ioctlent.h.in already, maybe it's time
>to strip them instead of adding new ones.

OK, sounds fair enough.

>> @@ -737,21 +757,91 @@
>>  	{"sound/asound.h",	"SNDRV_TIMER_IOCTL_PVERSION",	0x5400},
>>  	{"linux/soundcard.h",	"SNDCTL_TMR_TIMEBASE",	0x5401},
>>  	{"sound/asound.h",	"SNDRV_TIMER_IOCTL_NEXT_DEVICE",	0x5401},
>> +	{"asm-generic/ioctls.h",	"TCGETS",	0x5401},
>
>We were adding asm-generic entries to arch-specific ioctlent files before.
>I'm not sure whether we'd rather move all these entries to the common
>ioctlent file as indirectly proposed by this patch.
>Any ideas why we might want to continue the old practice?

Not my codebase... :-)

Then again, it looks like more and more of the ioctls are moving over
there. Maybe time to follow that?

Cheers,
Steve McIntyre Oct. 24, 2012, 1:56 p.m. | #4
On Tue, Oct 23, 2012 at 10:22:56PM -0400, Mike Frysinger wrote:
>On Tuesday 23 October 2012 19:58:46 Dmitry V. Levin wrote:
>> On Tue, Oct 23, 2012 at 05:36:58PM +0100, Steve McIntyre wrote:
>> > --- a/linux/ioctlent.h.in
>> > +++ b/linux/ioctlent.h.in
>> > @@ -2,6 +2,7 @@
>> > 
>> >  	{"linux/fs.h",	"FIBMAP",	0x0001},
>> >  	{"linux/fs.h",	"FIGETBSZ",	0x0002},
>> >  	{"linux/fd.h",	"FDGETPRM",	0x0204},
>> > +	{"linux/fd.h",	"FDGETPRM32",	0x0204},
>> 
>> I'm not sure such entries are worth adding.  I know we have these
>> redundant "*32" entries in linux/ioctlent.h.in already, maybe it's time
>> to strip them instead of adding new ones.
>
>if the # is the same as the non-32 version, then yeah, we should omit it.  
>otherwise the output is generally useless:
>	ioctl(1, FDGETPRM or FDGETPRM32, {...}) = 0
>
>the decoder would need to know more info in order to tell which one exactly is 
>being used (based on the active ELF).  but we don't have that, so we should 
>filter it.
>
>i'm guessing Steve just ran the script in the tree to generate this and didn't 
>hand update it.  which means we should update the script to be smarter.

Correct, yes.

Cheers,
Dmitry V. Levin Oct. 27, 2012, 3:48 p.m. | #5
On Tue, Oct 23, 2012 at 10:22:56PM -0400, Mike Frysinger wrote:
> On Tuesday 23 October 2012 19:58:46 Dmitry V. Levin wrote:
> > On Tue, Oct 23, 2012 at 05:36:58PM +0100, Steve McIntyre wrote:
> > > --- a/linux/ioctlent.h.in
> > > +++ b/linux/ioctlent.h.in
> > > @@ -2,6 +2,7 @@
> > > 
> > >  	{"linux/fs.h",	"FIBMAP",	0x0001},
> > >  	{"linux/fs.h",	"FIGETBSZ",	0x0002},
> > >  	{"linux/fd.h",	"FDGETPRM",	0x0204},
> > > +	{"linux/fd.h",	"FDGETPRM32",	0x0204},
> > 
> > I'm not sure such entries are worth adding.  I know we have these
> > redundant "*32" entries in linux/ioctlent.h.in already, maybe it's time
> > to strip them instead of adding new ones.
> 
> if the # is the same as the non-32 version, then yeah, we should omit it.  
> otherwise the output is generally useless:
> 	ioctl(1, FDGETPRM or FDGETPRM32, {...}) = 0
> 
> the decoder would need to know more info in order to tell which one exactly is 
> being used (based on the active ELF).  but we don't have that, so we should 
> filter it.
> 
> i'm guessing Steve just ran the script in the tree to generate this and didn't 
> hand update it.  which means we should update the script to be smarter.

I've added a new script and removed redundant "*32" entries from
linux/ioctlent.h.in.

Patch

diff --git a/linux/errnoent.h b/linux/errnoent.h
index e43bff5..c2ac683 100644
--- a/linux/errnoent.h
+++ b/linux/errnoent.h
@@ -519,8 +519,8 @@ 
 	"ERESTARTNOHAND", /* 514 */
 	"ENOIOCTLCMD", /* 515 */
 	"ERESTART_RESTARTBLOCK", /* 516 */
-	"ERRNO_517", /* 517 */
-	"ERRNO_518", /* 518 */
+	"EPROBE_DEFER", /* 517 */
+	"EOPENSTALE", /* 518 */
 	"ERRNO_519", /* 519 */
 	"ERRNO_520", /* 520 */
 	"EBADHANDLE", /* 521 */
diff --git a/linux/ioctlent.h.in b/linux/ioctlent.h.in
index 98ebbcc..1ca126a 100644
--- a/linux/ioctlent.h.in
+++ b/linux/ioctlent.h.in
@@ -2,6 +2,7 @@ 
 	{"linux/fs.h",	"FIBMAP",	0x0001},
 	{"linux/fs.h",	"FIGETBSZ",	0x0002},
 	{"linux/fd.h",	"FDGETPRM",	0x0204},
+	{"linux/fd.h",	"FDGETPRM32",	0x0204},
 	{"linux/fd.h",	"FDGETMAXERRS",	0x020e},
 	{"linux/fd.h",	"FDGETDRVTYP",	0x020f},
 	{"linux/fd.h",	"FDGETDRVPRM",	0x0211},
@@ -114,6 +115,7 @@ 
 	{"linux/fs.h",	"BLKPBSZGET",	0x127b},
 	{"linux/fs.h",	"BLKDISCARDZEROES",	0x127c},
 	{"linux/fs.h",	"BLKSECDISCARD",	0x127d},
+	{"linux/fs.h",	"BLKROTATIONAL",	0x127e},
 	{"rdma/ib_user_mad.h",	"IB_USER_MAD_REGISTER_AGENT",	0x1b01},
 	{"rdma/ib_user_mad.h",	"IB_USER_MAD_UNREGISTER_AGENT",	0x1b02},
 	{"rdma/ib_user_mad.h",	"IB_USER_MAD_ENABLE_PKEY",	0x1b03},
@@ -166,6 +168,7 @@ 
 	{"linux/firewire-cdev.h",	"FW_CDEV_IOC_SEND_PHY_PACKET",	0x2315},
 	{"linux/firewire-cdev.h",	"FW_CDEV_IOC_RECEIVE_PHY_PACKETS",	0x2316},
 	{"linux/firewire-cdev.h",	"FW_CDEV_IOC_SET_ISO_CHANNELS",	0x2317},
+	{"linux/firewire-cdev.h",	"FW_CDEV_IOC_FLUSH_ISO",	0x2318},
 	{"linux/perf_event.h",	"PERF_EVENT_IOC_ENABLE",	0x2400},
 	{"linux/perf_event.h",	"PERF_EVENT_IOC_DISABLE",	0x2401},
 	{"linux/perf_event.h",	"PERF_EVENT_IOC_REFRESH",	0x2402},
@@ -266,6 +269,7 @@ 
 	{"linux/cciss_ioctl.h",	"CCISS_BIG_PASSTHRU",	0x4212},
 	{"linux/cciss_ioctl.h",	"CCISS_BIG_PASSTHRU32",	0x4212},
 	{"linux/soundcard.h",	"SNDCTL_COPR_RESET",	0x4300},
+	{"sound/compress_offload.h",	"SNDRV_COMPRESS_IOCTL_VERSION",	0x4300},
 	{"linux/capi.h",	"CAPI_REGISTER",	0x4301},
 	{"linux/soundcard.h",	"SNDCTL_COPR_LOAD",	0x4301},
 	{"linux/soundcard.h",	"SNDCTL_COPR_RDATA",	0x4302},
@@ -280,14 +284,25 @@ 
 	{"linux/soundcard.h",	"SNDCTL_COPR_SENDMSG",	0x4308},
 	{"linux/capi.h",	"CAPI_GET_PROFILE",	0x4309},
 	{"linux/soundcard.h",	"SNDCTL_COPR_RCVMSG",	0x4309},
+	{"sound/compress_offload.h",	"SNDRV_COMPRESS_GET_CAPS",	0x4310},
+	{"sound/compress_offload.h",	"SNDRV_COMPRESS_GET_CODEC_CAPS",	0x4311},
+	{"sound/compress_offload.h",	"SNDRV_COMPRESS_SET_PARAMS",	0x4312},
+	{"sound/compress_offload.h",	"SNDRV_COMPRESS_GET_PARAMS",	0x4313},
 	{"linux/capi.h",	"CAPI_MANUFACTURER_CMD",	0x4320},
+	{"sound/compress_offload.h",	"SNDRV_COMPRESS_TSTAMP",	0x4320},
 	{"linux/capi.h",	"CAPI_GET_ERRCODE",	0x4321},
+	{"sound/compress_offload.h",	"SNDRV_COMPRESS_AVAIL",	0x4321},
 	{"linux/capi.h",	"CAPI_INSTALLED",	0x4322},
 	{"linux/capi.h",	"CAPI_GET_FLAGS",	0x4323},
 	{"linux/capi.h",	"CAPI_SET_FLAGS",	0x4324},
 	{"linux/capi.h",	"CAPI_CLR_FLAGS",	0x4325},
 	{"linux/capi.h",	"CAPI_NCCI_OPENCOUNT",	0x4326},
 	{"linux/capi.h",	"CAPI_NCCI_GETUNIT",	0x4327},
+	{"sound/compress_offload.h",	"SNDRV_COMPRESS_PAUSE",	0x4330},
+	{"sound/compress_offload.h",	"SNDRV_COMPRESS_RESUME",	0x4331},
+	{"sound/compress_offload.h",	"SNDRV_COMPRESS_START",	0x4332},
+	{"sound/compress_offload.h",	"SNDRV_COMPRESS_STOP",	0x4333},
+	{"sound/compress_offload.h",	"SNDRV_COMPRESS_DRAIN",	0x4334},
 	{"linux/input.h",	"EVIOCGVERSION",	0x4501},
 	{"linux/input.h",	"EVIOCGID",	0x4502},
 	{"linux/input.h",	"EVIOCGREP",	0x4503},
@@ -299,6 +314,7 @@ 
 	{"linux/input.h",	"EVIOCRMFF",	0x4581},
 	{"linux/input.h",	"EVIOCGEFFECTS",	0x4584},
 	{"linux/input.h",	"EVIOCGRAB",	0x4590},
+	{"linux/input.h",	"EVIOCSCLOCKID",	0x45a0},
 	{"linux/fb.h",	"FBIOGET_VSCREENINFO",	0x4600},
 	{"video/da8xx-fb.h",	"FBIOGET_CONTRAST",	0x4601},
 	{"linux/fb.h",	"FBIOPUT_VSCREENINFO",	0x4601},
@@ -558,6 +574,7 @@ 
 	{"mtd/mtd-abi.h",	"MEMISLOCKED",	0x4d17},
 	{"mtd/mtd-abi.h",	"MEMWRITE",	0x4d18},
 	{"linux/soundcard.h",	"SOUND_MIXER_INFO",	0x4d65},
+	{"linux/soundcard.h",	"SOUND_OLD_MIXER_INFO",	0x4d65},
 	{"linux/soundcard.h",	"SOUND_MIXER_ACCESS",	0x4d66},
 	{"linux/soundcard.h",	"SOUND_MIXER_AGC",	0x4d67},
 	{"linux/soundcard.h",	"SOUND_MIXER_3DSE",	0x4d68},
@@ -569,6 +586,9 @@ 
 	{"linux/soundcard.h",	"SOUND_MIXER_GETLEVELS",	0x4d74},
 	{"linux/soundcard.h",	"SOUND_MIXER_SETLEVELS",	0x4d75},
 	{"linux/soundcard.h",	"OSS_GETVERSION",	0x4d76},
+	{"linux/nvme.h",	"NVME_IOCTL_ID",	0x4e40},
+	{"linux/nvme.h",	"NVME_IOCTL_ADMIN_CMD",	0x4e41},
+	{"linux/nvme.h",	"NVME_IOCTL_SUBMIT_IO",	0x4e42},
 	{"mtd/ubi-user.h",	"UBI_IOCVOLUP",	0x4f00},
 	{"mtd/ubi-user.h",	"UBI_IOCEBER",	0x4f01},
 	{"mtd/ubi-user.h",	"UBI_IOCEBCH",	0x4f02},
@@ -737,21 +757,91 @@ 
 	{"sound/asound.h",	"SNDRV_TIMER_IOCTL_PVERSION",	0x5400},
 	{"linux/soundcard.h",	"SNDCTL_TMR_TIMEBASE",	0x5401},
 	{"sound/asound.h",	"SNDRV_TIMER_IOCTL_NEXT_DEVICE",	0x5401},
+	{"asm-generic/ioctls.h",	"TCGETS",	0x5401},
 	{"linux/soundcard.h",	"SNDCTL_TMR_START",	0x5402},
 	{"sound/asound.h",	"SNDRV_TIMER_IOCTL_TREAD",	0x5402},
+	{"asm-generic/ioctls.h",	"TCSETS",	0x5402},
 	{"linux/soundcard.h",	"SNDCTL_TMR_STOP",	0x5403},
 	{"sound/asound.h",	"SNDRV_TIMER_IOCTL_GINFO",	0x5403},
+	{"asm-generic/ioctls.h",	"TCSETSW",	0x5403},
 	{"linux/soundcard.h",	"SNDCTL_TMR_CONTINUE",	0x5404},
 	{"sound/asound.h",	"SNDRV_TIMER_IOCTL_GPARAMS",	0x5404},
+	{"asm-generic/ioctls.h",	"TCSETSF",	0x5404},
 	{"linux/soundcard.h",	"SNDCTL_TMR_TEMPO",	0x5405},
 	{"sound/asound.h",	"SNDRV_TIMER_IOCTL_GSTATUS",	0x5405},
+	{"asm-generic/ioctls.h",	"TCGETA",	0x5405},
 	{"linux/soundcard.h",	"SNDCTL_TMR_SOURCE",	0x5406},
+	{"asm-generic/ioctls.h",	"TCSETA",	0x5406},
 	{"linux/soundcard.h",	"SNDCTL_TMR_METRONOME",	0x5407},
+	{"asm-generic/ioctls.h",	"TCSETAW",	0x5407},
 	{"linux/soundcard.h",	"SNDCTL_TMR_SELECT",	0x5408},
+	{"asm-generic/ioctls.h",	"TCSETAF",	0x5408},
+	{"asm-generic/ioctls.h",	"TCSBRK",	0x5409},
+	{"asm-generic/ioctls.h",	"TCXONC",	0x540a},
+	{"asm-generic/ioctls.h",	"TCFLSH",	0x540b},
+	{"asm-generic/ioctls.h",	"TIOCEXCL",	0x540c},
+	{"asm-generic/ioctls.h",	"TIOCNXCL",	0x540d},
+	{"asm-generic/ioctls.h",	"TIOCSCTTY",	0x540e},
+	{"asm-generic/ioctls.h",	"TIOCGPGRP",	0x540f},
 	{"sound/asound.h",	"SNDRV_TIMER_IOCTL_SELECT",	0x5410},
+	{"asm-generic/ioctls.h",	"TIOCSPGRP",	0x5410},
 	{"sound/asound.h",	"SNDRV_TIMER_IOCTL_INFO",	0x5411},
+	{"asm-generic/ioctls.h",	"TIOCOUTQ",	0x5411},
 	{"sound/asound.h",	"SNDRV_TIMER_IOCTL_PARAMS",	0x5412},
+	{"asm-generic/ioctls.h",	"TIOCSTI",	0x5412},
+	{"asm-generic/ioctls.h",	"TIOCGWINSZ",	0x5413},
 	{"sound/asound.h",	"SNDRV_TIMER_IOCTL_STATUS",	0x5414},
+	{"asm-generic/ioctls.h",	"TIOCSWINSZ",	0x5414},
+	{"asm-generic/ioctls.h",	"TIOCMGET",	0x5415},
+	{"asm-generic/ioctls.h",	"TIOCMBIS",	0x5416},
+	{"asm-generic/ioctls.h",	"TIOCMBIC",	0x5417},
+	{"asm-generic/ioctls.h",	"TIOCMSET",	0x5418},
+	{"asm-generic/ioctls.h",	"TIOCGSOFTCAR",	0x5419},
+	{"asm-generic/ioctls.h",	"TIOCSSOFTCAR",	0x541a},
+	{"asm-generic/ioctls.h",	"FIONREAD",	0x541b},
+	{"asm-generic/ioctls.h",	"TIOCLINUX",	0x541c},
+	{"asm-generic/ioctls.h",	"TIOCCONS",	0x541d},
+	{"asm-generic/ioctls.h",	"TIOCGSERIAL",	0x541e},
+	{"asm-generic/ioctls.h",	"TIOCSSERIAL",	0x541f},
+	{"asm-generic/ioctls.h",	"TIOCPKT",	0x5420},
+	{"asm-generic/ioctls.h",	"FIONBIO",	0x5421},
+	{"asm-generic/ioctls.h",	"TIOCNOTTY",	0x5422},
+	{"asm-generic/ioctls.h",	"TIOCSETD",	0x5423},
+	{"asm-generic/ioctls.h",	"TIOCGETD",	0x5424},
+	{"asm-generic/ioctls.h",	"TCSBRKP",	0x5425},
+	{"asm-generic/ioctls.h",	"TIOCSBRK",	0x5427},
+	{"asm-generic/ioctls.h",	"TIOCCBRK",	0x5428},
+	{"asm-generic/ioctls.h",	"TIOCGSID",	0x5429},
+	{"asm-generic/ioctls.h",	"TCGETS2",	0x542a},
+	{"asm-generic/ioctls.h",	"TCSETS2",	0x542b},
+	{"asm-generic/ioctls.h",	"TCSETSW2",	0x542c},
+	{"asm-generic/ioctls.h",	"TCSETSF2",	0x542d},
+	{"asm-generic/ioctls.h",	"TIOCGRS485",	0x542e},
+	{"asm-generic/ioctls.h",	"TIOCSRS485",	0x542f},
+	{"asm-generic/ioctls.h",	"TIOCGPTN",	0x5430},
+	{"asm-generic/ioctls.h",	"TIOCSPTLCK",	0x5431},
+	{"asm-generic/ioctls.h",	"TCGETX",	0x5432},
+	{"asm-generic/ioctls.h",	"TIOCGDEV",	0x5432},
+	{"asm-generic/ioctls.h",	"TCSETX",	0x5433},
+	{"asm-generic/ioctls.h",	"TCSETXF",	0x5434},
+	{"asm-generic/ioctls.h",	"TCSETXW",	0x5435},
+	{"asm-generic/ioctls.h",	"TIOCSIG",	0x5436},
+	{"asm-generic/ioctls.h",	"TIOCVHANGUP",	0x5437},
+	{"asm-generic/ioctls.h",	"FIONCLEX",	0x5450},
+	{"asm-generic/ioctls.h",	"FIOCLEX",	0x5451},
+	{"asm-generic/ioctls.h",	"FIOASYNC",	0x5452},
+	{"asm-generic/ioctls.h",	"TIOCSERCONFIG",	0x5453},
+	{"asm-generic/ioctls.h",	"TIOCSERGWILD",	0x5454},
+	{"asm-generic/ioctls.h",	"TIOCSERSWILD",	0x5455},
+	{"asm-generic/ioctls.h",	"TIOCGLCKTRMIOS",	0x5456},
+	{"asm-generic/ioctls.h",	"TIOCSLCKTRMIOS",	0x5457},
+	{"asm-generic/ioctls.h",	"TIOCSERGSTRUCT",	0x5458},
+	{"asm-generic/ioctls.h",	"TIOCSERGETLSR",	0x5459},
+	{"asm-generic/ioctls.h",	"TIOCSERGETMULTI",	0x545a},
+	{"asm-generic/ioctls.h",	"TIOCSERSETMULTI",	0x545b},
+	{"asm-generic/ioctls.h",	"TIOCMIWAIT",	0x545c},
+	{"asm-generic/ioctls.h",	"TIOCGICOUNT",	0x545d},
+	{"asm-generic/ioctls.h",	"FIOQSIZE",	0x5460},
 	{"sound/asound.h",	"SNDRV_TIMER_IOCTL_START",	0x54a0},
 	{"sound/asound.h",	"SNDRV_TIMER_IOCTL_STOP",	0x54a1},
 	{"sound/asound.h",	"SNDRV_TIMER_IOCTL_CONTINUE",	0x54a2},
@@ -852,7 +942,9 @@ 
 	{"linux/vt.h",	"VT_SETMODE",	0x5602},
 	{"linux/vt.h",	"VT_GETSTATE",	0x5603},
 	{"linux/videodev2.h",	"VIDIOC_G_FMT",	0x5604},
+	{"linux/v4l2-subdev.h",	"VIDIOC_SUBDEV_G_FMT",	0x5604},
 	{"linux/vt.h",	"VT_SENDSIG",	0x5604},
+	{"linux/v4l2-subdev.h",	"VIDIOC_SUBDEV_S_FMT",	0x5605},
 	{"linux/videodev2.h",	"VIDIOC_S_FMT",	0x5605},
 	{"linux/vt.h",	"VT_RELDISP",	0x5605},
 	{"linux/vt.h",	"VT_ACTIVATE",	0x5606},
@@ -901,6 +993,8 @@ 
 	{"linux/videodev2.h",	"VIDIOC_S_FREQUENCY",	0x5639},
 	{"linux/videodev2.h",	"VIDIOC_CROPCAP",	0x563a},
 	{"linux/videodev2.h",	"VIDIOC_G_CROP",	0x563b},
+	{"linux/v4l2-subdev.h",	"VIDIOC_SUBDEV_G_CROP",	0x563b},
+	{"linux/v4l2-subdev.h",	"VIDIOC_SUBDEV_S_CROP",	0x563c},
 	{"linux/videodev2.h",	"VIDIOC_S_CROP",	0x563c},
 	{"linux/videodev2.h",	"VIDIOC_G_JPEGCOMP",	0x563d},
 	{"linux/videodev2.h",	"VIDIOC_S_JPEGCOMP",	0x563e},
@@ -935,9 +1029,17 @@ 
 	{"linux/videodev2.h",	"VIDIOC_UNSUBSCRIBE_EVENT",	0x565b},
 	{"linux/videodev2.h",	"VIDIOC_CREATE_BUFS",	0x565c},
 	{"linux/videodev2.h",	"VIDIOC_PREPARE_BUF",	0x565d},
+	{"linux/videodev2.h",	"VIDIOC_G_SELECTION",	0x565e},
+	{"linux/videodev2.h",	"VIDIOC_S_SELECTION",	0x565f},
+	{"linux/videodev2.h",	"VIDIOC_DECODER_CMD",	0x5660},
+	{"linux/videodev2.h",	"VIDIOC_TRY_DECODER_CMD",	0x5661},
+	{"linux/videodev2.h",	"VIDIOC_ENUM_DV_TIMINGS",	0x5662},
+	{"linux/videodev2.h",	"VIDIOC_QUERY_DV_TIMINGS",	0x5663},
+	{"linux/videodev2.h",	"VIDIOC_DV_TIMINGS_CAP",	0x5664},
 	{"linux/ivtvfb.h",	"IVTVFB_IOC_DMA_FRAME",	0x56c0},
 	{"linux/ivtv.h",	"IVTV_IOC_DMA_FRAME",	0x56c0},
 	{"media/si4713.h",	"SI4713_IOC_MEASURE_RNL",	0x56c0},
+	{"linux/ivtv.h",	"IVTV_IOC_PASSTHROUGH_MODE",	0x56c1},
 	{"media/davinci/vpfe_capture.h",	"VPFE_CMD_S_CCDC_RAW_PARAMS",	0x56c1},
 	{"sound/asound.h",	"SNDRV_RAWMIDI_IOCTL_PVERSION",	0x5700},
 	{"linux/watchdog.h",	"WDIOC_GETSUPPORT",	0x5700},
@@ -1387,6 +1489,8 @@ 
 	{"linux/rtc.h",	"RTC_WKALM_RD",	0x7010},
 	{"linux/rtc.h",	"RTC_PLL_GET",	0x7011},
 	{"linux/rtc.h",	"RTC_PLL_SET",	0x7012},
+	{"linux/rtc.h",	"RTC_VL_READ",	0x7013},
+	{"linux/rtc.h",	"RTC_VL_CLR",	0x7014},
 	{"linux/nvram.h",	"NVRAM_INIT",	0x7040},
 	{"linux/nvram.h",	"NVRAM_SETCKS",	0x7041},
 	{"linux/ppdev.h",	"PPSETMODE",	0x7080},
@@ -1619,6 +1723,13 @@ 
 	{"linux/media.h",	"MEDIA_IOC_ENUM_ENTITIES",	0x7c01},
 	{"linux/media.h",	"MEDIA_IOC_ENUM_LINKS",	0x7c02},
 	{"linux/media.h",	"MEDIA_IOC_SETUP_LINK",	0x7c03},
+	{"asm-generic/sockios.h",	"FIOSETOWN",	0x8901},
+	{"asm-generic/sockios.h",	"SIOCSPGRP",	0x8902},
+	{"asm-generic/sockios.h",	"FIOGETOWN",	0x8903},
+	{"asm-generic/sockios.h",	"SIOCGPGRP",	0x8904},
+	{"asm-generic/sockios.h",	"SIOCATMARK",	0x8905},
+	{"asm-generic/sockios.h",	"SIOCGSTAMP",	0x8906},
+	{"asm-generic/sockios.h",	"SIOCGSTAMPNS",	0x8907},
 	{"linux/sockios.h",	"SIOCADDRT",	0x890b},
 	{"linux/sockios.h",	"SIOCDELRT",	0x890c},
 	{"linux/sockios.h",	"SIOCRTMSG",	0x890d},
@@ -1787,6 +1898,9 @@ 
 	{"linux/kvm.h",	"KVM_SET_USER_MEMORY_REGION",	0xae46},
 	{"linux/kvm.h",	"KVM_SET_TSS_ADDR",	0xae47},
 	{"linux/kvm.h",	"KVM_SET_IDENTITY_MAP_ADDR",	0xae48},
+	{"linux/kvm.h",	"KVM_S390_UCAS_MAP",	0xae50},
+	{"linux/kvm.h",	"KVM_S390_UCAS_UNMAP",	0xae51},
+	{"linux/kvm.h",	"KVM_S390_VCPU_FAULT",	0xae52},
 	{"linux/kvm.h",	"KVM_CREATE_IRQCHIP",	0xae60},
 	{"linux/kvm.h",	"KVM_IRQ_LINE",	0xae61},
 	{"linux/kvm.h",	"KVM_GET_IRQCHIP",	0xae62},
@@ -1852,12 +1966,19 @@ 
 	{"linux/kvm.h",	"KVM_SET_TSC_KHZ",	0xaea2},
 	{"linux/kvm.h",	"KVM_ENABLE_CAP",	0xaea3},
 	{"linux/kvm.h",	"KVM_GET_TSC_KHZ",	0xaea3},
+	{"linux/kvm.h",	"KVM_ASSIGN_SET_INTX_MASK",	0xaea4},
 	{"linux/kvm.h",	"KVM_GET_XSAVE",	0xaea4},
 	{"linux/kvm.h",	"KVM_SET_XSAVE",	0xaea5},
+	{"linux/kvm.h",	"KVM_SIGNAL_MSI",	0xaea5},
 	{"linux/kvm.h",	"KVM_GET_XCRS",	0xaea6},
+	{"linux/kvm.h",	"KVM_PPC_GET_SMMU_INFO",	0xaea6},
 	{"linux/kvm.h",	"KVM_SET_XCRS",	0xaea7},
 	{"linux/kvm.h",	"KVM_CREATE_SPAPR_TCE",	0xaea8},
 	{"linux/kvm.h",	"KVM_ALLOCATE_RMA",	0xaea9},
+	{"linux/kvm.h",	"KVM_DIRTY_TLB",	0xaeaa},
+	{"linux/kvm.h",	"KVM_GET_ONE_REG",	0xaeab},
+	{"linux/kvm.h",	"KVM_SET_ONE_REG",	0xaeac},
+	{"linux/kvm.h",	"KVM_KVMCLOCK_CTRL",	0xaead},
 	{"linux/vhost.h",	"VHOST_GET_FEATURES",	0xaf00},
 	{"linux/vhost.h",	"VHOST_SET_FEATURES",	0xaf00},
 	{"linux/vhost.h",	"VHOST_SET_OWNER",	0xaf01},