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