From 48e3593c8266b7b6c03f3055946fd9154f18c656 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.com>
Date: Thu, 12 May 2022 17:42:08 +0100
Subject: [PATCH 0373/1085] media: i2c: arducam-pivariety: Fixup for mainline
 API changes

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 | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

--- a/drivers/media/i2c/arducam-pivariety.c
+++ b/drivers/media/i2c/arducam-pivariety.c
@@ -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(str
 				     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;
 }
