[PATCH v3 0/3] Refactor Microchip MCP47FEB02 I2C driver in separate modules to add support for MCP48FEB02 SPI driver
Ariana Lazar <[email protected]> Tue, 4 Aug 2026 16:29:46 +0300
| Newsgroups | org.kernel.vger.linux-devicetree,org.kernel.vger.linux-iio,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
Refactor I2C driver implementation into separate modules in order to add support for SPI MCP48FxBy1/2/4/8 DAC family on top of the I2C implementation. The I2C and SPI devices have the same memory map and supported functionalities. Signed-off-by: Ariana Lazar <[email protected]> --- Changes in v3: - renumbering the patch version to include the first patch submision - fix review comments device tree binding: - change 'additionalProperties' to unevaluatedProperties - add else branch with spi-max-frequency in the condition which checks if a device has SPI interface - correct SPI address example - add clock polarity and clock phase properties for SPI devices - enumerate I2C devices in lexicographic order from the description section - specify supported SPI modes using dependencies - fix review comments driver: - remove unneccesarry libraries and add the missing ones - correct comment typo - return -ENODEV using dev_err_probe() in protocol probe functions - use named initializers - move defines for registers and enums from the header to the core file - add dev_set_drvdata() in probe() - move mutex aquiring from mcp47feb02_write_to_eeprom() to store_eeprom_store() - write correct value into Vref register in resume() - Link to v2: https://lore.kernel.org/r/[email protected] v2: - include in the same patch series the refactoring of the driver and the support for SPI devices, but in different patches - remove changes regarding review comments received not related to the code refactoring - first version of the combined refactoring I2C and adding support for SPI driver - Link to v1: https://lore.kernel.org/all/[email protected] v1: - first version which did not separate the refactoring and adding support for SPI devices (into different patches from the same series) --- Ariana Lazar (3): iio: dac: mcp47feb02: refactor MCP47FEB02 I2C driver into two modules dt-bindings: iio: dac: add support for MCP48FEB02 SPI iio: dac: add support for Microchip MCP48FEB02 .../bindings/iio/dac/microchip,mcp47feb02.yaml | 221 +++++++++++--- MAINTAINERS | 5 +- drivers/iio/dac/Kconfig | 33 +- drivers/iio/dac/Makefile | 4 +- .../iio/dac/{mcp47feb02.c => mcp47feb02-core.c} | 336 ++------------------- drivers/iio/dac/mcp47feb02-i2c.c | 144 +++++++++ drivers/iio/dac/mcp47feb02-spi.c | 145 +++++++++ drivers/iio/dac/mcp47feb02.h | 48 +++ 8 files changed, 576 insertions(+), 360 deletions(-) --- base-commit: 9c6acc6e6555d34198e45cb0d309569dfbadf929 change-id: 20260625-mcp47feb02_refactor-fa8420ae3282 Best regards, -- Ariana Lazar <[email protected]>