forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-01-04 1543e317f1da31b75942316931e8f491a8920811
kernel/drivers/iio/accel/hid-sensor-accel-3d.c
....@@ -1,20 +1,7 @@
1
+// SPDX-License-Identifier: GPL-2.0-only
12 /*
23 * HID Sensors Driver
34 * Copyright (c) 2012, Intel Corporation.
4
- *
5
- * This program is free software; you can redistribute it and/or modify it
6
- * under the terms and conditions of the GNU General Public License,
7
- * version 2, as published by the Free Software Foundation.
8
- *
9
- * This program is distributed in the hope it will be useful, but WITHOUT
10
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12
- * more details.
13
- *
14
- * You should have received a copy of the GNU General Public License along with
15
- * this program; if not, write to the Free Software Foundation, Inc.,
16
- * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
17
- *
185 */
196 #include <linux/device.h>
207 #include <linux/platform_device.h>
....@@ -27,8 +14,6 @@
2714 #include <linux/iio/iio.h>
2815 #include <linux/iio/sysfs.h>
2916 #include <linux/iio/buffer.h>
30
-#include <linux/iio/trigger_consumer.h>
31
-#include <linux/iio/triggered_buffer.h>
3217 #include "../common/hid-sensors/hid-sensor-trigger.h"
3318
3419 enum accel_3d_channel {
....@@ -292,6 +277,7 @@
292277 hid_sensor_convert_timestamp(
293278 &accel_state->common_attributes,
294279 *(int64_t *)raw_data);
280
+ ret = 0;
295281 break;
296282 default:
297283 break;
....@@ -402,23 +388,17 @@
402388 goto error_free_dev_mem;
403389 }
404390
405
- indio_dev->dev.parent = &pdev->dev;
406391 indio_dev->info = &accel_3d_info;
407392 indio_dev->name = name;
408393 indio_dev->modes = INDIO_DIRECT_MODE;
409394
410
- ret = iio_triggered_buffer_setup(indio_dev, &iio_pollfunc_store_time,
411
- NULL, NULL);
412
- if (ret) {
413
- dev_err(&pdev->dev, "failed to initialize trigger buffer\n");
414
- goto error_free_dev_mem;
415
- }
416395 atomic_set(&accel_state->common_attributes.data_ready, 0);
396
+
417397 ret = hid_sensor_setup_trigger(indio_dev, name,
418398 &accel_state->common_attributes);
419399 if (ret < 0) {
420400 dev_err(&pdev->dev, "trigger setup failed\n");
421
- goto error_unreg_buffer_funcs;
401
+ goto error_free_dev_mem;
422402 }
423403
424404 ret = iio_device_register(indio_dev);
....@@ -442,9 +422,7 @@
442422 error_iio_unreg:
443423 iio_device_unregister(indio_dev);
444424 error_remove_trigger:
445
- hid_sensor_remove_trigger(&accel_state->common_attributes);
446
-error_unreg_buffer_funcs:
447
- iio_triggered_buffer_cleanup(indio_dev);
425
+ hid_sensor_remove_trigger(indio_dev, &accel_state->common_attributes);
448426 error_free_dev_mem:
449427 kfree(indio_dev->channels);
450428 return ret;
....@@ -459,8 +437,7 @@
459437
460438 sensor_hub_remove_callback(hsdev, hsdev->usage);
461439 iio_device_unregister(indio_dev);
462
- hid_sensor_remove_trigger(&accel_state->common_attributes);
463
- iio_triggered_buffer_cleanup(indio_dev);
440
+ hid_sensor_remove_trigger(indio_dev, &accel_state->common_attributes);
464441 kfree(indio_dev->channels);
465442
466443 return 0;