Lines Matching refs:indio_dev

54  * @indio_dev:		IIO device structure
59 * concurrently for the same indio_dev more than once.
66 int iio_push_event(struct iio_dev *indio_dev, u64 ev_code, s64 timestamp)
68 struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev);
102 struct iio_dev *indio_dev = filep->private_data;
103 struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev);
107 if (!indio_dev->info)
123 struct iio_dev *indio_dev = filep->private_data;
124 struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev);
129 if (!indio_dev->info)
142 indio_dev->info == NULL);
145 if (indio_dev->info == NULL)
173 struct iio_dev *indio_dev = filep->private_data;
174 struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev);
179 iio_device_put(indio_dev);
192 static int iio_event_getfd(struct iio_dev *indio_dev)
194 struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev);
210 iio_device_get(indio_dev);
213 indio_dev, O_RDONLY | O_CLOEXEC);
216 iio_device_put(indio_dev);
279 struct iio_dev *indio_dev = dev_to_iio_dev(dev);
288 ret = indio_dev->info->write_event_config(indio_dev,
299 struct iio_dev *indio_dev = dev_to_iio_dev(dev);
303 val = indio_dev->info->read_event_config(indio_dev,
316 struct iio_dev *indio_dev = dev_to_iio_dev(dev);
321 ret = indio_dev->info->read_event_value(indio_dev,
337 struct iio_dev *indio_dev = dev_to_iio_dev(dev);
342 if (!indio_dev->info->write_event_value)
348 ret = indio_dev->info->write_event_value(indio_dev,
358 static int iio_device_add_event(struct iio_dev *indio_dev,
363 struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev);
397 (i << 16) | spec_index, shared_by, &indio_dev->dev,
414 static int iio_device_add_event_sysfs(struct iio_dev *indio_dev,
425 ret = iio_device_add_event(indio_dev, chan, i, type, dir,
431 ret = iio_device_add_event(indio_dev, chan, i, type, dir,
438 ret = iio_device_add_event(indio_dev, chan, i, type, dir,
445 ret = iio_device_add_event(indio_dev, chan, i, type, dir,
456 static inline int __iio_add_event_config_attrs(struct iio_dev *indio_dev)
461 for (j = 0; j < indio_dev->num_channels; j++) {
462 ret = iio_device_add_event_sysfs(indio_dev,
463 &indio_dev->channels[j]);
471 static bool iio_check_for_dynamic_events(struct iio_dev *indio_dev)
475 for (j = 0; j < indio_dev->num_channels; j++) {
476 if (indio_dev->channels[j].num_event_specs != 0)
489 static long iio_event_ioctl(struct iio_dev *indio_dev, struct file *filp,
496 fd = iio_event_getfd(indio_dev);
508 int iio_device_register_eventset(struct iio_dev *indio_dev)
510 struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev);
516 if (!(indio_dev->info->event_attrs ||
517 iio_check_for_dynamic_events(indio_dev)))
529 if (indio_dev->info->event_attrs != NULL) {
530 attr = indio_dev->info->event_attrs->attrs;
535 if (indio_dev->channels) {
536 ret = __iio_add_event_config_attrs(indio_dev);
550 if (indio_dev->info->event_attrs)
552 indio_dev->info->event_attrs->attrs,
559 ret = iio_device_register_sysfs_group(indio_dev, &ev_int->group);
564 iio_device_ioctl_handler_register(&iio_dev_opaque->indio_dev,
580 * @indio_dev: The IIO device
585 void iio_device_wakeup_eventset(struct iio_dev *indio_dev)
587 struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev);
594 void iio_device_unregister_eventset(struct iio_dev *indio_dev)
596 struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev);