iio: light: opt3001: extract int. time constants
Extract integration times as #define constants. This prepares using them for delay/timeout length determination. Signed-off-by: Alexander Koch <mail@alexanderkoch.net> Signed-off-by: Michael Hornung <mhornung.linux@gmail.com> Tested-by: Andreas Dannenberg <dannenberg@ti.com> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
This commit is contained in:
parent
b6acb0cfc2
commit
564cff826f
@ -65,6 +65,9 @@
|
|||||||
#define OPT3001_REG_EXPONENT(n) ((n) >> 12)
|
#define OPT3001_REG_EXPONENT(n) ((n) >> 12)
|
||||||
#define OPT3001_REG_MANTISSA(n) ((n) & 0xfff)
|
#define OPT3001_REG_MANTISSA(n) ((n) & 0xfff)
|
||||||
|
|
||||||
|
#define OPT3001_INT_TIME_LONG 800000
|
||||||
|
#define OPT3001_INT_TIME_SHORT 100000
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Time to wait for conversion result to be ready. The device datasheet
|
* Time to wait for conversion result to be ready. The device datasheet
|
||||||
* worst-case max value is 880ms. Add some slack to be on the safe side.
|
* worst-case max value is 880ms. Add some slack to be on the safe side.
|
||||||
@ -325,13 +328,13 @@ static int opt3001_set_int_time(struct opt3001 *opt, int time)
|
|||||||
reg = ret;
|
reg = ret;
|
||||||
|
|
||||||
switch (time) {
|
switch (time) {
|
||||||
case 100000:
|
case OPT3001_INT_TIME_SHORT:
|
||||||
reg &= ~OPT3001_CONFIGURATION_CT;
|
reg &= ~OPT3001_CONFIGURATION_CT;
|
||||||
opt->int_time = 100000;
|
opt->int_time = OPT3001_INT_TIME_SHORT;
|
||||||
break;
|
break;
|
||||||
case 800000:
|
case OPT3001_INT_TIME_LONG:
|
||||||
reg |= OPT3001_CONFIGURATION_CT;
|
reg |= OPT3001_CONFIGURATION_CT;
|
||||||
opt->int_time = 800000;
|
opt->int_time = OPT3001_INT_TIME_LONG;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
@ -597,9 +600,9 @@ static int opt3001_configure(struct opt3001 *opt)
|
|||||||
|
|
||||||
/* Reflect status of the device's integration time setting */
|
/* Reflect status of the device's integration time setting */
|
||||||
if (reg & OPT3001_CONFIGURATION_CT)
|
if (reg & OPT3001_CONFIGURATION_CT)
|
||||||
opt->int_time = 800000;
|
opt->int_time = OPT3001_INT_TIME_LONG;
|
||||||
else
|
else
|
||||||
opt->int_time = 100000;
|
opt->int_time = OPT3001_INT_TIME_SHORT;
|
||||||
|
|
||||||
/* Ensure device is in shutdown initially */
|
/* Ensure device is in shutdown initially */
|
||||||
opt3001_set_mode(opt, ®, OPT3001_CONFIGURATION_M_SHUTDOWN);
|
opt3001_set_mode(opt, ®, OPT3001_CONFIGURATION_M_SHUTDOWN);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user