staging: vc04_services: Re-use generic struct s32_fract
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Wed, 4 May 2022 09:29:15 +0000 (12:29 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 5 May 2022 21:19:14 +0000 (23:19 +0200)
Instead of custom data type re-use generic struct s32_fract.
No changes intended.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20220504092915.72021-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c
drivers/staging/vc04_services/bcm2835-camera/controls.c
drivers/staging/vc04_services/vchiq-mmal/mmal-msg-common.h
drivers/staging/vc04_services/vchiq-mmal/mmal-msg-format.h
drivers/staging/vc04_services/vchiq-mmal/mmal-parameters.h
drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c

index 88b1878..fd456d1 100644 (file)
@@ -1033,9 +1033,9 @@ static int mmal_setup_video_component(struct bcm2835_mmal_dev *dev,
        preview_port->es.video.crop.y = 0;
        preview_port->es.video.crop.width = f->fmt.pix.width;
        preview_port->es.video.crop.height = f->fmt.pix.height;
-       preview_port->es.video.frame_rate.num =
+       preview_port->es.video.frame_rate.numerator =
                                  dev->capture.timeperframe.denominator;
-       preview_port->es.video.frame_rate.den =
+       preview_port->es.video.frame_rate.denominator =
                                  dev->capture.timeperframe.numerator;
        ret = vchiq_mmal_port_set_format(dev->instance, preview_port);
 
@@ -1084,9 +1084,9 @@ static int mmal_setup_encode_component(struct bcm2835_mmal_dev *dev,
        port->es.video.crop.y = 0;
        port->es.video.crop.width = f->fmt.pix.width;
        port->es.video.crop.height = f->fmt.pix.height;
-       port->es.video.frame_rate.num =
+       port->es.video.frame_rate.numerator =
                  dev->capture.timeperframe.denominator;
-       port->es.video.frame_rate.den =
+       port->es.video.frame_rate.denominator =
                  dev->capture.timeperframe.numerator;
 
        port->format.encoding = mfmt->mmal;
@@ -1225,8 +1225,8 @@ static int mmal_setup_components(struct bcm2835_mmal_dev *dev,
        camera_port->es.video.crop.y = 0;
        camera_port->es.video.crop.width = f->fmt.pix.width;
        camera_port->es.video.crop.height = f->fmt.pix.height;
-       camera_port->es.video.frame_rate.num = 0;
-       camera_port->es.video.frame_rate.den = 1;
+       camera_port->es.video.frame_rate.numerator = 0;
+       camera_port->es.video.frame_rate.denominator = 1;
        camera_port->es.video.color_space = MMAL_COLOR_SPACE_JPEG_JFIF;
 
        ret = vchiq_mmal_port_set_format(dev->instance, camera_port);
@@ -1629,8 +1629,8 @@ static int mmal_init(struct bcm2835_mmal_dev *dev)
        format->es->video.crop.y = 0;
        format->es->video.crop.width = 1024;
        format->es->video.crop.height = 768;
-       format->es->video.frame_rate.num = 0; /* Rely on fps_range */
-       format->es->video.frame_rate.den = 1;
+       format->es->video.frame_rate.numerator = 0; /* Rely on fps_range */
+       format->es->video.frame_rate.denominator = 1;
 
        format = &camera->output[CAM_PORT_VIDEO].format;
 
@@ -1643,8 +1643,8 @@ static int mmal_init(struct bcm2835_mmal_dev *dev)
        format->es->video.crop.y = 0;
        format->es->video.crop.width = 1024;
        format->es->video.crop.height = 768;
-       format->es->video.frame_rate.num = 0; /* Rely on fps_range */
-       format->es->video.frame_rate.den = 1;
+       format->es->video.frame_rate.numerator = 0; /* Rely on fps_range */
+       format->es->video.frame_rate.denominator = 1;
 
        format = &camera->output[CAM_PORT_CAPTURE].format;
 
@@ -1656,8 +1656,8 @@ static int mmal_init(struct bcm2835_mmal_dev *dev)
        format->es->video.crop.y = 0;
        format->es->video.crop.width = 2592;
        format->es->video.crop.height = 1944;
-       format->es->video.frame_rate.num = 0; /* Rely on fps_range */
-       format->es->video.frame_rate.den = 1;
+       format->es->video.frame_rate.numerator = 0; /* Rely on fps_range */
+       format->es->video.frame_rate.denominator = 1;
 
        dev->capture.width = format->es->video.width;
        dev->capture.height = format->es->video.height;
index eb722f1..5644d1d 100644 (file)
@@ -154,13 +154,13 @@ static int ctrl_set_rational(struct bcm2835_mmal_dev *dev,
                             struct v4l2_ctrl *ctrl,
                             const struct bcm2835_mmal_v4l2_ctrl *mmal_ctrl)
 {
-       struct mmal_parameter_rational rational_value;
+       struct s32_fract rational_value;
        struct vchiq_mmal_port *control;
 
        control = &dev->component[COMP_CAMERA]->control;
 
-       rational_value.num = ctrl->val;
-       rational_value.den = 100;
+       rational_value.numerator = ctrl->val;
+       rational_value.denominator = 100;
 
        return vchiq_mmal_port_parameter_set(dev->instance, control,
                                             mmal_ctrl->mmal_id,
@@ -489,9 +489,10 @@ static int ctrl_set_awb_gains(struct bcm2835_mmal_dev *dev,
        else if (ctrl->id == V4L2_CID_BLUE_BALANCE)
                dev->blue_gain = ctrl->val;
 
-       gains.r_gain.num = dev->red_gain;
-       gains.b_gain.num = dev->blue_gain;
-       gains.r_gain.den = gains.b_gain.den = 1000;
+       gains.r_gain.numerator = dev->red_gain;
+       gains.r_gain.denominator = 1000;
+       gains.b_gain.numerator = dev->blue_gain;
+       gains.b_gain.denominator = 1000;
 
        return vchiq_mmal_port_parameter_set(dev->instance, control,
                                             mmal_ctrl->mmal_id,
@@ -1271,26 +1272,26 @@ int set_framerate_params(struct bcm2835_mmal_dev *dev)
        struct mmal_parameter_fps_range fps_range;
        int ret;
 
-       fps_range.fps_high.num = dev->capture.timeperframe.denominator;
-       fps_range.fps_high.den = dev->capture.timeperframe.numerator;
+       fps_range.fps_high.numerator = dev->capture.timeperframe.denominator;
+       fps_range.fps_high.denominator = dev->capture.timeperframe.numerator;
 
        if ((dev->exposure_mode_active != MMAL_PARAM_EXPOSUREMODE_OFF) &&
            (dev->exp_auto_priority)) {
                /* Variable FPS. Define min FPS as 1fps. */
-               fps_range.fps_low.num = 1;
-               fps_range.fps_low.den = 1;
+               fps_range.fps_low.numerator = 1;
+               fps_range.fps_low.denominator = 1;
        } else {
                /* Fixed FPS - set min and max to be the same */
-               fps_range.fps_low.num = fps_range.fps_high.num;
-               fps_range.fps_low.den = fps_range.fps_high.den;
+               fps_range.fps_low.numerator = fps_range.fps_high.numerator;
+               fps_range.fps_low.denominator = fps_range.fps_high.denominator;
        }
 
        v4l2_dbg(1, bcm2835_v4l2_debug, &dev->v4l2_dev,
                 "Set fps range to %d/%d to %d/%d\n",
-                fps_range.fps_low.num,
-                fps_range.fps_low.den,
-                fps_range.fps_high.num,
-                fps_range.fps_high.den);
+                fps_range.fps_low.numerator,
+                fps_range.fps_low.denominator,
+                fps_range.fps_high.numerator,
+                fps_range.fps_high.denominator);
 
        ret = vchiq_mmal_port_parameter_set(dev->instance,
                                            &dev->component[COMP_CAMERA]->output[CAM_PORT_PREVIEW],
index d77e15f..492d4c5 100644 (file)
@@ -14,6 +14,8 @@
 #ifndef MMAL_MSG_COMMON_H
 #define MMAL_MSG_COMMON_H
 
+#include <linux/types.h>
+
 enum mmal_msg_status {
        MMAL_MSG_STATUS_SUCCESS = 0, /**< Success */
        MMAL_MSG_STATUS_ENOMEM,      /**< Out of memory */
@@ -40,9 +42,4 @@ struct mmal_rect {
        s32 height; /**< height */
 };
 
-struct mmal_rational {
-       s32 num;    /**< Numerator */
-       s32 den;    /**< Denominator */
-};
-
 #endif /* MMAL_MSG_COMMON_H */
index 1e996d8..5569876 100644 (file)
@@ -14,6 +14,8 @@
 #ifndef MMAL_MSG_FORMAT_H
 #define MMAL_MSG_FORMAT_H
 
+#include <linux/math.h>
+
 #include "mmal-msg-common.h"
 
 /* MMAL_ES_FORMAT_T */
@@ -30,8 +32,8 @@ struct mmal_video_format {
        u32 width;              /* Width of frame in pixels */
        u32 height;             /* Height of frame in rows of pixels */
        struct mmal_rect crop;  /* Visible region of the frame */
-       struct mmal_rational frame_rate;        /* Frame rate */
-       struct mmal_rational par;               /* Pixel aspect ratio */
+       struct s32_fract frame_rate;    /* Frame rate */
+       struct s32_fract par;           /* Pixel aspect ratio */
 
        /*
         * FourCC specifying the color space of the video stream. See the
index 2277e05..a0cdd28 100644 (file)
@@ -22,6 +22,8 @@
 #ifndef MMAL_PARAMETERS_H
 #define MMAL_PARAMETERS_H
 
+#include <linux/math.h>
+
 /** Common parameter ID group, used with many types of component. */
 #define MMAL_PARAMETER_GROUP_COMMON            (0 << 16)
 /** Camera-specific parameter ID group. */
@@ -223,11 +225,6 @@ enum mmal_parameter_camera_type {
        MMAL_PARAMETER_CUSTOM_AWB_GAINS,
 };
 
-struct mmal_parameter_rational {
-       s32 num;    /**< Numerator */
-       s32 den;    /**< Denominator */
-};
-
 enum mmal_parameter_camera_config_timestamp_mode {
        MMAL_PARAM_TIMESTAMP_MODE_ZERO = 0, /* Always timestamp frames as 0 */
        MMAL_PARAM_TIMESTAMP_MODE_RAW_STC,  /* Use the raw STC value
@@ -243,9 +240,9 @@ enum mmal_parameter_camera_config_timestamp_mode {
 
 struct mmal_parameter_fps_range {
        /**< Low end of the permitted framerate range */
-       struct mmal_parameter_rational  fps_low;
+       struct s32_fract        fps_low;
        /**< High end of the permitted framerate range */
-       struct mmal_parameter_rational  fps_high;
+       struct s32_fract        fps_high;
 };
 
 /* camera configuration parameter */
@@ -350,8 +347,8 @@ enum MMAL_PARAM_FLICKERAVOID {
 };
 
 struct mmal_parameter_awbgains {
-       struct mmal_parameter_rational r_gain;  /**< Red gain */
-       struct mmal_parameter_rational b_gain;  /**< Blue gain */
+       struct s32_fract r_gain;        /**< Red gain */
+       struct s32_fract b_gain;        /**< Blue gain */
 };
 
 /** Manner of video rate control */
index 249dd3e..845b20e 100644 (file)
@@ -744,9 +744,9 @@ static void dump_port_info(struct vchiq_mmal_port *port)
                         port->es.video.crop.y,
                         port->es.video.crop.width, port->es.video.crop.height);
                pr_debug("               : framerate %d/%d  aspect %d/%d\n",
-                        port->es.video.frame_rate.num,
-                        port->es.video.frame_rate.den,
-                        port->es.video.par.num, port->es.video.par.den);
+                        port->es.video.frame_rate.numerator,
+                        port->es.video.frame_rate.denominator,
+                        port->es.video.par.numerator, port->es.video.par.denominator);
        }
 }
 
@@ -1549,8 +1549,8 @@ int vchiq_mmal_port_connect_tunnel(struct vchiq_mmal_instance *instance,
        dst->es.video.crop.y = src->es.video.crop.y;
        dst->es.video.crop.width = src->es.video.crop.width;
        dst->es.video.crop.height = src->es.video.crop.height;
-       dst->es.video.frame_rate.num = src->es.video.frame_rate.num;
-       dst->es.video.frame_rate.den = src->es.video.frame_rate.den;
+       dst->es.video.frame_rate.numerator = src->es.video.frame_rate.numerator;
+       dst->es.video.frame_rate.denominator = src->es.video.frame_rate.denominator;
 
        /* set new format */
        ret = port_info_set(instance, dst);