Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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

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>
Reviewed-by: Ricardo Ribalda <ribalda@chromium.org>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>

authored by

Hans de Goede and committed by
Mauro Carvalho Chehab
f126ff7e 9b4e0e7a

-2
-2
drivers/media/i2c/ad5820.c
··· 349 349 static const struct i2c_device_id ad5820_id_table[] = { 350 350 { "ad5820", 0 }, 351 351 { "ad5821", 0 }, 352 - { "ad5823", 0 }, 353 352 { } 354 353 }; 355 354 MODULE_DEVICE_TABLE(i2c, ad5820_id_table); ··· 356 357 static const struct of_device_id ad5820_of_table[] = { 357 358 { .compatible = "adi,ad5820" }, 358 359 { .compatible = "adi,ad5821" }, 359 - { .compatible = "adi,ad5823" }, 360 360 { } 361 361 }; 362 362 MODULE_DEVICE_TABLE(of, ad5820_of_table);