Lines Matching refs:iio_dev_opaque
193 struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev); in iio_device_id() local
195 return iio_dev_opaque->id; in iio_device_id()
207 struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev); in iio_buffer_enabled() local
209 return iio_dev_opaque->currentmode & in iio_buffer_enabled()
222 struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev); in iio_get_debugfs_dentry() local
224 return iio_dev_opaque->debugfs_dentry; in iio_get_debugfs_dentry()
267 struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev); in iio_device_set_clock() local
268 const struct iio_event_interface *ev_int = iio_dev_opaque->event_interface; in iio_device_set_clock()
270 ret = mutex_lock_interruptible(&iio_dev_opaque->mlock); in iio_device_set_clock()
275 mutex_unlock(&iio_dev_opaque->mlock); in iio_device_set_clock()
278 iio_dev_opaque->clock_id = clock_id; in iio_device_set_clock()
279 mutex_unlock(&iio_dev_opaque->mlock); in iio_device_set_clock()
293 struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev); in iio_device_get_clock() local
295 return iio_dev_opaque->clock_id; in iio_device_get_clock()
371 struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev); in iio_debugfs_read_reg() local
377 iio_dev_opaque->read_buf, in iio_debugfs_read_reg()
378 iio_dev_opaque->read_buf_len); in iio_debugfs_read_reg()
381 iio_dev_opaque->cached_reg_addr, in iio_debugfs_read_reg()
388 iio_dev_opaque->read_buf_len = snprintf(iio_dev_opaque->read_buf, in iio_debugfs_read_reg()
389 sizeof(iio_dev_opaque->read_buf), in iio_debugfs_read_reg()
393 iio_dev_opaque->read_buf, in iio_debugfs_read_reg()
394 iio_dev_opaque->read_buf_len); in iio_debugfs_read_reg()
401 struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev); in iio_debugfs_write_reg() local
416 iio_dev_opaque->cached_reg_addr = reg; in iio_debugfs_write_reg()
419 iio_dev_opaque->cached_reg_addr = reg; in iio_debugfs_write_reg()
443 struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev); in iio_device_unregister_debugfs() local
445 debugfs_remove_recursive(iio_dev_opaque->debugfs_dentry); in iio_device_unregister_debugfs()
450 struct iio_dev_opaque *iio_dev_opaque; in iio_device_register_debugfs() local
458 iio_dev_opaque = to_iio_dev_opaque(indio_dev); in iio_device_register_debugfs()
460 iio_dev_opaque->debugfs_dentry = in iio_device_register_debugfs()
465 iio_dev_opaque->debugfs_dentry, indio_dev, in iio_device_register_debugfs()
1188 struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev); in iio_device_add_channel_label() local
1202 &iio_dev_opaque->channel_attr_list); in iio_device_add_channel_label()
1214 struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev); in iio_device_add_info_mask_type() local
1228 &iio_dev_opaque->channel_attr_list); in iio_device_add_info_mask_type()
1244 struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev); in iio_device_add_info_mask_type_avail() local
1265 &iio_dev_opaque->channel_attr_list); in iio_device_add_info_mask_type_avail()
1280 struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev); in iio_device_add_channel_sysfs() local
1361 &iio_dev_opaque->channel_attr_list); in iio_device_add_channel_sysfs()
1487 struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev); in iio_device_register_sysfs_group() local
1488 const struct attribute_group **new, **old = iio_dev_opaque->groups; in iio_device_register_sysfs_group()
1489 unsigned int cnt = iio_dev_opaque->groupcounter; in iio_device_register_sysfs_group()
1495 new[iio_dev_opaque->groupcounter++] = group; in iio_device_register_sysfs_group()
1496 new[iio_dev_opaque->groupcounter] = NULL; in iio_device_register_sysfs_group()
1498 iio_dev_opaque->groups = new; in iio_device_register_sysfs_group()
1507 struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev); in iio_device_register_sysfs() local
1537 if (iio_dev_opaque->event_interface) in iio_device_register_sysfs()
1547 iio_dev_opaque->chan_attr_group.attrs = in iio_device_register_sysfs()
1549 sizeof(iio_dev_opaque->chan_attr_group.attrs[0]), in iio_device_register_sysfs()
1551 if (iio_dev_opaque->chan_attr_group.attrs == NULL) { in iio_device_register_sysfs()
1557 memcpy(iio_dev_opaque->chan_attr_group.attrs, in iio_device_register_sysfs()
1559 sizeof(iio_dev_opaque->chan_attr_group.attrs[0]) in iio_device_register_sysfs()
1561 iio_dev_opaque->chan_attr_group.is_visible = in iio_device_register_sysfs()
1563 iio_dev_opaque->chan_attr_group.bin_attrs = in iio_device_register_sysfs()
1568 list_for_each_entry(p, &iio_dev_opaque->channel_attr_list, l) in iio_device_register_sysfs()
1569 iio_dev_opaque->chan_attr_group.attrs[attrn++] = &p->dev_attr.attr; in iio_device_register_sysfs()
1571 iio_dev_opaque->chan_attr_group.attrs[attrn++] = &dev_attr_name.attr; in iio_device_register_sysfs()
1573 iio_dev_opaque->chan_attr_group.attrs[attrn++] = &dev_attr_label.attr; in iio_device_register_sysfs()
1575 iio_dev_opaque->chan_attr_group.attrs[attrn++] = clk; in iio_device_register_sysfs()
1578 &iio_dev_opaque->chan_attr_group); in iio_device_register_sysfs()
1585 iio_free_chan_devattr_list(&iio_dev_opaque->channel_attr_list); in iio_device_register_sysfs()
1592 struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev); in iio_device_unregister_sysfs() local
1594 iio_free_chan_devattr_list(&iio_dev_opaque->channel_attr_list); in iio_device_unregister_sysfs()
1595 kfree(iio_dev_opaque->chan_attr_group.attrs); in iio_device_unregister_sysfs()
1596 iio_dev_opaque->chan_attr_group.attrs = NULL; in iio_device_unregister_sysfs()
1597 kfree(iio_dev_opaque->groups); in iio_device_unregister_sysfs()
1598 iio_dev_opaque->groups = NULL; in iio_device_unregister_sysfs()
1604 struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev); in iio_dev_release() local
1613 lockdep_unregister_key(&iio_dev_opaque->mlock_key); in iio_dev_release()
1615 ida_free(&iio_ida, iio_dev_opaque->id); in iio_dev_release()
1616 kfree(iio_dev_opaque); in iio_dev_release()
1634 struct iio_dev_opaque *iio_dev_opaque; in iio_device_alloc() local
1638 alloc_size = sizeof(struct iio_dev_opaque); in iio_device_alloc()
1644 iio_dev_opaque = kzalloc(alloc_size, GFP_KERNEL); in iio_device_alloc()
1645 if (!iio_dev_opaque) in iio_device_alloc()
1648 indio_dev = &iio_dev_opaque->indio_dev; in iio_device_alloc()
1649 indio_dev->priv = (char *)iio_dev_opaque + in iio_device_alloc()
1650 ALIGN(sizeof(struct iio_dev_opaque), IIO_DMA_MINALIGN); in iio_device_alloc()
1656 mutex_init(&iio_dev_opaque->mlock); in iio_device_alloc()
1657 mutex_init(&iio_dev_opaque->info_exist_lock); in iio_device_alloc()
1658 INIT_LIST_HEAD(&iio_dev_opaque->channel_attr_list); in iio_device_alloc()
1660 iio_dev_opaque->id = ida_alloc(&iio_ida, GFP_KERNEL); in iio_device_alloc()
1661 if (iio_dev_opaque->id < 0) { in iio_device_alloc()
1664 kfree(iio_dev_opaque); in iio_device_alloc()
1668 if (dev_set_name(&indio_dev->dev, "iio:device%d", iio_dev_opaque->id)) { in iio_device_alloc()
1669 ida_free(&iio_ida, iio_dev_opaque->id); in iio_device_alloc()
1670 kfree(iio_dev_opaque); in iio_device_alloc()
1674 INIT_LIST_HEAD(&iio_dev_opaque->buffer_list); in iio_device_alloc()
1675 INIT_LIST_HEAD(&iio_dev_opaque->ioctl_handlers); in iio_device_alloc()
1677 lockdep_register_key(&iio_dev_opaque->mlock_key); in iio_device_alloc()
1678 lockdep_set_class(&iio_dev_opaque->mlock, &iio_dev_opaque->mlock_key); in iio_device_alloc()
1739 struct iio_dev_opaque *iio_dev_opaque = in iio_chrdev_open() local
1740 container_of(inode->i_cdev, struct iio_dev_opaque, chrdev); in iio_chrdev_open()
1741 struct iio_dev *indio_dev = &iio_dev_opaque->indio_dev; in iio_chrdev_open()
1744 if (test_and_set_bit(IIO_BUSY_BIT_POS, &iio_dev_opaque->flags)) in iio_chrdev_open()
1752 clear_bit(IIO_BUSY_BIT_POS, &iio_dev_opaque->flags); in iio_chrdev_open()
1774 struct iio_dev_opaque *iio_dev_opaque = in iio_chrdev_release() local
1775 container_of(inode->i_cdev, struct iio_dev_opaque, chrdev); in iio_chrdev_release()
1776 struct iio_dev *indio_dev = &iio_dev_opaque->indio_dev; in iio_chrdev_release()
1779 clear_bit(IIO_BUSY_BIT_POS, &iio_dev_opaque->flags); in iio_chrdev_release()
1788 struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev); in iio_device_ioctl_handler_register() local
1790 list_add_tail(&h->entry, &iio_dev_opaque->ioctl_handlers); in iio_device_ioctl_handler_register()
1802 struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev); in iio_ioctl() local
1806 mutex_lock(&iio_dev_opaque->info_exist_lock); in iio_ioctl()
1816 list_for_each_entry(h, &iio_dev_opaque->ioctl_handlers, entry) { in iio_ioctl()
1826 mutex_unlock(&iio_dev_opaque->info_exist_lock); in iio_ioctl()
1897 struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev); in __iio_device_register() local
1904 iio_dev_opaque->driver_module = this_mod; in __iio_device_register()
1952 if (iio_dev_opaque->attached_buffers_cnt) in __iio_device_register()
1953 cdev_init(&iio_dev_opaque->chrdev, &iio_buffer_fileops); in __iio_device_register()
1954 else if (iio_dev_opaque->event_interface) in __iio_device_register()
1955 cdev_init(&iio_dev_opaque->chrdev, &iio_event_fileops); in __iio_device_register()
1957 if (iio_dev_opaque->attached_buffers_cnt || iio_dev_opaque->event_interface) { in __iio_device_register()
1958 indio_dev->dev.devt = MKDEV(MAJOR(iio_devt), iio_dev_opaque->id); in __iio_device_register()
1959 iio_dev_opaque->chrdev.owner = this_mod; in __iio_device_register()
1963 indio_dev->dev.groups = iio_dev_opaque->groups; in __iio_device_register()
1965 ret = cdev_device_add(&iio_dev_opaque->chrdev, &indio_dev->dev); in __iio_device_register()
1989 struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev); in iio_device_unregister() local
1991 cdev_device_del(&iio_dev_opaque->chrdev, &indio_dev->dev); in iio_device_unregister()
1993 mutex_lock(&iio_dev_opaque->info_exist_lock); in iio_device_unregister()
2004 mutex_unlock(&iio_dev_opaque->info_exist_lock); in iio_device_unregister()
2041 struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev); in iio_device_claim_direct_mode() local
2043 mutex_lock(&iio_dev_opaque->mlock); in iio_device_claim_direct_mode()
2046 mutex_unlock(&iio_dev_opaque->mlock); in iio_device_claim_direct_mode()
2081 struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev); in iio_device_claim_buffer_mode() local
2083 mutex_lock(&iio_dev_opaque->mlock); in iio_device_claim_buffer_mode()
2088 mutex_unlock(&iio_dev_opaque->mlock); in iio_device_claim_buffer_mode()
2115 struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev); in iio_device_get_current_mode() local
2117 return iio_dev_opaque->currentmode; in iio_device_get_current_mode()