Skip to content

Commit ae1a616

Browse files
committed
Merge tag 'staging-5.3-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging
Pull staging/IIO fixes from Greg KH: "Here are four small staging and iio driver fixes for 5.3-rc5 Two are for the dt3000 comedi driver for some reported problems found in that codebase, and two are some small iio fixes. All of these have been in linux-next this week with no reported issues" * tag 'staging-5.3-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: staging: comedi: dt3000: Fix rounding up of timer divisor staging: comedi: dt3000: Fix signed integer overflow 'divider * base' iio: adc: max9611: Fix temperature reading in probe iio: frequency: adf4371: Fix output frequency setting
2 parents 359334c + 48b30e1 commit ae1a616

File tree

3 files changed

+9
-9
lines changed

3 files changed

+9
-9
lines changed

drivers/iio/adc/max9611.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -480,7 +480,7 @@ static int max9611_init(struct max9611_dev *max9611)
480480
if (ret)
481481
return ret;
482482

483-
regval = ret & MAX9611_TEMP_MASK;
483+
regval &= MAX9611_TEMP_MASK;
484484

485485
if ((regval > MAX9611_TEMP_MAX_POS &&
486486
regval < MAX9611_TEMP_MIN_NEG) ||

drivers/iio/frequency/adf4371.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -276,11 +276,11 @@ static int adf4371_set_freq(struct adf4371_state *st, unsigned long long freq,
276276
st->buf[0] = st->integer >> 8;
277277
st->buf[1] = 0x40; /* REG12 default */
278278
st->buf[2] = 0x00;
279-
st->buf[3] = st->fract2 & 0xFF;
280-
st->buf[4] = st->fract2 >> 7;
281-
st->buf[5] = st->fract2 >> 15;
279+
st->buf[3] = st->fract1 & 0xFF;
280+
st->buf[4] = st->fract1 >> 8;
281+
st->buf[5] = st->fract1 >> 16;
282282
st->buf[6] = ADF4371_FRAC2WORD_L(st->fract2 & 0x7F) |
283-
ADF4371_FRAC1WORD(st->fract1 >> 23);
283+
ADF4371_FRAC1WORD(st->fract1 >> 24);
284284
st->buf[7] = ADF4371_FRAC2WORD_H(st->fract2 >> 7);
285285
st->buf[8] = st->mod2 & 0xFF;
286286
st->buf[9] = ADF4371_MOD2WORD(st->mod2 >> 8);

drivers/staging/comedi/drivers/dt3000.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -342,9 +342,9 @@ static irqreturn_t dt3k_interrupt(int irq, void *d)
342342
static int dt3k_ns_to_timer(unsigned int timer_base, unsigned int *nanosec,
343343
unsigned int flags)
344344
{
345-
int divider, base, prescale;
345+
unsigned int divider, base, prescale;
346346

347-
/* This function needs improvment */
347+
/* This function needs improvement */
348348
/* Don't know if divider==0 works. */
349349

350350
for (prescale = 0; prescale < 16; prescale++) {
@@ -358,7 +358,7 @@ static int dt3k_ns_to_timer(unsigned int timer_base, unsigned int *nanosec,
358358
divider = (*nanosec) / base;
359359
break;
360360
case CMDF_ROUND_UP:
361-
divider = (*nanosec) / base;
361+
divider = DIV_ROUND_UP(*nanosec, base);
362362
break;
363363
}
364364
if (divider < 65536) {
@@ -368,7 +368,7 @@ static int dt3k_ns_to_timer(unsigned int timer_base, unsigned int *nanosec,
368368
}
369369

370370
prescale = 15;
371-
base = timer_base * (1 << prescale);
371+
base = timer_base * (prescale + 1);
372372
divider = 65535;
373373
*nanosec = divider * base;
374374
return (prescale << 16) | (divider);

0 commit comments

Comments
 (0)