Hi,
frontends can currently return some information, such as BER,
STRENGTH, SNR. Every one of this values is assigned an ioctl
command.
I'm experimenting with getting more detailed info from one of
the frontends, by reading specific registers. Assuming I find
something interesting to return to applications, what is the right
way of implementing the reading of the new parameters?
Should I allocate new ioctl numbers?
Even in the (likely) case that the extension only apply to a few
frontends (possibly one)?
Both ways have been gone before for debug purposes: new proprietary
ioctls and a special device node as debug hook. Since such code usually
won't make it into the public tree it's up to your personal preferences
which way to go.Other frontends wouldn't break in any case, as they reject unknown
ioctl commands by default.
(BTW, current drivers disagree on the type of error: I've seen
-ENOIOCTLCMD, -EOPNOTSUPP, -EINVAL).
ENOIOCTLCMD and EOPNOTSUPP have a special meaning in the stacked
frontend before/after ioctl code.