summaryrefslogtreecommitdiff
path: root/drivers/media/platform/qcom/camss/camss-csid.c
diff options
context:
space:
mode:
authorBryan O'Donoghue <bryan.odonoghue@linaro.org>2023-09-25 16:46:57 +0100
committerHans Verkuil <hverkuil-cisco@xs4all.nl>2023-10-07 10:55:44 +0200
commitc23c7998161595b19ee1162da09609c31b5b4393 (patch)
treebf1655adccdd6ee168cefc6f150cbc86d29f297a /drivers/media/platform/qcom/camss/camss-csid.c
parent91719b27926a2e382dba8cb161cb244aebddad71 (diff)
media: qcom: camss: Pass CAMSS subdev callbacks via resource ops pointer
It is possible to pass all of the CAMSS subdevice internal operations pointers from the controlling resources structure with an additional pointer added to the resources structure. This allows for the removal of most of the probe-time control structures. Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Diffstat (limited to 'drivers/media/platform/qcom/camss/camss-csid.c')
-rw-r--r--drivers/media/platform/qcom/camss/camss-csid.c12
1 files changed, 1 insertions, 11 deletions
diff --git a/drivers/media/platform/qcom/camss/camss-csid.c b/drivers/media/platform/qcom/camss/camss-csid.c
index 14abb7a7ceb4..99f651e2021c 100644
--- a/drivers/media/platform/qcom/camss/camss-csid.c
+++ b/drivers/media/platform/qcom/camss/camss-csid.c
@@ -575,18 +575,8 @@ int msm_csid_subdev_init(struct camss *camss, struct csid_device *csid,
csid->camss = camss;
csid->id = id;
+ csid->ops = res->ops;
- if (camss->res->version == CAMSS_8x16) {
- csid->ops = &csid_ops_4_1;
- } else if (camss->res->version == CAMSS_8x96 ||
- camss->res->version == CAMSS_660) {
- csid->ops = &csid_ops_4_7;
- } else if (camss->res->version == CAMSS_845 ||
- camss->res->version == CAMSS_8250) {
- csid->ops = &csid_ops_gen2;
- } else {
- return -EINVAL;
- }
csid->ops->subdev_init(csid);
/* Memory */