iio: mlx90614: Add emissivity setting
authorVianney le Clément de Saint-Marcq <vianney.leclement@essensium.com>
Mon, 30 Mar 2015 08:35:00 +0000 (10:35 +0200)
committerJonathan Cameron <jic23@kernel.org>
Thu, 9 Apr 2015 14:06:31 +0000 (15:06 +0100)
commitfad65a8fe5b85b5039b316258c2790e773cc3502
treef1eab1e7abf17b36c5158a91b425f6b07bc9c047
parent5147b21a61806b0ff2c29ccb3f8bc37495d5c2ff
iio: mlx90614: Add emissivity setting

The mapping from the 16-bit EEPROM value to the decimal 0-1 range is
approximate.  A special case ensures 0xFFFF shows as 1.0 instead of
0.999998565.

Writing to EEPROM requires an explicit erase by writing zero.  In
addition, it takes 20ms for the erase/write to complete.  During this
time no EEPROM register should be accessed.  Therefore, two msleep()s
are added to the write function and a mutex protects against concurrent
access.

Signed-off-by: Vianney le Clément de Saint-Marcq <vianney.leclement@essensium.com>
Cc: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
drivers/iio/temperature/mlx90614.c