diff options
author | Michael Hennerich <michael.hennerich@analog.com> | 2011-03-10 13:26:47 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-03-14 11:50:28 -0700 |
commit | bbed4dc791036e97cbe844935dece153fdace0dc (patch) | |
tree | 15a79b283066f4b324cfee1f36b17a22b810dda3 /drivers/staging/iio/dac/ad5446.h | |
parent | bd51c0b078eb3edeee9e48eb236d5831d7ae34cf (diff) | |
download | kernel_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.h | 19 |
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); }; /** |