From 1fa14dd130fae3feccdde112ed26f48042cf5d7b Mon Sep 17 00:00:00 2001 From: David Jander Date: Tue, 10 Feb 2026 14:51:06 +0100 Subject: [PATCH] iio: dac: ds4424: add DS4402/DS4404 device IDs 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 Signed-off-by: Oleksij Rempel Signed-off-by: David Jander Reviewed-by: Andy Shevchenko Signed-off-by: Jonathan Cameron --- drivers/iio/dac/ds4424.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/drivers/iio/dac/ds4424.c b/drivers/iio/dac/ds4424.c index f9cdc695032d..f88e92927bf2 100644 --- a/drivers/iio/dac/ds4424.c +++ b/drivers/iio/dac/ds4424.c @@ -39,6 +39,16 @@ struct ds4424_chip_info { u8 num_channels; }; +static const struct ds4424_chip_info ds4402_info = { + .name = "ds4402", + .num_channels = DS4422_MAX_DAC_CHANNELS, +}; + +static const struct ds4424_chip_info ds4404_info = { + .name = "ds4404", + .num_channels = DS4424_MAX_DAC_CHANNELS, +}; + static const struct ds4424_chip_info ds4422_info = { .name = "ds4422", .num_channels = DS4422_MAX_DAC_CHANNELS, @@ -285,6 +295,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 }, { } @@ -293,6 +305,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