iio: light: vcnl4000: Preserve conf bits when toggle power
authorMårten Lindahl <marten.lindahl@axis.com>
Mon, 26 Sep 2022 09:18:59 +0000 (11:18 +0200)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Wed, 23 Nov 2022 19:43:57 +0000 (19:43 +0000)
commite21b5b1f26694a4498ca11a15e09ccc0a72abb81
treea9ecc556f0c5764a55c4a770a392cf890edf4952
parent3f4033a811bcd1a1f077ce5297488a5c4dd30eb1
iio: light: vcnl4000: Preserve conf bits when toggle power

As the vcnl4040 and vcnl4200 chip uses runtime power management for
turning the ambient light and proximity sensors on/off, it overwrites
the entire register each time. In ALS_CONF register bit fields ALS_IT,
ALS_PERS, ALS_INT_EN are overwritten. In PS_CONF1 register bit fields
PS_DUTY, PS_PERS, PS_IT, PS_HD, and PS_INT are overwritten.

Add functions for preserving the affected bit fields when changing power
state.

Signed-off-by: Mårten Lindahl <marten.lindahl@axis.com>
Link: https://lore.kernel.org/r/20220926091900.1724105-2-marten.lindahl@axis.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/light/vcnl4000.c