File tree Expand file tree Collapse file tree 3 files changed +21
-1
lines changed Expand file tree Collapse file tree 3 files changed +21
-1
lines changed Original file line number Diff line number Diff line change @@ -25,6 +25,8 @@ void st_magn_common_remove(struct iio_dev *indio_dev);
25
25
#ifdef CONFIG_IIO_BUFFER
26
26
int st_magn_allocate_ring (struct iio_dev * indio_dev );
27
27
void st_magn_deallocate_ring (struct iio_dev * indio_dev );
28
+ int st_magn_trig_set_state (struct iio_trigger * trig , bool state );
29
+ #define ST_MAGN_TRIGGER_SET_STATE (&st_magn_trig_set_state)
28
30
#else /* CONFIG_IIO_BUFFER */
29
31
static inline int st_magn_probe_trigger (struct iio_dev * indio_dev , int irq )
30
32
{
Original file line number Diff line number Diff line change 23
23
#include <linux/iio/common/st_sensors.h>
24
24
#include "st_magn.h"
25
25
26
+ int st_magn_trig_set_state (struct iio_trigger * trig , bool state )
27
+ {
28
+ struct iio_dev * indio_dev = iio_trigger_get_drvdata (trig );
29
+
30
+ return st_sensors_set_dataready_irq (indio_dev , state );
31
+ }
32
+
26
33
static int st_magn_buffer_preenable (struct iio_dev * indio_dev )
27
34
{
28
35
return st_sensors_set_enable (indio_dev , true);
Original file line number Diff line number Diff line change @@ -480,6 +480,16 @@ static const struct iio_info magn_info = {
480
480
.write_raw = & st_magn_write_raw ,
481
481
};
482
482
483
+ #ifdef CONFIG_IIO_TRIGGER
484
+ static const struct iio_trigger_ops st_magn_trigger_ops = {
485
+ .owner = THIS_MODULE ,
486
+ .set_trigger_state = ST_MAGN_TRIGGER_SET_STATE ,
487
+ };
488
+ #define ST_MAGN_TRIGGER_OPS (&st_magn_trigger_ops)
489
+ #else
490
+ #define ST_MAGN_TRIGGER_OPS NULL
491
+ #endif
492
+
483
493
int st_magn_common_probe (struct iio_dev * indio_dev )
484
494
{
485
495
struct st_sensor_data * mdata = iio_priv (indio_dev );
@@ -516,7 +526,8 @@ int st_magn_common_probe(struct iio_dev *indio_dev)
516
526
return err ;
517
527
518
528
if (irq > 0 ) {
519
- err = st_sensors_allocate_trigger (indio_dev , NULL );
529
+ err = st_sensors_allocate_trigger (indio_dev ,
530
+ ST_MAGN_TRIGGER_OPS );
520
531
if (err < 0 )
521
532
goto st_magn_probe_trigger_error ;
522
533
}
You can’t perform that action at this time.
0 commit comments