diff options
author | Sakari Ailus <sakari.ailus@linux.intel.com> | 2017-09-21 11:24:53 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@osg.samsung.com> | 2017-10-04 17:23:13 -0300 |
commit | 880d45f8fcbacfa239533151f324210975698e0e (patch) | |
tree | 0d88c6761a112af4acda587d9cb5e0aef12f9d6d | |
parent | 58020c9f14c8d884fd48434fbdbc659257cf46f3 (diff) | |
download | op-kernel-dev-880d45f8fcbacfa239533151f324210975698e0e.zip op-kernel-dev-880d45f8fcbacfa239533151f324210975698e0e.tar.gz |
[media] ov13858: Use do_div() for dividing a 64-bit number
ov13858 contained a 64-bit division. Use do_div() for calculating it.
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Tested-by: Chiranjeevi Rapolu <chiranjeevi.rapolu@intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
-rw-r--r-- | drivers/media/i2c/ov13858.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/drivers/media/i2c/ov13858.c b/drivers/media/i2c/ov13858.c index 2bd6599..fdce2be 100644 --- a/drivers/media/i2c/ov13858.c +++ b/drivers/media/i2c/ov13858.c @@ -951,7 +951,13 @@ static const char * const ov13858_test_pattern_menu[] = { * pixel_rate = link_freq * data-rate * nr_of_lanes / bits_per_sample * data rate => double data rate; number of lanes => 4; bits per pixel => 10 */ -#define LINK_FREQ_TO_PIXEL_RATE(f) (((f) * 2 * 4) / 10) +static u64 link_freq_to_pixel_rate(u64 f) +{ + f *= 2 * 4; + do_div(f, 10); + + return f; +} /* Menu items for LINK_FREQ V4L2 control */ static const s64 link_freq_menu_items[OV13858_NUM_OF_LINK_FREQS] = { @@ -1404,7 +1410,7 @@ ov13858_set_pad_format(struct v4l2_subdev *sd, ov13858->cur_mode = mode; __v4l2_ctrl_s_ctrl(ov13858->link_freq, mode->link_freq_index); link_freq = link_freq_menu_items[mode->link_freq_index]; - pixel_rate = LINK_FREQ_TO_PIXEL_RATE(link_freq); + pixel_rate = link_freq_to_pixel_rate(link_freq); __v4l2_ctrl_s_ctrl_int64(ov13858->pixel_rate, pixel_rate); /* Update limits and set FPS to default */ @@ -1642,8 +1648,8 @@ static int ov13858_init_controls(struct ov13858 *ov13858) link_freq_menu_items); ov13858->link_freq->flags |= V4L2_CTRL_FLAG_READ_ONLY; - pixel_rate_max = LINK_FREQ_TO_PIXEL_RATE(link_freq_menu_items[0]); - pixel_rate_min = LINK_FREQ_TO_PIXEL_RATE(link_freq_menu_items[1]); + pixel_rate_max = link_freq_to_pixel_rate(link_freq_menu_items[0]); + pixel_rate_min = link_freq_to_pixel_rate(link_freq_menu_items[1]); /* By default, PIXEL_RATE is read only */ ov13858->pixel_rate = v4l2_ctrl_new_std(ctrl_hdlr, &ov13858_ctrl_ops, V4L2_CID_PIXEL_RATE, |