Add device data specific to DT compatible ID to tell SMIA and CCS devices apart already in power-up. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> --- drivers/media/i2c/ccs/ccs-core.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/drivers/media/i2c/ccs/ccs-core.c b/drivers/media/i2c/ccs/ccs-core.c index 4bc483db6001..93c0da53f03f 100644 --- a/drivers/media/i2c/ccs/ccs-core.c +++ b/drivers/media/i2c/ccs/ccs-core.c @@ -59,6 +59,12 @@ static const struct ccs_module_ident ccs_module_idents[] = { CCS_IDENT_LQ(0x10, 0x4241, -1, "imx125es", &smiapp_imx125es_quirk), }; +#define CCS_DEVICE_FLAG_IS_SMIA BIT(0) + +struct ccs_device { + unsigned char flags; +}; + /* * * Dynamic Capability Identification @@ -3277,9 +3283,15 @@ static int ccs_remove(struct i2c_client *client) return 0; } +static const struct ccs_device smia_device = { + .flags = CCS_DEVICE_FLAG_IS_SMIA, +}; + +static const struct ccs_device ccs_device = {}; + static const struct of_device_id ccs_of_table[] = { - { .compatible = "nokia,smia" }, - { .compatible = "mipi,ccs" }, + { .compatible = "nokia,smia", .data = &smia_device }, + { .compatible = "mipi,ccs", .data = &ccs_device }, { }, }; MODULE_DEVICE_TABLE(of, ccs_of_table); -- 2.27.0