Introduce new helpers to ease getting information about the bridge.
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com>
---
.../sunxi/sun6i-csi/sun6i_csi_bridge.c | 20 +++++++++++++++++++
.../sunxi/sun6i-csi/sun6i_csi_bridge.h | 7 +++++++
2 files changed, 27 insertions(+)
@@ -12,6 +12,26 @@
#include "sun6i_csi.h"
#include "sun6i_csi_bridge.h"
+/* Helpers */
+
+void sun6i_csi_bridge_dimensions(struct sun6i_csi_device *csi_dev,
+ unsigned int *width, unsigned int *height)
+{
+ if (width)
+ *width = csi_dev->bridge.mbus_format.width;
+ if (height)
+ *height = csi_dev->bridge.mbus_format.height;
+}
+
+void sun6i_csi_bridge_format(struct sun6i_csi_device *csi_dev,
+ u32 *mbus_code, u32 *field)
+{
+ if (mbus_code)
+ *mbus_code = csi_dev->bridge.mbus_format.code;
+ if (field)
+ *field = csi_dev->bridge.mbus_format.field;
+}
+
/* Format */
static const u32 sun6i_csi_bridge_mbus_codes[] = {
@@ -41,6 +41,13 @@ struct sun6i_csi_bridge {
struct sun6i_csi_bridge_source source_parallel;
};
+/* Helpers */
+
+void sun6i_csi_bridge_dimensions(struct sun6i_csi_device *csi_dev,
+ unsigned int *width, unsigned int *height);
+void sun6i_csi_bridge_format(struct sun6i_csi_device *csi_dev,
+ u32 *mbus_code, u32 *field);
+
/* Bridge */
int sun6i_csi_bridge_setup(struct sun6i_csi_device *csi_dev);