Merge tag 'nfs-for-3.8-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs
[firefly-linux-kernel-4.4.55.git] / drivers / iio / gyro / hid-sensor-gyro-3d.c
index 4c56ada51c3958343df1e56913a0b3ca56cf1be6..4c8b158e40e18d508d4dfd53d7108249e2f2a455 100644 (file)
@@ -197,21 +197,8 @@ static const struct iio_info gyro_3d_info = {
 /* Function to push data to buffer */
 static void hid_sensor_push_data(struct iio_dev *indio_dev, u8 *data, int len)
 {
-       struct iio_buffer *buffer = indio_dev->buffer;
-       int datum_sz;
-
        dev_dbg(&indio_dev->dev, "hid_sensor_push_data\n");
-       if (!buffer) {
-               dev_err(&indio_dev->dev, "Buffer == NULL\n");
-               return;
-       }
-       datum_sz = buffer->access->get_bytes_per_datum(buffer);
-       if (len > datum_sz) {
-               dev_err(&indio_dev->dev, "Datum size mismatch %d:%d\n", len,
-                               datum_sz);
-               return;
-       }
-       iio_push_to_buffer(buffer, (u8 *)data);
+       iio_push_to_buffers(indio_dev, (u8 *)data);
 }
 
 /* Callback handler to send event after all samples are received and captured */
@@ -319,10 +306,10 @@ static int __devinit hid_gyro_3d_probe(struct platform_device *pdev)
                goto error_free_dev;
        }
 
-       channels = kmemdup(gyro_3d_channels,
-                                       sizeof(gyro_3d_channels),
-                                       GFP_KERNEL);
+       channels = kmemdup(gyro_3d_channels, sizeof(gyro_3d_channels),
+                          GFP_KERNEL);
        if (!channels) {
+               ret = -ENOMEM;
                dev_err(&pdev->dev, "failed to duplicate channels\n");
                goto error_free_dev;
        }