From: Miquel Raynal <miquel.raynal@bootlin.com>
To: linux-iio@vger.kernel.org, Jonathan Cameron <jic23@kernel.org>,
Lars-Peter Clausen <lars@metafoo.de>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
Miquel Raynal <miquel.raynal@bootlin.com>
Subject: [PATCH 00/10] Light core IIO enhancements
Date: Wed, 15 Dec 2021 16:13:34 +0100 [thread overview]
Message-ID: <20211215151344.163036-1-miquel.raynal@bootlin.com> (raw)
Hello,
As part of a previous discussion with Jonathan (I know, it was three
months ago, sorry for the delay :-$), it appeared necessary to do a
little bit of cleanup in the IIO core and at least provide a little bit
more documentation for developers diving into the IIO subsystem for the
first time. My first move was to write a blog post trying to explain
(from my point of view but with the review of Jonathan) what is
necessary to understand when writing and IIO kernel driver:
https://bootlin.com/blog/the-backbone-of-a-linux-industrial-i-o-driver/
Here is now the second halve of this work, with few things that I tried
to address.
* The currentmode indio_dev entry was misused by several device drivers,
I tried to understand which ones were wrong (there are two still
accessing this variable left, I decided not to touch them because I
think it is legitimate) and I tried to find an alternative.
* Then, I tried to make new accesses to this variable harder in order to
avoid future mistakes, by creating a couple of helpers and moving it
to the opaque structure.
* I continued with the IIO modes which are completely
undocumented. Following a few exchanges with Jonathan, I tried to take
most of this discussion and put it into a kernel doc header.
* When doing the above task, I realized that there was a particular case
handled for kfifo buffers which I tried to simplify, but if this is a
mistake, I'll just drop the patch.
Hope this will help!
Cheers,
Miquèl
Miquel Raynal (10):
iio: core: Fix the kernel doc regarding the currentmode iio_dev entry
iio: core: Enhance the kernel doc of modes and currentmodes iio_dev
entries
iio: magnetometer: rm3100: Stop abusing the ->currentmode
iio: adc: stm32-dfsdm: Avoid dereferencing ->currentmode
iio: st_sensors: Use iio_device_claim/release_direct_mode() when
relevant
iio: core: Hide read accesses to iio_dev->currentmode
iio: core: Hide write accesses to iio_dev->currentmode
iio: core: Move iio_dev->currentmode to the opaque structure
iio: core: Simplify the registration of kfifo buffers
iio: core: Clarify the modes
drivers/iio/accel/bmc150-accel-core.c | 4 +-
drivers/iio/accel/fxls8962af-core.c | 1 -
drivers/iio/accel/sca3000.c | 1 -
drivers/iio/accel/ssp_accel_sensor.c | 1 -
drivers/iio/adc/at91-sama5d2_adc.c | 4 +-
drivers/iio/adc/ina2xx-adc.c | 1 -
drivers/iio/adc/stm32-dfsdm-adc.c | 5 +-
drivers/iio/adc/ti_am335x_adc.c | 4 +-
drivers/iio/buffer/kfifo_buf.c | 12 +---
.../cros_ec_sensors/cros_ec_sensors_core.c | 3 +-
drivers/iio/common/scmi_sensors/scmi_iio.c | 1 -
.../iio/common/st_sensors/st_sensors_core.c | 28 +++++----
drivers/iio/gyro/ssp_gyro_sensor.c | 1 -
drivers/iio/health/max30100.c | 1 -
drivers/iio/health/max30102.c | 1 -
.../iio/imu/inv_icm42600/inv_icm42600_accel.c | 1 -
.../iio/imu/inv_icm42600/inv_icm42600_gyro.c | 1 -
.../iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c | 1 -
drivers/iio/industrialio-buffer.c | 12 ++--
drivers/iio/industrialio-core.c | 13 +++++
drivers/iio/industrialio-trigger.c | 2 +-
drivers/iio/light/apds9960.c | 1 -
drivers/iio/magnetometer/rm3100-core.c | 15 +----
.../staging/iio/impedance-analyzer/ad5933.c | 1 -
include/linux/iio/iio-opaque.h | 16 ++++++
include/linux/iio/iio.h | 57 ++++++++++++++++---
include/linux/iio/kfifo_buf.h | 5 +-
27 files changed, 114 insertions(+), 79 deletions(-)
--
2.27.0
next reply other threads:[~2021-12-15 15:13 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-15 15:13 Miquel Raynal [this message]
2021-12-15 15:13 ` [PATCH 01/10] iio: core: Fix the kernel doc regarding the currentmode iio_dev entry Miquel Raynal
2021-12-16 6:23 ` Alexandru Ardelean
2022-01-15 15:47 ` Jonathan Cameron
2021-12-15 15:13 ` [PATCH 02/10] iio: core: Enhance the kernel doc of modes and currentmodes iio_dev entries Miquel Raynal
2021-12-16 6:24 ` Alexandru Ardelean
2021-12-16 8:15 ` Miquel Raynal
2022-01-15 15:51 ` Jonathan Cameron
2022-01-28 14:56 ` Miquel Raynal
2021-12-15 15:13 ` [PATCH 03/10] iio: magnetometer: rm3100: Stop abusing the ->currentmode Miquel Raynal
2021-12-16 6:40 ` Alexandru Ardelean
2021-12-16 8:18 ` Miquel Raynal
2022-01-15 15:58 ` Jonathan Cameron
2022-01-28 15:00 ` Miquel Raynal
2021-12-15 15:13 ` [PATCH 04/10] iio: adc: stm32-dfsdm: Avoid dereferencing ->currentmode Miquel Raynal
2021-12-16 6:47 ` Alexandru Ardelean
2021-12-16 8:22 ` Miquel Raynal
2022-01-15 16:06 ` Jonathan Cameron
2022-01-28 15:04 ` Miquel Raynal
2022-02-01 8:41 ` Fabrice Gasnier
2022-02-02 9:33 ` Miquel Raynal
2021-12-15 15:13 ` [PATCH 05/10] iio: st_sensors: Use iio_device_claim/release_direct_mode() when relevant Miquel Raynal
2021-12-16 7:16 ` Alexandru Ardelean
2021-12-16 8:32 ` Miquel Raynal
2022-01-15 16:38 ` Jonathan Cameron
2021-12-15 15:13 ` [PATCH 06/10] iio: core: Hide read accesses to iio_dev->currentmode Miquel Raynal
2021-12-16 7:38 ` Alexandru Ardelean
2021-12-16 7:41 ` Alexandru Ardelean
2021-12-16 8:37 ` Miquel Raynal
2022-01-15 16:51 ` Jonathan Cameron
2021-12-15 15:13 ` [PATCH 07/10] iio: core: Hide write " Miquel Raynal
2022-01-15 16:56 ` Jonathan Cameron
2022-02-02 8:16 ` Miquel Raynal
2021-12-15 15:13 ` [PATCH 08/10] iio: core: Move iio_dev->currentmode to the opaque structure Miquel Raynal
2021-12-16 7:48 ` Alexandru Ardelean
2021-12-16 8:38 ` Miquel Raynal
2022-01-15 17:00 ` Jonathan Cameron
2021-12-15 15:13 ` [PATCH 09/10] iio: core: Simplify the registration of kfifo buffers Miquel Raynal
2021-12-16 7:52 ` Alexandru Ardelean
2022-01-15 17:12 ` Jonathan Cameron
2022-02-02 8:09 ` Miquel Raynal
2022-02-05 18:50 ` Jonathan Cameron
2021-12-15 15:13 ` [PATCH 10/10] iio: core: Clarify the modes Miquel Raynal
2022-01-15 17:30 ` Jonathan Cameron
2022-02-02 13:46 ` Miquel Raynal
2022-02-05 18:56 ` Jonathan Cameron
2022-02-06 13:21 ` Miquel Raynal
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20211215151344.163036-1-miquel.raynal@bootlin.com \
--to=miquel.raynal@bootlin.com \
--cc=jic23@kernel.org \
--cc=lars@metafoo.de \
--cc=linux-iio@vger.kernel.org \
--cc=thomas.petazzoni@bootlin.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).