OpenCloudOS-Kernel/drivers/iio
Matti Vaittinen d049151add iio: bu27034: Ensure reset is written
The reset bit must be always written to the hardware no matter what value
is in a cache or register. Ensure this by using regmap_write_bits()
instead of the regmap_update_bits(). Furthermore, the SWRESET bit may be
self-clearing, so mark the SYSTEM_CONTROL register volatile to guarantee
we do also read the right state - should we ever need to read it.

Finally, writing the SWRESET bit will restore the default register
values. This can cause register cache to be outdated if there are any
register values cached.

Rebuild register cache after SWRESET and use regmap_update_bits() when
performing the reset.

Signed-off-by: Matti Vaittinen <mazziesaccount@gmail.com>
Fixes: e52afbd610 ("iio: light: ROHM BU27034 Ambient Light Sensor")
Link: https://lore.kernel.org/r/ZFjWhbfuN5XcKty+@fedora
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2023-05-13 19:22:01 +01:00
..
accel iio: accel: st_accel: Fix invalid mount_matrix on devices without ACPI _ONT method 2023-05-13 17:54:57 +01:00
adc iio: adc: stm32-adc: skip adc-channels setup if none is present 2023-05-13 17:54:57 +01:00
addac iio: addac: ad74413: fix resistance input processing 2023-05-13 17:54:58 +01:00
afe iio: afe: rescale: export symbols used during testing 2022-07-16 19:01:14 +01:00
amplifiers iio: amplifier: hmc425a: simplify using devm_regulator_get_enable() 2022-11-23 19:44:01 +00:00
buffer iio: Don't silently expect attribute types 2022-11-23 19:44:04 +00:00
cdc drivers: iio: cdc: Drop redundant if check 2023-01-08 12:59:44 +00:00
chemical iio: chemical: sps030: Reformat comment in a more readable way 2023-03-11 12:18:27 +00:00
common iio: Rename iio_trigger_poll_chained and add kernel-doc 2023-03-11 12:18:29 +00:00
dac iio: dac: build ad5758 driver when AD5758 is selected 2023-05-13 19:18:11 +01:00
dummy Bitmap patches for 5.19-rc1 2022-06-04 14:04:27 -07:00
filter iio: filter: admv8818: close potential out-of-bounds read in __admv8818_read_[h|l]pf_freq() 2022-11-23 19:43:57 +00:00
frequency iio: frequency: admv1013: Benefit from devm_clk_get_enabled() to simplify 2023-03-18 16:35:26 +00:00
gyro iio: Rename iio_trigger_poll_chained and add kernel-doc 2023-03-11 12:18:29 +00:00
health 4th set of IIO fixes for 6.1 2022-11-27 15:05:05 +01:00
humidity iio: Rename iio_trigger_poll_chained and add kernel-doc 2023-03-11 12:18:29 +00:00
imu Char/Misc drivers for 6.4-rc1 2023-04-27 12:07:50 -07:00
light iio: bu27034: Ensure reset is written 2023-05-13 19:22:01 +01:00
magnetometer iio: tmag5273: Fix runtime PM leak on measurement error 2023-05-13 17:54:56 +01:00
multiplexer iio: multiplexer: Switch to use dev_err_probe() helper 2022-11-23 19:43:57 +00:00
orientation iio: hid-sensors: bind IIO channels alloc to device object 2021-07-13 18:21:53 +01:00
position iio: hid-sensors: Update header includes 2021-06-16 14:53:13 +01:00
potentiometer iio: potentiometer: tpl0102: Convert to i2c's .probe_new() 2022-11-23 20:20:30 +00:00
potentiostat iio: Rename iio_trigger_poll_chained and add kernel-doc 2023-03-11 12:18:29 +00:00
pressure iio: Rename iio_trigger_poll_chained and add kernel-doc 2023-03-11 12:18:29 +00:00
proximity iio: proximity: sx9500: Reference ACPI and OF ID data 2023-03-12 16:18:41 +00:00
resolver iio: resolver: ad2s90: Fix alignment for DMA safety 2022-06-14 11:53:19 +01:00
temperature iio: temperature: tmp117: cosmetic alignment cleanup 2023-03-11 12:18:29 +00:00
test iio: test: Mark file local structure arrays static. 2022-08-15 22:30:01 +01:00
trigger iio: Rename iio_trigger_poll_chained and add kernel-doc 2023-03-11 12:18:29 +00:00
Kconfig iio: light: Add gain-time-scale helpers 2023-04-10 12:26:34 +01:00
Makefile iio: light: Add gain-time-scale helpers 2023-04-10 12:26:34 +01:00
TODO iio: core: move 'mlock' to 'struct iio_dev_opaque' 2022-11-23 19:44:00 +00:00
iio_core.h iio: Mark iio_device_type as const 2021-11-17 17:51:35 +00:00
iio_core_trigger.h iio: core-trigger: make iio_device_register_trigger_consumer() an int return 2021-03-11 20:47:02 +00:00
industrialio-buffer.c iio: buffer: make sure O_NONBLOCK is respected 2023-02-18 14:07:58 +00:00
industrialio-configfs.c
industrialio-core.c iio: core: Sort headers 2023-01-21 17:35:23 +00:00
industrialio-event.c 4th set of IIO fixes for 6.1 2022-11-27 15:05:05 +01:00
industrialio-gts-helper.c iio: gts-helpers: fix integration time units 2023-05-13 17:54:57 +01:00
industrialio-sw-device.c iio: Don't use bare "unsigned" 2022-07-01 11:19:08 +01:00
industrialio-sw-trigger.c iio: core: Fix entry not deleted when iio_register_sw_trigger_type() fails 2022-11-12 17:53:35 +00:00
industrialio-trigger.c iio: Rename iio_trigger_poll_chained and add kernel-doc 2023-03-11 12:18:29 +00:00
industrialio-triggered-event.c iio: core: move @id from struct iio_dev to struct iio_dev_opaque 2021-05-17 13:49:13 +01:00
inkern.c iio: inkern: fix coding style warnings 2022-08-15 22:30:00 +01:00