devctl confusion

I’m modifying the UCB1300 touch driver (or any devi device/protocol combo
driver) to utilise the four extra a/d’s on the chip. To achieve this, I am
going to use devctl commands to return the current a/d value (and possibly
more exotic actions). So here’s my question:

The driver sets-up /dev/devi/touch0 and has DEVCTL_SPECIFIC_DCMD defined;

I execute:

fd = open ( /dev/devi/touch0 )
ret = devctl(fd, DEVCTL_SPECIFIC_DCMD, etc…)

but ret = ENOTTY - Inappropriate I/O control operation… what’s up?

Thanks in advance,
Mike Kadour