> > +enum fsl_hv_ioctl_cmd { > > + FSL_HV_IOCTL_PARTITION_RESTART = _IOWR(0, 1, struct fsl_hv_ioctl_restart), ... > > +}; > > Using a #define here is usually preferred because then you > can use #ifdef in a user application to check if a given > value has been assigned. It is also possible to add: #define FSL_HV_IOCTL_PARTITION_RESTART FSL_HV_IOCTL_PARTITION_RESTART to have much the same effect. But there are many cases where #defines are better. I only tend to use enums when the constanst are beting generated by the expansion of a #define. > More importantly, the code you have chose (0) conflicts with > existing drivers (frame buffer, scsi and wavefront among others). > Please chose a free one and > add it to Documentation/ioctl/ioctl-number.txt in the same patch. It is rather a PITA that, when 'int' went from 16 to 32 bits, the BSD people used the high 16 bits for size/flags rather than using the extra bits to help make ioctl's unique. Linux seems to have copied BSD here - rather than SYSV. One problem with clashing ioctl commands is when systems like NetBSD are running linux binaries and need to translate ioctl buffers to/from native format. If the ioctl commands are unique this can be done much more easily. David -- To unsubscribe from this list: send the line "unsubscribe linux-console" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html