From: Angel Iglesias <ang.iglesiasg@gmail.com>
To: linux-iio <linux-iio@vger.kernel.org>
Cc: Jonathan Cameron <jic23@kernel.org>,
Lars-Peter Clausen <lars@metafoo.de>,
Paul Cercueil <paul@crapouillou.net>,
Ulf Hansson <ulf.hansson@linaro.org>,
"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
linux-kernel@vger.kernel.org
Subject: [PATCH v5 0/5] Add support for pressure sensor Bosch BMP380
Date: Sun, 7 Aug 2022 13:52:30 +0200 [thread overview]
Message-ID: <cover.1659872590.git.ang.iglesiasg@gmail.com> (raw)
This patchset adds BMP380 variant to the already existing drivers for
the Bosch BMP180/280 pressure sensors.
Patch 1 is a minor refactor simplifying driver initialization logic
to facilitate the integration of the new sensor variant extending the
information stored in the "chip_info" struct.
Patch 2 fixes DMA unsafe regmap_bulk_* calls reported by Jonathan Cameron
<jic23@kernel.org>.
Patch 3 adds the basic logic to initialize and read measurements from
the sensor.
Patch 4 adds references and sensor id to the devicetree bindings docs.
Patch 5 adds advanced configurable features such as sampling frequency
and IIR filter through the IIO sysfs ABI.
Changes in v5:
- Moved dt bindings patch (previously patch 2/5) to 4/5 to preserve
tree coherence as suggested by Jonathan Cameron <jic23@kernel.org>
- Patch 1: Simplified initial oversampling values assignation.
- Patch 1: Updated codepaths for bmp180 and bmp280 to use FIELD_GET and
FIELD_GET helpers. Migrated compatible masks to use GENMASK.
- Patch 2: Store DMA-safe buffers on the device data struct instead of
using dynamic allocations for calibration buffers.
Thanks Jonathan Cameron <jic23@kernel.org>.
- Patch 3: Fixed small typos
- Patch 3: Fixed incompatible division on 32-bit machines reported by
Andy Shevchenko <andy.shevchenko@gmail.com> and kernel test robot
<lkp@intel.com>.
- Patch 3: Fixed inconsistent use of "x" and "X" declaring constants.
- Patch 5: Dropped incorrect reported-by tag on changelog message.
- Patch 5: Fixed typos on various comments.
Changes in v4:
- Patch 4 and 2: Merged v3 patch 2 (Kconfig refs update) into this patch.
- Patch 3: Added patch fixing unsafe DMA regmap_bulk_* calls reported by
Jonathan Cameron <jic23@kernel.org>.
- Patch 4: Fixed DMA unsafe buffers used on regmap_bulk_* calls reported
by Jonathan Cameron <jic23@kernel.org>.
Changes in v3:
- Patch 2: Fixed incorrect abbreviation.
- Patch 3: use dev_err_probe helper to handle error initializing sensor.
- Patch 4: Fixed kernel test robot warning provoked by missing include.
- Patch 4: Fixed bug reported by Dan Carpenter <dan.carpenter@oracle.com>.
- Patch 5: Fixed formatting and typos on multiple comments.
- Patch 5: Fixed missing boolean initialization reported by
Andy Shevchenko <andy.shevchenko@gmail.com>.
- Patch 5: Replaced duplicated comments with a single comment containing
a brief explantation in a shared location.
- Patch 5: Dropped incorrect use of unlikely macro.
Changes in v2:
- Added patch 2 updating Kconfig with references to new sensor.
- Patch 3 adds changes proposed by Jonathan Cameron <jic23@kernel.org>
to declutter and unify configuration logic for the different sensors
extending "chip_info" struct with default configuration parameters.
- Patch 4: store temperature and pressure adc values on 3 byte array
instead of using the type __le32. Uses function get_unaligned_le24
to convert the little-endian encoded 3 byte value to an integer.
- Patch 4: drops custom macro le16_from_bytes and use get_unaligned_le16.
- Patch 4: generate masks using GENMASK macro.
- Patch 4: use FIELD_PREP to generate bitfields for registries.
- Patch 4: dropped stray formatting change.
- Patch 5: adds sanity checks in bmp280_read_raw for channel properties
only available in the BMP380.
- Patch 5: on bmp280_write_* checks if a problem occurred committing new
configuration and tries to restore previous working configuration
to keep the sensor in a previous working state.
- Patch 5: refactored bmp380_chip_config to only check for configuration
errors when a configuration change is detected.
- Patch 5: improved invalid configuration detection on BMP380 restarting
measurement loop to force a new measurement after the configuration is
updated.
Previous patch version available on:
https://lore.kernel.org/all/cover.1658597501.git.ang.iglesiasg@gmail.com/
Angel Iglesias (5):
iio: pressure: bmp280: simplify driver initialization logic
iio: pressure: bmp280: Fix alignment for DMA safety
iio: pressure: bmp280: Add support for BMP380 sensor family
dt-bindings: iio: pressure: bmp085: Add BMP380 compatible string
iio: pressure: bmp280: Add more tunable config parameters for BMP380
.../bindings/iio/pressure/bmp085.yaml | 4 +-
drivers/iio/pressure/Kconfig | 6 +-
drivers/iio/pressure/bmp280-core.c | 866 +++++++++++++++---
drivers/iio/pressure/bmp280-i2c.c | 5 +
drivers/iio/pressure/bmp280-regmap.c | 55 ++
drivers/iio/pressure/bmp280-spi.c | 5 +
drivers/iio/pressure/bmp280.h | 159 +++-
7 files changed, 952 insertions(+), 148 deletions(-)
base-commit: 180c6cb6b9b79c55b79e8414f4c0208f2463af7d
--
2.37.1
next reply other threads:[~2022-08-07 11:54 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-07 11:52 Angel Iglesias [this message]
2022-08-07 11:54 ` [PATCH v5 1/5] iio: pressure: bmp280: simplify driver initialization logic Angel Iglesias
2022-08-08 8:18 ` Andy Shevchenko
2022-08-14 13:43 ` Jonathan Cameron
2022-08-14 14:26 ` Angel Iglesias
2022-08-07 11:55 ` [PATCH v5 2/5] iio: pressure: bmp280: Fix alignment for DMA safety Angel Iglesias
2022-08-08 8:53 ` Andy Shevchenko
2022-08-12 9:59 ` Angel Iglesias
2022-08-14 13:52 ` Jonathan Cameron
2022-08-14 14:03 ` Jonathan Cameron
2022-08-07 11:55 ` [PATCH v5 3/5] iio: pressure: bmp280: Add support for BMP380 sensor family Angel Iglesias
2022-08-08 9:08 ` Andy Shevchenko
2022-08-12 10:47 ` Angel Iglesias
2022-08-14 14:11 ` Jonathan Cameron
2022-08-14 14:15 ` Jonathan Cameron
2022-08-14 14:37 ` Angel Iglesias
2022-08-14 16:56 ` Jonathan Cameron
2022-08-07 11:56 ` [PATCH v5 4/5] dt-bindings: iio: pressure: bmp085: Add BMP380 compatible string Angel Iglesias
2022-08-07 11:57 ` [PATCH v5 5/5] iio: pressure: bmp280: Add more tunable config parameters for BMP380 Angel Iglesias
2022-08-08 9:13 ` Andy Shevchenko
2022-09-12 0:53 ` Angel Iglesias
2022-09-15 13:33 ` Jonathan Cameron
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=cover.1659872590.git.ang.iglesiasg@gmail.com \
--to=ang.iglesiasg@gmail.com \
--cc=jic23@kernel.org \
--cc=lars@metafoo.de \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=paul@crapouillou.net \
--cc=rafael.j.wysocki@intel.com \
--cc=ulf.hansson@linaro.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.