All of lore.kernel.org
 help / color / mirror / Atom feed
* RFC: Does separate types for differential signals make sense?
@ 2011-08-18 10:18 Jonathan Cameron
  2011-08-18 12:09 ` Michael Hennerich
  0 siblings, 1 reply; 4+ messages in thread
From: Jonathan Cameron @ 2011-08-18 10:18 UTC (permalink / raw)
  To: linux-iio, Hennerich, Michael

Hi All,

Whilst working on some of the capacitance adc drivers yesterday I added a second
differential type.   Whilst we only had IIO_VOlTAGE_DIFF, it seemed easier to
handle it as a special case - now we have IIO_CAPACITANCE_DIFF, I'm not so sure.

The alternative is to add another flag to struct iio_chan_spec and build the
differential names automatically (easy enough I think).  Nastier is how to handle
the related event codes.  As we haven't pushed out the new 64 bit codes, this
is a perfect time to slip in a change there (rather than two changes back to back.)

Current macro to generate codes is:

define IIO_EVENT_CODE(chan_type, modifier, direction,			\
		       type, chan, chan1, chan2)			\
	(((u64)type << 56) | ((u64)direction << 48) | ((u64)modifier << 40) | \
	 ((u64)chan_type << 32) | (chan2 << 16) | chan1 | chan)

So if we were to steal a bit to mark channels as differential, where would we do it?
Obvious choice is in type - reducing max number of types to 128 - can't see that being
a problem any time soon.  Could pinch the top bit off direction instead - that one
has way more values than I can think of uses for...

This is going to be an annoyingly invasive patch to do. I'll probably scrap the
use of the IIO_CHAN macro for all differential channels rather than adding another
parameter to it. Plan was to scrap that macro entirely eventually, so not such a
bad thing.

Jonathan


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2011-08-18 12:29 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-08-18 10:18 RFC: Does separate types for differential signals make sense? Jonathan Cameron
2011-08-18 12:09 ` Michael Hennerich
2011-08-18 12:29   ` [PATCH] IIO: Scrap the _DIFF types in favour of a flag in chan spec Jonathan Cameron
2011-08-18 12:29   ` [PATCH] staging:iio: Differential channel handling - use explicit flag rather than types Jonathan Cameron

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.