mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-29 23:53:32 +00:00
Staging/IIO fixes for 5.3-rc5
Here are 4 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. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> -----BEGIN PGP SIGNATURE----- iG0EABECAC0WIQT0tgzFv3jCIUoxPcsxR9QN2y37KQUCXVkO4w8cZ3JlZ0Brcm9h aC5jb20ACgkQMUfUDdst+ylBMQCaAoq34gPVhedcR2cA2BeAcf4CpjAAn224DdGw Xkh8oXn1fdrgbdbX1biP =PQLD -----END PGP SIGNATURE----- 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
This commit is contained in:
commit
ae1a616af3
3 changed files with 9 additions and 9 deletions
|
@ -480,7 +480,7 @@ static int max9611_init(struct max9611_dev *max9611)
|
|||
if (ret)
|
||||
return ret;
|
||||
|
||||
regval = ret & MAX9611_TEMP_MASK;
|
||||
regval &= MAX9611_TEMP_MASK;
|
||||
|
||||
if ((regval > MAX9611_TEMP_MAX_POS &&
|
||||
regval < MAX9611_TEMP_MIN_NEG) ||
|
||||
|
|
|
@ -276,11 +276,11 @@ static int adf4371_set_freq(struct adf4371_state *st, unsigned long long freq,
|
|||
st->buf[0] = st->integer >> 8;
|
||||
st->buf[1] = 0x40; /* REG12 default */
|
||||
st->buf[2] = 0x00;
|
||||
st->buf[3] = st->fract2 & 0xFF;
|
||||
st->buf[4] = st->fract2 >> 7;
|
||||
st->buf[5] = st->fract2 >> 15;
|
||||
st->buf[3] = st->fract1 & 0xFF;
|
||||
st->buf[4] = st->fract1 >> 8;
|
||||
st->buf[5] = st->fract1 >> 16;
|
||||
st->buf[6] = ADF4371_FRAC2WORD_L(st->fract2 & 0x7F) |
|
||||
ADF4371_FRAC1WORD(st->fract1 >> 23);
|
||||
ADF4371_FRAC1WORD(st->fract1 >> 24);
|
||||
st->buf[7] = ADF4371_FRAC2WORD_H(st->fract2 >> 7);
|
||||
st->buf[8] = st->mod2 & 0xFF;
|
||||
st->buf[9] = ADF4371_MOD2WORD(st->mod2 >> 8);
|
||||
|
|
|
@ -342,9 +342,9 @@ static irqreturn_t dt3k_interrupt(int irq, void *d)
|
|||
static int dt3k_ns_to_timer(unsigned int timer_base, unsigned int *nanosec,
|
||||
unsigned int flags)
|
||||
{
|
||||
int divider, base, prescale;
|
||||
unsigned int divider, base, prescale;
|
||||
|
||||
/* This function needs improvment */
|
||||
/* This function needs improvement */
|
||||
/* Don't know if divider==0 works. */
|
||||
|
||||
for (prescale = 0; prescale < 16; prescale++) {
|
||||
|
@ -358,7 +358,7 @@ static int dt3k_ns_to_timer(unsigned int timer_base, unsigned int *nanosec,
|
|||
divider = (*nanosec) / base;
|
||||
break;
|
||||
case CMDF_ROUND_UP:
|
||||
divider = (*nanosec) / base;
|
||||
divider = DIV_ROUND_UP(*nanosec, base);
|
||||
break;
|
||||
}
|
||||
if (divider < 65536) {
|
||||
|
@ -368,7 +368,7 @@ static int dt3k_ns_to_timer(unsigned int timer_base, unsigned int *nanosec,
|
|||
}
|
||||
|
||||
prescale = 15;
|
||||
base = timer_base * (1 << prescale);
|
||||
base = timer_base * (prescale + 1);
|
||||
divider = 65535;
|
||||
*nanosec = divider * base;
|
||||
return (prescale << 16) | (divider);
|
||||
|
|
Loading…
Reference in a new issue