media: i2c: arducam-pivariety: Fixup for mainline API changes
authorDave Stevenson <dave.stevenson@raspberrypi.com>
Thu, 12 May 2022 16:42:08 +0000 (17:42 +0100)
committerDom Cobley <popcornmix@gmail.com>
Mon, 19 Feb 2024 11:33:22 +0000 (11:33 +0000)
Mainline APIs have changed the way in which the bus flags and
number of active CSI2 data lanes is signalled, so fix the driver
up accordingly.

Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
drivers/media/i2c/arducam-pivariety.c

index 651c026..5ef8b21 100644 (file)
@@ -66,7 +66,7 @@ struct pivariety {
        struct v4l2_subdev sd;
        struct media_pad pad;
 
-       struct v4l2_fwnode_bus_mipi_csi2 bus;
+       struct v4l2_mbus_config_mipi_csi2 bus;
        struct clk *xclk;
        u32 xclk_freq;
 
@@ -946,13 +946,13 @@ static int pivariety_get_mbus_config(struct v4l2_subdev *sd, unsigned int pad,
                                     struct v4l2_mbus_config *cfg)
 {
        struct pivariety *pivariety = to_pivariety(sd);
-       const u32 mask = V4L2_MBUS_CSI2_LANE_MASK;
 
        if (pivariety->lanes > pivariety->bus.num_data_lanes)
                return -EINVAL;
 
        cfg->type = V4L2_MBUS_CSI2_DPHY;
-       cfg->flags = (pivariety->lanes << __ffs(mask)) & mask;
+       cfg->bus.mipi_csi2.flags = pivariety->bus.flags;
+       cfg->bus.mipi_csi2.num_data_lanes = pivariety->lanes;
 
        return 0;
 }