The way dep_tristate _ought_ to work is that you can give it a list of options
to depend on. If the list evaluates to all `y' then the depending option can
be a full tristate - y/m/n. If any of its members are `m' then it is forced
to only `m/n', and (perhaps) if any are `n' then it is forced to `n' as well.
This may not be quite what you need in this particular case, though.
I actually implemented this extension specifically to cope with parport,
because things like ppa depend on both it and SCSI.
p.