@@ -951,7 +951,12 @@ 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)
+#define LINK_FREQ_TO_PIXEL_RATE(f) \
+ ({ \
+ u64 __link_freq_to_pixel_rate_tmp = (f) * 2 * 4; \
+ do_div(__link_freq_to_pixel_rate_tmp, 10); \
+ __link_freq_to_pixel_rate_tmp; \
+ })
/* Menu items for LINK_FREQ V4L2 control */
static const s64 link_freq_menu_items[OV13858_NUM_OF_LINK_FREQS] = {
ov13858 contained a 64-bit division. Use do_div() for calculating it. Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> --- drivers/media/i2c/ov13858.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)