Lines Matching refs:indio_dev
52 * @indio_dev: IIO device structure
57 * concurrently for the same indio_dev more than once.
64 int iio_push_event(struct iio_dev *indio_dev, u64 ev_code, s64 timestamp)
66 struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev);
100 struct iio_dev *indio_dev = filep->private_data;
101 struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev);
105 if (!indio_dev->info)
121 struct iio_dev *indio_dev = filep->private_data;
122 struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev);
127 if (!indio_dev->info)
140 indio_dev->info == NULL);
143 if (indio_dev->info == NULL)
171 struct iio_dev *indio_dev = filep->private_data;
172 struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev);
177 iio_device_put(indio_dev);
190 int iio_event_getfd(struct iio_dev *indio_dev)
192 struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev);
199 fd = mutex_lock_interruptible(&indio_dev->mlock);
208 iio_device_get(indio_dev);
211 indio_dev, O_RDONLY | O_CLOEXEC);
214 iio_device_put(indio_dev);
220 mutex_unlock(&indio_dev->mlock);
268 struct iio_dev *indio_dev = dev_to_iio_dev(dev);
277 ret = indio_dev->info->write_event_config(indio_dev,
288 struct iio_dev *indio_dev = dev_to_iio_dev(dev);
292 val = indio_dev->info->read_event_config(indio_dev,
305 struct iio_dev *indio_dev = dev_to_iio_dev(dev);
310 ret = indio_dev->info->read_event_value(indio_dev,
326 struct iio_dev *indio_dev = dev_to_iio_dev(dev);
331 if (!indio_dev->info->write_event_value)
337 ret = indio_dev->info->write_event_value(indio_dev,
347 static int iio_device_add_event(struct iio_dev *indio_dev,
352 struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev);
385 (i << 16) | spec_index, shared_by, &indio_dev->dev,
401 static int iio_device_add_event_sysfs(struct iio_dev *indio_dev,
412 ret = iio_device_add_event(indio_dev, chan, i, type, dir,
418 ret = iio_device_add_event(indio_dev, chan, i, type, dir,
425 ret = iio_device_add_event(indio_dev, chan, i, type, dir,
432 ret = iio_device_add_event(indio_dev, chan, i, type, dir,
443 static inline int __iio_add_event_config_attrs(struct iio_dev *indio_dev)
448 for (j = 0; j < indio_dev->num_channels; j++) {
449 ret = iio_device_add_event_sysfs(indio_dev,
450 &indio_dev->channels[j]);
458 static bool iio_check_for_dynamic_events(struct iio_dev *indio_dev)
462 for (j = 0; j < indio_dev->num_channels; j++) {
463 if (indio_dev->channels[j].num_event_specs != 0)
477 int iio_device_register_eventset(struct iio_dev *indio_dev)
479 struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev);
485 if (!(indio_dev->info->event_attrs ||
486 iio_check_for_dynamic_events(indio_dev)))
498 if (indio_dev->info->event_attrs != NULL) {
499 attr = indio_dev->info->event_attrs->attrs;
504 if (indio_dev->channels) {
505 ret = __iio_add_event_config_attrs(indio_dev);
519 if (indio_dev->info->event_attrs)
521 indio_dev->info->event_attrs->attrs,
527 indio_dev->groups[indio_dev->groupcounter++] = &ev_int->group;
540 * @indio_dev: The IIO device
545 void iio_device_wakeup_eventset(struct iio_dev *indio_dev)
547 struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev);
554 void iio_device_unregister_eventset(struct iio_dev *indio_dev)
556 struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev);