To avoid making the cal_ctx structure layoug depend on the size of the
cal_formats array, allocate the active_fmt array dynamically. This
prepares for splitting the driver in multiple files.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Benoit Parrot <bparrot@ti.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
struct v4l2_mbus_framefmt m_fmt;
/* Current subdev enumerated format */
- const struct cal_fmt *active_fmt[ARRAY_SIZE(cal_formats)];
+ const struct cal_fmt **active_fmt;
unsigned int num_active_fmt;
unsigned int sequence;
int ret = 0;
/* Enumerate sub device formats and enable all matching local formats */
+ ctx->active_fmt = devm_kcalloc(ctx->cal->dev, ARRAY_SIZE(cal_formats),
+ sizeof(*ctx->active_fmt), GFP_KERNEL);
+ if (!ctx->active_fmt)
+ return -ENOMEM;
+
ctx->num_active_fmt = 0;
+
for (j = 0, i = 0; ret != -EINVAL; ++j) {
memset(&mbus_code, 0, sizeof(mbus_code));