diff mbox series

media: ad5820: Drop unsupported ad5823 from i2c_ and of_device_id tables

Message ID 20230618181740.42432-1-hdegoede@redhat.com
State Accepted
Commit f126ff7e4024f6704e6ec0d4137037568708a3c7
Headers show
Series media: ad5820: Drop unsupported ad5823 from i2c_ and of_device_id tables | expand

Commit Message

Hans de Goede June 18, 2023, 6:17 p.m. UTC
The supported ad5820 and ad5821 VCMs both use a single 16 bit register
which is written by sending 2 bytes with the data directly after sending
the i2c-client address.

The ad5823 OTOH has a more typical i2c / smbus device setup with multiple
8 bit registers where the first byte send after the i2c-client address is
the register address and the actual data only starts from the second byte
after the i2c-client address.

The ad5823 i2c_ and of_device_id-s was added at the same time as
the ad5821 ids with as rationale:

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

The AD5823 may be an electrical and functional replacement of the AD5820,
but from a software pov it is not compatible at all and it is going to
need its own driver, drop its id from the ad5820 driver.

Fixes: b8bf73136bae ("media: ad5820: Add support for ad5821 and ad5823")
Cc: Pavel Machek <pavel@ucw.cz>
Cc: Ricardo Ribalda Delgado <ribalda@kernel.org>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
 drivers/media/i2c/ad5820.c | 2 --
 1 file changed, 2 deletions(-)

Comments

Ricardo Ribalda Delgado June 19, 2023, 7:17 a.m. UTC | #1
Hi Hans

Thanks for your patch.

When we added support for this  we had no access to the datasheet.

Regards

On Sun, Jun 18, 2023 at 8:17 PM Hans de Goede <hdegoede@redhat.com> wrote:
>
> Fixes: b8bf73136bae ("media: ad5820: Add support for ad5821 and ad5823")
> Cc: Pavel Machek <pavel@ucw.cz>
> Cc: Ricardo Ribalda Delgado <ribalda@kernel.org>
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Ricardo Ribalda <ribalda@chromium.org>
diff mbox series

Patch

diff --git a/drivers/media/i2c/ad5820.c b/drivers/media/i2c/ad5820.c
index 5f605b9be3b1..1543d24f522c 100644
--- a/drivers/media/i2c/ad5820.c
+++ b/drivers/media/i2c/ad5820.c
@@ -349,7 +349,6 @@  static void ad5820_remove(struct i2c_client *client)
 static const struct i2c_device_id ad5820_id_table[] = {
 	{ "ad5820", 0 },
 	{ "ad5821", 0 },
-	{ "ad5823", 0 },
 	{ }
 };
 MODULE_DEVICE_TABLE(i2c, ad5820_id_table);
@@ -357,7 +356,6 @@  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);