[PATCH v4 09/13] iio: dac: ds4424: add DS4402/DS4404 device IDs
From: Oleksij Rempel
Date: Tue Feb 03 2026 - 04:38:08 EST
From: David Jander <david@xxxxxxxxxxx>
Add I2C/OF IDs for DS4402 and DS4404 and set the correct channel count.
Follow-up changes add per-variant scaling based on external Rfs.
Co-developed-by: Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx>
Signed-off-by: Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx>
Signed-off-by: David Jander <david@xxxxxxxxxxx>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxx>
---
changes v3:
- Reset author to David Jander and added Co-developed-by tag for
Oleksij Rempel to clarify roles
changes v2:
- No changes.
---
drivers/iio/dac/ds4424.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/drivers/iio/dac/ds4424.c b/drivers/iio/dac/ds4424.c
index 94803885d735..31dcf6632b58 100644
--- a/drivers/iio/dac/ds4424.c
+++ b/drivers/iio/dac/ds4424.c
@@ -38,6 +38,14 @@ struct ds4424_chip_info {
u8 num_channels;
};
+static const struct ds4424_chip_info ds4402_info = {
+ .num_channels = DS4422_MAX_DAC_CHANNELS,
+};
+
+static const struct ds4424_chip_info ds4404_info = {
+ .num_channels = DS4424_MAX_DAC_CHANNELS,
+};
+
static const struct ds4424_chip_info ds4422_info = {
.num_channels = DS4422_MAX_DAC_CHANNELS,
};
@@ -282,6 +290,8 @@ static void ds4424_remove(struct i2c_client *client)
}
static const struct i2c_device_id ds4424_id[] = {
+ { "ds4402", (kernel_ulong_t)&ds4402_info },
+ { "ds4404", (kernel_ulong_t)&ds4404_info },
{ "ds4422", (kernel_ulong_t)&ds4422_info },
{ "ds4424", (kernel_ulong_t)&ds4424_info },
{ }
@@ -290,6 +300,8 @@ static const struct i2c_device_id ds4424_id[] = {
MODULE_DEVICE_TABLE(i2c, ds4424_id);
static const struct of_device_id ds4424_of_match[] = {
+ { .compatible = "maxim,ds4402", .data = &ds4402_info },
+ { .compatible = "maxim,ds4404", .data = &ds4404_info },
{ .compatible = "maxim,ds4422", .data = &ds4422_info },
{ .compatible = "maxim,ds4424", .data = &ds4424_info },
{ }
--
2.47.3