summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSakari Ailus <sakari.ailus@linux.intel.com>2026-01-07 14:55:40 +0200
committerHans Verkuil <hverkuil+cisco@kernel.org>2026-01-16 14:08:53 +0100
commit0b216f7f172bfa10281dd2e7ef57292415b41849 (patch)
treeef4a0307d7b66e86f587be644b19f63985fe8ee7
parent026d02ea142deb56fe997df8d29417ca6cc3b862 (diff)
media: ccs: Make supported mbus code bitmask a u64
Prepare for adding more media bus codes. Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
-rw-r--r--drivers/media/i2c/ccs/ccs-core.c9
-rw-r--r--drivers/media/i2c/ccs/ccs.h4
2 files changed, 7 insertions, 6 deletions
diff --git a/drivers/media/i2c/ccs/ccs-core.c b/drivers/media/i2c/ccs/ccs-core.c
index 062c70b0a47d..9c7f340ca9a1 100644
--- a/drivers/media/i2c/ccs/ccs-core.c
+++ b/drivers/media/i2c/ccs/ccs-core.c
@@ -13,6 +13,7 @@
* Based on smia-sensor.c by Tuukka Toivonen <tuukkat76@gmail.com>
*/
+#include <linux/bits.h>
#include <linux/clk.h>
#include <linux/delay.h>
#include <linux/device.h>
@@ -1209,7 +1210,7 @@ static int ccs_get_mbus_formats(struct ccs_sensor *sensor)
dev_dbg(&client->dev, "jolly good! %u\n", j);
- sensor->default_mbus_frame_fmts |= 1 << j;
+ sensor->default_mbus_frame_fmts |= BIT_U64(j);
}
}
@@ -1242,7 +1243,7 @@ static int ccs_get_mbus_formats(struct ccs_sensor *sensor)
f->compressed - sensor->compressed_min_bpp];
unsigned int j;
- if (!(sensor->default_mbus_frame_fmts & 1 << i))
+ if (!(sensor->default_mbus_frame_fmts & BIT_U64(i)))
continue;
pll->bits_per_pixel = f->compressed;
@@ -2090,7 +2091,7 @@ static const struct ccs_csi_data_format
unsigned int i;
for (i = 0; i < ARRAY_SIZE(ccs_csi_data_formats); i++) {
- if (sensor->mbus_frame_fmts & (1 << i) &&
+ if (sensor->mbus_frame_fmts & BIT_U64(i) &&
ccs_csi_data_formats[i].code == code)
return &ccs_csi_data_formats[i];
}
@@ -2120,7 +2121,7 @@ static int ccs_enum_mbus_code(struct v4l2_subdev *subdev,
}
for (i = 0; i < ARRAY_SIZE(ccs_csi_data_formats); i++) {
- if (sensor->mbus_frame_fmts & (1 << i))
+ if (sensor->mbus_frame_fmts & BIT_U64(i))
idx++;
if (idx == code->index) {
diff --git a/drivers/media/i2c/ccs/ccs.h b/drivers/media/i2c/ccs/ccs.h
index 51915321ef44..58952c5bf06b 100644
--- a/drivers/media/i2c/ccs/ccs.h
+++ b/drivers/media/i2c/ccs/ccs.h
@@ -222,10 +222,10 @@ struct ccs_sensor {
void *ccs_limits;
u8 nbinning_subtypes;
struct ccs_binning_subtype binning_subtypes[CCS_LIM_BINNING_SUB_TYPE_MAX_N + 1];
- u32 mbus_frame_fmts;
+ u64 mbus_frame_fmts;
const struct ccs_csi_data_format *csi_format;
const struct ccs_csi_data_format *internal_csi_format;
- u32 default_mbus_frame_fmts;
+ u64 default_mbus_frame_fmts;
int default_pixel_order;
struct ccs_data_container sdata, mdata;