.. | .. |
---|
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; |
---|