"no particular value" is highly subjective, and I think unprovable,
without an exhaustive survey of userland programs interacting with
kernel drivers. Userland programs often interact with a -class- of
drivers, expecting predictable behavior from a DoThisThing ioctl, with
EINVAL or "other weird error code" returned intentionally.
Changing the return codes seems quite unwise.
We've changed lots of them to -ENOTTY over the past few years, nobody has
even noticed (you included ;))
SuS says an unknown ioctl code returns -ENOTTY.