From: Nikhil Gautam <nikhilgtr@gmail.com>
To: linux-iio@vger.kernel.org
Cc: jic23@kernel.org, dlechner@baylibre.com, nuno.sa@analog.com,
andy@kernel.org, robh@kernel.org, krzk+dt@kernel.org,
conor+dt@kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, Nikhil Gautam <nikhilgtr@gmail.com>
Subject: [PATCH v2 0/2] iio: magnetometer: add support for Melexis MLX90393
Date: Thu, 18 Jun 2026 21:31:39 +0530 [thread overview]
Message-ID: <20260618160141.11409-1-nikhilgtr@gmail.com> (raw)
Hi,
This series adds initial Industrial I/O subsystem support for the
Melexis MLX90393 3-axis magnetometer and temperature sensor.
The MLX90393 supports both I2C and SPI interfaces. This series
implements support for the I2C interface while keeping the driver
structure transport-independent to simplify future SPI support.
Currently supported features:
* Raw magnetic field measurements for X/Y/Z axes
* Raw temperature measurements
* Configurable gain/scale selection
* Configurable oversampling ratio
* Direct mode operation through the IIO subsystem
* I2C interface support
The driver has been tested on Raspberry Pi 5 hardware using an
MLX90393 sensor connected over I2C. Magnetic field and temperature
measurements were verified through the IIO sysfs interface.
Previous Submission:
Link: https://lore.kernel.org/linux-iio/20260510191010.155380-1-nikhilgtr@gmail.com/
Changes in v2:
[DT]
- Extended the DT binding to document power supply regulators and
optional interrupt and trigger GPIOs.
[IIO]
- Removed the RFC tag based on reviewer feedback.
- Added a MAINTAINERS entry as part of the initial submission and
expanded it in the driver patch.
- Reworked the scale availability implementation to simplify the
data layout and eliminate the need for constructing a temporary
table, avoiding potential race conditions.
- Replaced usleep_range() with fsleep() where appropriate and
documented initialization delays.
- Simplified helper functions and improved error handling by
returning directly where appropriate.
- Reduced unnecessary local variables and line wrapping to improve
readability and align with kernel coding style.
- Added comments for lock protection and command definitions to
improve code clarity.
- Switched to devm_mutex_init() and cleaned up include usage in
accordance with the "include what you use" principle.
- Improved consistency across the driver, including conditional
handling, switch statements, formatting, and general code style.
- Addressed all review comments from Jonathan Cameron.
I would like to thank Jonathan Cameron for the prompt and thorough
review of the previous revision. The detailed feedback on both the
submission process and the implementation has significantly improved
the quality and maintainability of this series.
Further review and comments are greatly appreciated.
Thanks,
Nikhil Gautam
Nikhil Gautam (2):
dt-bindings: iio: magnetometer: add Melexis MLX90393
iio: magnetometer: add support for Melexis MLX90393
.../iio/magnetometer/melexis,mlx90393.yaml | 55 ++
MAINTAINERS | 7 +
drivers/iio/magnetometer/Kconfig | 10 +
drivers/iio/magnetometer/Makefile | 2 +
drivers/iio/magnetometer/mlx90393.h | 74 ++
drivers/iio/magnetometer/mlx90393_core.c | 681 ++++++++++++++++++
drivers/iio/magnetometer/mlx90393_i2c.c | 72 ++
7 files changed, 901 insertions(+)
create mode 100644 Documentation/devicetree/bindings/iio/magnetometer/melexis,mlx90393.yaml
create mode 100644 drivers/iio/magnetometer/mlx90393.h
create mode 100644 drivers/iio/magnetometer/mlx90393_core.c
create mode 100644 drivers/iio/magnetometer/mlx90393_i2c.c
--
2.39.5
next reply other threads:[~2026-06-18 16:01 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-18 16:01 Nikhil Gautam [this message]
2026-06-18 16:01 ` [PATCH v2 1/2] dt-bindings: iio: magnetometer: add Melexis MLX90393 Nikhil Gautam
2026-06-18 16:10 ` sashiko-bot
2026-06-18 16:01 ` [PATCH v2 2/2] iio: magnetometer: add support for " Nikhil Gautam
2026-06-18 16:15 ` sashiko-bot
2026-06-18 17:25 ` Uwe Kleine-König
2026-06-18 19:26 ` Andy Shevchenko
2026-06-18 18:59 ` [PATCH v2 0/2] " Andy Shevchenko
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=20260618160141.11409-1-nikhilgtr@gmail.com \
--to=nikhilgtr@gmail.com \
--cc=andy@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dlechner@baylibre.com \
--cc=jic23@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nuno.sa@analog.com \
--cc=robh@kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox