Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

V4L/DVB (10975): Bug: Use signed types, Offsets and range can be negative

Code simplification: use in kernel macros

Signed-off-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

authored by

Manu Abraham and committed by
Mauro Carvalho Chehab
b5d067b8 d284e4f7

+11 -15
+7 -7
drivers/media/dvb/frontends/stb0899_algo.c
··· 156 156 } 157 157 158 158 if (range > 0) 159 - internal->sub_range = MIN(internal->srch_range, range); 159 + internal->sub_range = min(internal->srch_range, range); 160 160 else 161 161 internal->sub_range = 0; 162 162 ··· 185 185 timing = stb0899_read_reg(state, STB0899_RTF); 186 186 187 187 if (lock >= 42) { 188 - if ((lock > 48) && (ABS(timing) >= 110)) { 188 + if ((lock > 48) && (abs(timing) >= 110)) { 189 189 internal->status = ANALOGCARRIER; 190 190 dprintk(state->verbose, FE_DEBUG, 1, "-->ANALOG Carrier !"); 191 191 } else { ··· 222 222 index++; 223 223 derot_freq += index * internal->direction * derot_step; /* next derot zig zag position */ 224 224 225 - if (ABS(derot_freq) > derot_limit) 225 + if (abs(derot_freq) > derot_limit) 226 226 next_loop--; 227 227 228 228 if (next_loop) { ··· 298 298 last_derot_freq = derot_freq; 299 299 derot_freq += index * internal->direction * internal->derot_step; /* next zig zag derotator position */ 300 300 301 - if(ABS(derot_freq) > derot_limit) 301 + if(abs(derot_freq) > derot_limit) 302 302 next_loop--; 303 303 304 304 if (next_loop) { ··· 400 400 if ((internal->status != CARRIEROK) || (stb0899_check_data(state) != DATAOK)) { 401 401 402 402 derot_freq += index * internal->direction * derot_step; /* next zig zag derotator position */ 403 - if (ABS(derot_freq) > derot_limit) 403 + if (abs(derot_freq) > derot_limit) 404 404 next_loop--; 405 405 406 406 if (next_loop) { ··· 467 467 468 468 if (internal->sub_dir > 0) { 469 469 old_sub_range = internal->sub_range; 470 - internal->sub_range = MIN((internal->srch_range / 2) - 470 + internal->sub_range = min((internal->srch_range / 2) - 471 471 (internal->tuner_offst + internal->sub_range / 2), 472 472 internal->sub_range); 473 473 ··· 771 771 int i; 772 772 773 773 i = 0; 774 - while ((1 << i) <= ABS(number)) 774 + while ((1 << i) <= abs(number)) 775 775 i++; 776 776 777 777 if (number == 0)
+4 -8
drivers/media/dvb/frontends/stb0899_priv.h
··· 59 59 #define MAKEWORD32(a, b, c, d) (((a) << 24) | ((b) << 16) | ((c) << 8) | (d)) 60 60 #define MAKEWORD16(a, b) (((a) << 8) | (b)) 61 61 62 - #define MIN(x, y) ((x) <= (y) ? (x) : (y)) 63 - #define MAX(x, y) ((x) >= (y) ? (x) : (y)) 64 - #define ABS(x) ((x) >= 0 ? (x) : -(x)) 65 - 66 62 #define LSB(x) ((x & 0xff)) 67 63 #define MSB(y) ((y >> 8) & 0xff) 68 64 ··· 164 168 u32 freq; /* Demod internal Frequency */ 165 169 u32 srate; /* Demod internal Symbol rate */ 166 170 enum stb0899_fec fecrate; /* Demod internal FEC rate */ 167 - u32 srch_range; /* Demod internal Search Range */ 168 - u32 sub_range; /* Demod current sub range (Hz) */ 169 - u32 tuner_step; /* Tuner step (Hz) */ 170 - u32 tuner_offst; /* Relative offset to carrier (Hz) */ 171 + s32 srch_range; /* Demod internal Search Range */ 172 + s32 sub_range; /* Demod current sub range (Hz) */ 173 + s32 tuner_step; /* Tuner step (Hz) */ 174 + s32 tuner_offst; /* Relative offset to carrier (Hz) */ 171 175 u32 tuner_bw; /* Current bandwidth of the tuner (Hz) */ 172 176 173 177 s32 mclk; /* Masterclock Divider factor (binary) */