forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-13 9d77db3c730780c8ef5ccd4b66403ff5675cfe4e
kernel/drivers/iio/magnetometer/hid-sensor-magn-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 magn_3d_channel {
....@@ -527,23 +512,17 @@
527512
528513 indio_dev->channels = channels;
529514 indio_dev->num_channels = chan_count;
530
- indio_dev->dev.parent = &pdev->dev;
531515 indio_dev->info = &magn_3d_info;
532516 indio_dev->name = name;
533517 indio_dev->modes = INDIO_DIRECT_MODE;
534518
535
- ret = iio_triggered_buffer_setup(indio_dev, &iio_pollfunc_store_time,
536
- NULL, NULL);
537
- if (ret) {
538
- dev_err(&pdev->dev, "failed to initialize trigger buffer\n");
539
- return ret;
540
- }
541519 atomic_set(&magn_state->magn_flux_attributes.data_ready, 0);
520
+
542521 ret = hid_sensor_setup_trigger(indio_dev, name,
543522 &magn_state->magn_flux_attributes);
544523 if (ret < 0) {
545524 dev_err(&pdev->dev, "trigger setup failed\n");
546
- goto error_unreg_buffer_funcs;
525
+ return ret;
547526 }
548527
549528 ret = iio_device_register(indio_dev);
....@@ -567,9 +546,7 @@
567546 error_iio_unreg:
568547 iio_device_unregister(indio_dev);
569548 error_remove_trigger:
570
- hid_sensor_remove_trigger(&magn_state->magn_flux_attributes);
571
-error_unreg_buffer_funcs:
572
- iio_triggered_buffer_cleanup(indio_dev);
549
+ hid_sensor_remove_trigger(indio_dev, &magn_state->magn_flux_attributes);
573550 return ret;
574551 }
575552
....@@ -582,8 +559,7 @@
582559
583560 sensor_hub_remove_callback(hsdev, HID_USAGE_SENSOR_COMPASS_3D);
584561 iio_device_unregister(indio_dev);
585
- hid_sensor_remove_trigger(&magn_state->magn_flux_attributes);
586
- iio_triggered_buffer_cleanup(indio_dev);
562
+ hid_sensor_remove_trigger(indio_dev, &magn_state->magn_flux_attributes);
587563
588564 return 0;
589565 }