| .. | .. |
|---|
| 38 | 38 | int *val, int *val2, long mask) |
|---|
| 39 | 39 | { |
|---|
| 40 | 40 | struct rescale *rescale = iio_priv(indio_dev); |
|---|
| 41 | | - unsigned long long tmp; |
|---|
| 41 | + s64 tmp; |
|---|
| 42 | 42 | int ret; |
|---|
| 43 | 43 | |
|---|
| 44 | 44 | switch (mask) { |
|---|
| .. | .. |
|---|
| 59 | 59 | *val2 = rescale->denominator; |
|---|
| 60 | 60 | return IIO_VAL_FRACTIONAL; |
|---|
| 61 | 61 | case IIO_VAL_FRACTIONAL_LOG2: |
|---|
| 62 | | - tmp = *val * 1000000000LL; |
|---|
| 63 | | - do_div(tmp, rescale->denominator); |
|---|
| 62 | + tmp = (s64)*val * 1000000000LL; |
|---|
| 63 | + tmp = div_s64(tmp, rescale->denominator); |
|---|
| 64 | 64 | tmp *= rescale->numerator; |
|---|
| 65 | | - do_div(tmp, 1000000000LL); |
|---|
| 65 | + tmp = div_s64(tmp, 1000000000LL); |
|---|
| 66 | 66 | *val = tmp; |
|---|
| 67 | 67 | return ret; |
|---|
| 68 | 68 | default: |
|---|
| .. | .. |
|---|
| 276 | 276 | int ret; |
|---|
| 277 | 277 | |
|---|
| 278 | 278 | source = devm_iio_channel_get(dev, NULL); |
|---|
| 279 | | - if (IS_ERR(source)) { |
|---|
| 280 | | - if (PTR_ERR(source) != -EPROBE_DEFER) |
|---|
| 281 | | - dev_err(dev, "failed to get source channel\n"); |
|---|
| 282 | | - return PTR_ERR(source); |
|---|
| 283 | | - } |
|---|
| 279 | + if (IS_ERR(source)) |
|---|
| 280 | + return dev_err_probe(dev, PTR_ERR(source), |
|---|
| 281 | + "failed to get source channel\n"); |
|---|
| 284 | 282 | |
|---|
| 285 | 283 | sizeof_ext_info = iio_get_channel_ext_info_count(source); |
|---|
| 286 | 284 | if (sizeof_ext_info) { |
|---|
| .. | .. |
|---|
| 314 | 312 | rescale->source = source; |
|---|
| 315 | 313 | |
|---|
| 316 | 314 | indio_dev->name = dev_name(dev); |
|---|
| 317 | | - indio_dev->dev.parent = dev; |
|---|
| 318 | 315 | indio_dev->info = &rescale_info; |
|---|
| 319 | 316 | indio_dev->modes = INDIO_DIRECT_MODE; |
|---|
| 320 | 317 | indio_dev->channels = &rescale->chan; |
|---|