1  /* SPDX-License-Identifier: GPL-2.0-only */
2  
3  /* The industrial I/O core, trigger consumer handling functions
4   *
5   * Copyright (c) 2008 Jonathan Cameron
6   */
7  
8  #ifdef CONFIG_IIO_TRIGGER
9  /**
10   * iio_device_register_trigger_consumer() - set up an iio_dev to use triggers
11   * @indio_dev: iio_dev associated with the device that will consume the trigger
12   *
13   * Return 0 if successful, negative otherwise
14   **/
15  int iio_device_register_trigger_consumer(struct iio_dev *indio_dev);
16  
17  /**
18   * iio_device_unregister_trigger_consumer() - reverse the registration process
19   * @indio_dev: iio_dev associated with the device that consumed the trigger
20   **/
21  void iio_device_unregister_trigger_consumer(struct iio_dev *indio_dev);
22  
23  
24  int iio_trigger_attach_poll_func(struct iio_trigger *trig,
25  				 struct iio_poll_func *pf);
26  int iio_trigger_detach_poll_func(struct iio_trigger *trig,
27  				 struct iio_poll_func *pf);
28  
29  #else
30  
31  /**
32   * iio_device_register_trigger_consumer() - set up an iio_dev to use triggers
33   * @indio_dev: iio_dev associated with the device that will consume the trigger
34   **/
iio_device_register_trigger_consumer(struct iio_dev * indio_dev)35  static inline int iio_device_register_trigger_consumer(struct iio_dev *indio_dev)
36  {
37  	return 0;
38  }
39  
40  /**
41   * iio_device_unregister_trigger_consumer() - reverse the registration process
42   * @indio_dev: iio_dev associated with the device that consumed the trigger
43   **/
iio_device_unregister_trigger_consumer(struct iio_dev * indio_dev)44  static inline void iio_device_unregister_trigger_consumer(struct iio_dev *indio_dev)
45  {
46  }
47  
iio_trigger_attach_poll_func(struct iio_trigger * trig,struct iio_poll_func * pf)48  static inline int iio_trigger_attach_poll_func(struct iio_trigger *trig,
49  					       struct iio_poll_func *pf)
50  {
51  	return 0;
52  }
iio_trigger_detach_poll_func(struct iio_trigger * trig,struct iio_poll_func * pf)53  static inline int iio_trigger_detach_poll_func(struct iio_trigger *trig,
54  					       struct iio_poll_func *pf)
55  {
56  	return 0;
57  }
58  
59  #endif /* CONFIG_TRIGGER_CONSUMER */
60