Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 564cff82 authored by Alexander Koch's avatar Alexander Koch Committed by Jonathan Cameron
Browse files

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: default avatarAlexander Koch <mail@alexanderkoch.net>
Signed-off-by: default avatarMichael Hornung <mhornung.linux@gmail.com>
Tested-by: default avatarAndreas Dannenberg <dannenberg@ti.com>
Signed-off-by: default avatarJonathan Cameron <jic23@kernel.org>
parent b6acb0cf
Loading
Loading
Loading
Loading
+9 −6
Original line number Diff line number Diff line
@@ -65,6 +65,9 @@
#define OPT3001_REG_EXPONENT(n)		((n) >> 12)
#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
 * 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;

	switch (time) {
	case 100000:
	case OPT3001_INT_TIME_SHORT:
		reg &= ~OPT3001_CONFIGURATION_CT;
		opt->int_time = 100000;
		opt->int_time = OPT3001_INT_TIME_SHORT;
		break;
	case 800000:
	case OPT3001_INT_TIME_LONG:
		reg |= OPT3001_CONFIGURATION_CT;
		opt->int_time = 800000;
		opt->int_time = OPT3001_INT_TIME_LONG;
		break;
	default:
		return -EINVAL;
@@ -597,9 +600,9 @@ static int opt3001_configure(struct opt3001 *opt)

	/* Reflect status of the device's integration time setting */
	if (reg & OPT3001_CONFIGURATION_CT)
		opt->int_time = 800000;
		opt->int_time = OPT3001_INT_TIME_LONG;
	else
		opt->int_time = 100000;
		opt->int_time = OPT3001_INT_TIME_SHORT;

	/* Ensure device is in shutdown initially */
	opt3001_set_mode(opt, &reg, OPT3001_CONFIGURATION_M_SHUTDOWN);