According to the datasheet, both AD5821 and AD5820 share a compatible
register-set:
http://www.analog.com/media/en/technical-documentation/data-sheets/AD5821.pdf

Some camera modules also refer that AD5823 is a replacement of AD5820:
https://download.kamami.com/p564094-OV8865_DS.pdf

Suggested-by: Pavel Machek <pa...@ucw.cz>
Signed-off-by: Ricardo Ribalda Delgado <riba...@kernel.org>
Acked-by: Pavel Machek <pa...@ucw.cz>
---
 drivers/media/i2c/ad5820.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/media/i2c/ad5820.c b/drivers/media/i2c/ad5820.c
index 5651609e5095..19c74db0649f 100644
--- a/drivers/media/i2c/ad5820.c
+++ b/drivers/media/i2c/ad5820.c
@@ -25,8 +25,6 @@
 #include <media/v4l2-device.h>
 #include <media/v4l2-subdev.h>
 
-#define AD5820_NAME            "ad5820"
-
 /* Register definitions */
 #define AD5820_POWER_DOWN              (1 << 15)
 #define AD5820_DAC_SHIFT               4
@@ -359,13 +357,17 @@ static int ad5820_remove(struct i2c_client *client)
 }
 
 static const struct i2c_device_id ad5820_id_table[] = {
-       { AD5820_NAME, 0 },
+       { "ad5820", 0 },
+       { "ad5821", 0 },
+       { "ad5823", 0 },
        { }
 };
 MODULE_DEVICE_TABLE(i2c, ad5820_id_table);
 
 static const struct of_device_id ad5820_of_table[] = {
        { .compatible = "adi,ad5820" },
+       { .compatible = "adi,ad5821" },
+       { .compatible = "adi,ad5823" },
        { }
 };
 MODULE_DEVICE_TABLE(of, ad5820_of_table);
@@ -374,7 +376,7 @@ static SIMPLE_DEV_PM_OPS(ad5820_pm, ad5820_suspend, 
ad5820_resume);
 
 static struct i2c_driver ad5820_i2c_driver = {
        .driver         = {
-               .name   = AD5820_NAME,
+               .name   = "ad5820",
                .pm     = &ad5820_pm,
                .of_match_table = ad5820_of_table,
        },
-- 
2.23.0

Reply via email to