arm: dts: rk3288-evb: use rockchip_key to replace adc_key
[firefly-linux-kernel-4.4.55.git] / drivers / iio / industrialio-core.c
index 208358f9e7e36582152cad8c4f4924d9667a58cc..131b434af994ddf5a09c3e828b33baba58ef66cd 100644 (file)
@@ -433,23 +433,21 @@ ssize_t iio_format_value(char *buf, unsigned int type, int size, int *vals)
                scale_db = true;
        case IIO_VAL_INT_PLUS_MICRO:
                if (vals[1] < 0)
-                       return sprintf(buf, "-%ld.%06u%s\n", abs(vals[0]),
-                                       -vals[1],
-                               scale_db ? " dB" : "");
+                       return sprintf(buf, "-%d.%06u%s\n", abs(vals[0]),
+                                      -vals[1], scale_db ? " dB" : "");
                else
                        return sprintf(buf, "%d.%06u%s\n", vals[0], vals[1],
                                scale_db ? " dB" : "");
        case IIO_VAL_INT_PLUS_NANO:
                if (vals[1] < 0)
-                       return sprintf(buf, "-%ld.%09u\n", abs(vals[0]),
-                                       -vals[1]);
+                       return sprintf(buf, "-%d.%09u\n", abs(vals[0]),
+                                      -vals[1]);
                else
                        return sprintf(buf, "%d.%09u\n", vals[0], vals[1]);
        case IIO_VAL_FRACTIONAL:
                tmp = div_s64((s64)vals[0] * 1000000000LL, vals[1]);
-               vals[1] = do_div(tmp, 1000000000LL);
-               vals[0] = tmp;
-               return sprintf(buf, "%d.%09u\n", vals[0], vals[1]);
+               vals[0] = (int)div_s64_rem(tmp, 1000000000, &vals[1]);
+               return sprintf(buf, "%d.%09u\n", vals[0], abs(vals[1]));
        case IIO_VAL_FRACTIONAL_LOG2:
                tmp = (s64)vals[0] * 1000000000LL >> vals[1];
                vals[1] = do_div(tmp, 1000000000LL);
@@ -655,7 +653,7 @@ int __iio_device_attr_init(struct device_attribute *dev_attr,
                        break;
                case IIO_SEPARATE:
                        if (!chan->indexed) {
-                               WARN_ON("Differential channels must be indexed\n");
+                               WARN(1, "Differential channels must be indexed\n");
                                ret = -EINVAL;
                                goto error_free_full_postfix;
                        }