aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/iio/dac/ad5446.h
diff options
context:
space:
mode:
authorMichael Hennerich <michael.hennerich@analog.com>2011-03-10 13:26:47 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2011-03-14 11:50:28 -0700
commitbbed4dc791036e97cbe844935dece153fdace0dc (patch)
tree15a79b283066f4b324cfee1f36b17a22b810dda3 /drivers/staging/iio/dac/ad5446.h
parentbd51c0b078eb3edeee9e48eb236d5831d7ae34cf (diff)
downloadkernel_samsung_smdk4412-bbed4dc791036e97cbe844935dece153fdace0dc.zip
kernel_samsung_smdk4412-bbed4dc791036e97cbe844935dece153fdace0dc.tar.gz
kernel_samsung_smdk4412-bbed4dc791036e97cbe844935dece153fdace0dc.tar.bz2
staging: IIO: DAC: AD5446: Add power down support
Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Acked-by: Jonathan Cameron <jic23@cam.ac.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/iio/dac/ad5446.h')
-rw-r--r--drivers/staging/iio/dac/ad5446.h19
1 files changed, 14 insertions, 5 deletions
diff --git a/drivers/staging/iio/dac/ad5446.h b/drivers/staging/iio/dac/ad5446.h
index 0cb9c14..e9397a6 100644
--- a/drivers/staging/iio/dac/ad5446.h
+++ b/drivers/staging/iio/dac/ad5446.h
@@ -27,6 +27,10 @@
#define RES_MASK(bits) ((1 << (bits)) - 1)
+#define MODE_PWRDWN_1k 0x1
+#define MODE_PWRDWN_100k 0x2
+#define MODE_PWRDWN_TRISTATE 0x3
+
/**
* struct ad5446_state - driver instance specific data
* @indio_dev: the industrial I/O device
@@ -47,6 +51,9 @@ struct ad5446_state {
struct regulator *reg;
struct work_struct poll_work;
unsigned short vref_mv;
+ unsigned cached_val;
+ unsigned pwr_down_mode;
+ unsigned pwr_down;
struct spi_transfer xfer;
struct spi_message msg;
union {
@@ -62,14 +69,16 @@ struct ad5446_state {
* @left_shift: number of bits the datum must be shifted
* @int_vref_mv: AD5620/40/60: the internal reference voltage
* @store_sample: chip specific helper function to store the datum
+ * @store_sample: chip specific helper function to store the powerpown cmd
*/
struct ad5446_chip_info {
- u8 bits;
- u8 storagebits;
- u8 left_shift;
- u16 int_vref_mv;
- void (*store_sample) (struct ad5446_state *st, unsigned val);
+ u8 bits;
+ u8 storagebits;
+ u8 left_shift;
+ u16 int_vref_mv;
+ void (*store_sample) (struct ad5446_state *st, unsigned val);
+ void (*store_pwr_down) (struct ad5446_state *st, unsigned mode);
};
/**