I read the instruction for choosing the ioctl commands (from the O’Reilly linux device driver):
The ioctl command numbers should be unique across the system in order to prevent
errors caused by issuing the right command to the wrong device.
One of the arguments of the IOCTL function (from user space) is the file descriptor. So if I call to a specific device, why the ioctl command number should be unique across the system?