summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuis Garcia <git@luigi311.com>2024-05-01 09:24:41 -0600
committerHans Verkuil <hverkuil-cisco@xs4all.nl>2024-06-04 08:31:24 +0200
commitfdf63603cee6c51609d9f2d987c5107106abf7ca (patch)
tree86bb903a7fd2d50c5eaf419321dc947e7996b4fc
parent4c05213aeed73ef055430e619bd7b40f6839de0e (diff)
downloadlwn-fdf63603cee6c51609d9f2d987c5107106abf7ca.tar.gz
lwn-fdf63603cee6c51609d9f2d987c5107106abf7ca.zip
media: i2c: imx258: Use v4l2_link_freq_to_bitmap helper
Use the v4l2_link_freq_to_bitmap() helper to figure out which driver-supported link freq can be used on a given system. Signed-off-by: Luis Garcia <git@luigi311.com> Reviewed-by: Pavel Machek <pavel@ucw.cz> Reviewed-by: Tommaso Merciai <tomm.merciai@gmail.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
-rw-r--r--drivers/media/i2c/imx258.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/media/i2c/imx258.c b/drivers/media/i2c/imx258.c
index f043200e336e..a38c80342eea 100644
--- a/drivers/media/i2c/imx258.c
+++ b/drivers/media/i2c/imx258.c
@@ -693,6 +693,7 @@ struct imx258 {
/* Current mode */
const struct imx258_mode *cur_mode;
+ unsigned long link_freq_bitmap;
const struct imx258_link_freq_config *link_freq_configs;
const s64 *link_freq_menu_items;
unsigned int lane_mode_idx;
@@ -1538,6 +1539,17 @@ static int imx258_probe(struct i2c_client *client)
return ret;
}
+ ret = v4l2_link_freq_to_bitmap(&client->dev,
+ ep.link_frequencies,
+ ep.nr_of_link_frequencies,
+ imx258->link_freq_menu_items,
+ ARRAY_SIZE(link_freq_menu_items_19_2),
+ &imx258->link_freq_bitmap);
+ if (ret) {
+ dev_err(&client->dev, "Link frequency not supported\n");
+ goto error_endpoint_free;
+ }
+
/* Get number of data lanes */
switch (ep.bus.mipi_csi2.num_data_lanes) {
case 2: