Home
last modified time | relevance | path

Searched refs:iocb (Results 1 – 25 of 138) sorted by relevance

123456

/linux/fs/nfs/
H A Dlocalio.c290 nfs_local_iocb_free(struct nfs_local_kiocb *iocb) in nfs_local_iocb_free() argument
292 kfree(iocb->bvec); in nfs_local_iocb_free()
293 kfree(iocb); in nfs_local_iocb_free()
300 struct nfs_local_kiocb *iocb; in nfs_local_iocb_alloc() local
302 iocb = kzalloc(sizeof(*iocb), flags); in nfs_local_iocb_alloc()
303 if (iocb == NULL) in nfs_local_iocb_alloc()
306 iocb->bvec = kmalloc_array(hdr->page_array.npages, in nfs_local_iocb_alloc()
308 if (iocb->bvec == NULL) { in nfs_local_iocb_alloc()
309 kfree(iocb); in nfs_local_iocb_alloc()
313 init_sync_kiocb(&iocb->kiocb, file); in nfs_local_iocb_alloc()
[all …]
H A Dfile.c159 nfs_file_read(struct kiocb *iocb, struct iov_iter *to) in nfs_file_read() argument
161 struct inode *inode = file_inode(iocb->ki_filp); in nfs_file_read()
164 trace_nfs_file_read(iocb, to); in nfs_file_read()
166 if (iocb->ki_flags & IOCB_DIRECT) in nfs_file_read()
167 return nfs_file_direct_read(iocb, to, false); in nfs_file_read()
170 iocb->ki_filp, in nfs_file_read()
171 iov_iter_count(to), (unsigned long) iocb->ki_pos); in nfs_file_read()
177 result = nfs_revalidate_mapping(inode, iocb->ki_filp->f_mapping); in nfs_file_read()
179 result = generic_file_read_iter(iocb, to); in nfs_file_read()
382 static int nfs_write_begin(const struct kiocb *iocb, in nfs_write_begin() argument
[all …]
H A Ddirect.c155 int nfs_swap_rw(struct kiocb *iocb, struct iov_iter *iter) in nfs_swap_rw() argument
160 ret = nfs_file_direct_read(iocb, iter, true); in nfs_swap_rw()
162 ret = nfs_file_direct_write(iocb, iter, true); in nfs_swap_rw()
236 if (dreq->iocb) in nfs_direct_wait()
262 if (dreq->iocb) { in nfs_direct_complete()
268 dreq->iocb->ki_complete(dreq->iocb, res); in nfs_direct_complete()
432 ssize_t nfs_file_direct_read(struct kiocb *iocb, struct iov_iter *iter, in nfs_file_direct_read() argument
435 struct file *file = iocb->ki_filp; in nfs_file_direct_read()
445 file, count, (long long) iocb->ki_pos); in nfs_file_direct_read()
460 dreq->io_start = iocb->ki_pos; in nfs_file_direct_read()
[all …]
/linux/fs/ext2/
H A Dfile.c35 static ssize_t ext2_dax_read_iter(struct kiocb *iocb, struct iov_iter *to) in ext2_dax_read_iter() argument
37 struct inode *inode = iocb->ki_filp->f_mapping->host; in ext2_dax_read_iter()
44 ret = dax_iomap_rw(iocb, to, &ext2_iomap_ops); in ext2_dax_read_iter()
47 file_accessed(iocb->ki_filp); in ext2_dax_read_iter()
51 static ssize_t ext2_dax_write_iter(struct kiocb *iocb, struct iov_iter *from) in ext2_dax_write_iter() argument
53 struct file *file = iocb->ki_filp; in ext2_dax_write_iter()
58 ret = generic_write_checks(iocb, from); in ext2_dax_write_iter()
68 ret = dax_iomap_rw(iocb, from, &ext2_iomap_ops); in ext2_dax_write_iter()
69 if (ret > 0 && iocb->ki_pos > i_size_read(inode)) { in ext2_dax_write_iter()
70 i_size_write(inode, iocb->ki_pos); in ext2_dax_write_iter()
[all …]
H A Dtrace.h12 TP_PROTO(struct kiocb *iocb, struct iov_iter *iter, ssize_t ret),
13 TP_ARGS(iocb, iter, ret),
25 __entry->dev = file_inode(iocb->ki_filp)->i_sb->s_dev;
26 __entry->ino = file_inode(iocb->ki_filp)->i_ino;
27 __entry->isize = file_inode(iocb->ki_filp)->i_size;
28 __entry->pos = iocb->ki_pos;
30 __entry->ki_flags = iocb->ki_flags;
31 __entry->aio = !is_sync_kiocb(iocb);
47 TP_PROTO(struct kiocb *iocb, struct iov_iter *iter, ssize_t ret), \
48 TP_ARGS(iocb, iter, ret))
[all …]
/linux/fs/
H A Dbacking-file.c79 struct kiocb iocb; member
83 void (*end_write)(struct kiocb *iocb, ssize_t);
101 fput(aio->iocb.ki_filp); in backing_aio_put()
108 struct kiocb *iocb = &aio->iocb; in backing_aio_cleanup() local
111 orig_iocb->ki_pos = iocb->ki_pos; in backing_aio_cleanup()
118 static void backing_aio_rw_complete(struct kiocb *iocb, long res) in backing_aio_rw_complete() argument
120 struct backing_aio *aio = container_of(iocb, struct backing_aio, iocb); in backing_aio_rw_complete()
123 if (iocb->ki_flags & IOCB_WRITE) in backing_aio_rw_complete()
124 kiocb_end_write(iocb); in backing_aio_rw_complete()
134 backing_aio_rw_complete(&aio->iocb, aio->res); in backing_aio_complete_work()
[all …]
H A Daio.c584 void kiocb_set_cancel_fn(struct kiocb *iocb, kiocb_cancel_fn *cancel) in kiocb_set_cancel_fn() argument
594 if (!(iocb->ki_flags & IOCB_AIO_RW)) in kiocb_set_cancel_fn()
597 req = container_of(iocb, struct aio_kiocb, rw); in kiocb_set_cancel_fn()
1103 static inline void iocb_destroy(struct aio_kiocb *iocb) in iocb_destroy() argument
1105 if (iocb->ki_eventfd) in iocb_destroy()
1106 eventfd_ctx_put(iocb->ki_eventfd); in iocb_destroy()
1107 if (iocb->ki_filp) in iocb_destroy()
1108 fput(iocb->ki_filp); in iocb_destroy()
1109 percpu_ref_put(&iocb->ki_ctx->reqs); in iocb_destroy()
1110 kmem_cache_free(kiocb_cachep, iocb); in iocb_destroy()
[all …]
/linux/block/
H A Dfops.c29 static blk_opf_t dio_bio_write_op(struct kiocb *iocb) in dio_bio_write_op() argument
34 if (iocb_is_dsync(iocb)) in dio_bio_write_op()
39 static bool blkdev_dio_invalid(struct block_device *bdev, struct kiocb *iocb, in blkdev_dio_invalid() argument
42 return (iocb->ki_pos | iov_iter_count(iter)) & in blkdev_dio_invalid()
55 static ssize_t __blkdev_direct_IO_simple(struct kiocb *iocb, in __blkdev_direct_IO_simple() argument
60 loff_t pos = iocb->ki_pos; in __blkdev_direct_IO_simple()
79 bio_init(&bio, bdev, vecs, nr_pages, dio_bio_write_op(iocb)); in __blkdev_direct_IO_simple()
82 bio.bi_write_hint = file_inode(iocb->ki_filp)->i_write_hint; in __blkdev_direct_IO_simple()
83 bio.bi_write_stream = iocb->ki_write_stream; in __blkdev_direct_IO_simple()
84 bio.bi_ioprio = iocb->ki_ioprio; in __blkdev_direct_IO_simple()
[all …]
/linux/fs/ext4/
H A Dfile.c55 static bool ext4_should_use_dio(struct kiocb *iocb, struct iov_iter *iter) in ext4_should_use_dio() argument
57 struct inode *inode = file_inode(iocb->ki_filp); in ext4_should_use_dio()
66 return IS_ALIGNED(iocb->ki_pos | iov_iter_alignment(iter), dio_align); in ext4_should_use_dio()
69 static ssize_t ext4_dio_read_iter(struct kiocb *iocb, struct iov_iter *to) in ext4_dio_read_iter() argument
72 struct inode *inode = file_inode(iocb->ki_filp); in ext4_dio_read_iter()
74 if (iocb->ki_flags & IOCB_NOWAIT) { in ext4_dio_read_iter()
81 if (!ext4_should_use_dio(iocb, to)) { in ext4_dio_read_iter()
90 iocb->ki_flags &= ~IOCB_DIRECT; in ext4_dio_read_iter()
91 return generic_file_read_iter(iocb, to); in ext4_dio_read_iter()
94 ret = iomap_dio_rw(iocb, to, &ext4_iomap_ops, NULL, 0, NULL, 0); in ext4_dio_read_iter()
[all …]
/linux/fs/fuse/
H A Dpassthrough.c21 static void fuse_passthrough_end_write(struct kiocb *iocb, ssize_t ret) in fuse_passthrough_end_write() argument
23 struct inode *inode = file_inode(iocb->ki_filp); in fuse_passthrough_end_write()
25 fuse_write_update_attr(inode, iocb->ki_pos, ret); in fuse_passthrough_end_write()
28 ssize_t fuse_passthrough_read_iter(struct kiocb *iocb, struct iov_iter *iter) in fuse_passthrough_read_iter() argument
30 struct file *file = iocb->ki_filp; in fuse_passthrough_read_iter()
42 backing_file, iocb->ki_pos, count); in fuse_passthrough_read_iter()
47 ret = backing_file_read_iter(backing_file, iter, iocb, iocb->ki_flags, in fuse_passthrough_read_iter()
53 ssize_t fuse_passthrough_write_iter(struct kiocb *iocb, in fuse_passthrough_write_iter() argument
56 struct file *file = iocb->ki_filp; in fuse_passthrough_write_iter()
68 backing_file, iocb->ki_pos, count); in fuse_passthrough_write_iter()
[all …]
H A Dfile.c667 struct inode *inode = file_inode(io->iocb->ki_filp); in fuse_aio_complete()
676 io->iocb->ki_complete(io->iocb, res); in fuse_aio_complete()
763 struct file *file = ia->io->iocb->ki_filp; in fuse_send_read()
1087 static ssize_t fuse_cache_read_iter(struct kiocb *iocb, struct iov_iter *to) in fuse_cache_read_iter() argument
1089 struct inode *inode = iocb->ki_filp->f_mapping->host; in fuse_cache_read_iter()
1098 (iocb->ki_pos + iov_iter_count(to) > i_size_read(inode))) { in fuse_cache_read_iter()
1100 err = fuse_update_attributes(inode, iocb->ki_filp, STATX_SIZE); in fuse_cache_read_iter()
1105 return generic_file_read_iter(iocb, to); in fuse_cache_read_iter()
1130 static unsigned int fuse_write_flags(struct kiocb *iocb) in fuse_write_flags() argument
1132 unsigned int flags = iocb->ki_filp->f_flags; in fuse_write_flags()
[all …]
/linux/fs/netfs/
H A Ddirect_write.c16 ssize_t netfs_unbuffered_write_iter_locked(struct kiocb *iocb, struct iov_iter *iter, in netfs_unbuffered_write_iter_locked() argument
20 unsigned long long start = iocb->ki_pos; in netfs_unbuffered_write_iter_locked()
24 bool async = !is_sync_kiocb(iocb); in netfs_unbuffered_write_iter_locked()
36 wreq = netfs_create_write_req(iocb->ki_filp->f_mapping, iocb->ki_filp, start, in netfs_unbuffered_write_iter_locked()
37 iocb->ki_flags & IOCB_DIRECT ? in netfs_unbuffered_write_iter_locked()
43 trace_netfs_write(wreq, (iocb->ki_flags & IOCB_DIRECT ? in netfs_unbuffered_write_iter_locked()
85 wreq->iocb = iocb; in netfs_unbuffered_write_iter_locked()
87 ret = netfs_unbuffered_write(wreq, is_sync_kiocb(iocb), wreq->len); in netfs_unbuffered_write_iter_locked()
96 iocb->ki_pos += ret; in netfs_unbuffered_write_iter_locked()
124 ssize_t netfs_unbuffered_write_iter(struct kiocb *iocb, struct iov_iter *from) in netfs_unbuffered_write_iter() argument
[all …]
H A Ddirect_read.c170 ssize_t netfs_unbuffered_read_iter_locked(struct kiocb *iocb, struct iov_iter *iter) in netfs_unbuffered_read_iter_locked() argument
175 bool sync = is_sync_kiocb(iocb); in netfs_unbuffered_read_iter_locked()
182 ret = kiocb_write_and_wait(iocb, orig_count); in netfs_unbuffered_read_iter_locked()
185 file_accessed(iocb->ki_filp); in netfs_unbuffered_read_iter_locked()
187 rreq = netfs_alloc_request(iocb->ki_filp->f_mapping, iocb->ki_filp, in netfs_unbuffered_read_iter_locked()
188 iocb->ki_pos, orig_count, in netfs_unbuffered_read_iter_locked()
189 iocb->ki_flags & IOCB_DIRECT ? in netfs_unbuffered_read_iter_locked()
224 rreq->iocb = iocb; in netfs_unbuffered_read_iter_locked()
233 iocb->ki_pos += rreq->transferred; in netfs_unbuffered_read_iter_locked()
257 ssize_t netfs_unbuffered_read_iter(struct kiocb *iocb, struct iov_iter *iter) in netfs_unbuffered_read_iter() argument
[all …]
H A Dbuffered_write.c106 ssize_t netfs_perform_write(struct kiocb *iocb, struct iov_iter *iter, in netfs_perform_write() argument
109 struct file *file = iocb->ki_filp; in netfs_perform_write()
117 .range_start = iocb->ki_pos, in netfs_perform_write()
118 .range_end = iocb->ki_pos + iter->count, in netfs_perform_write()
122 unsigned int bdp_flags = (iocb->ki_flags & IOCB_NOWAIT) ? BDP_ASYNC : 0; in netfs_perform_write()
124 loff_t pos = iocb->ki_pos; in netfs_perform_write()
128 if (unlikely(iocb->ki_flags & (IOCB_DSYNC | IOCB_SYNC)) in netfs_perform_write()
138 wreq = netfs_begin_writethrough(iocb, iter->count); in netfs_perform_write()
145 if (!is_sync_kiocb(iocb)) in netfs_perform_write()
146 wreq->iocb = iocb; in netfs_perform_write()
[all …]
/linux/fs/iomap/
H A Ddirect-io.c27 struct kiocb *iocb; member
63 struct kiocb *iocb = dio->iocb; in iomap_dio_submit_bio() local
68 if ((iocb->ki_flags & IOCB_HIPRI) && !is_sync_kiocb(iocb)) { in iomap_dio_submit_bio()
69 bio_set_polled(bio, iocb); in iomap_dio_submit_bio()
70 WRITE_ONCE(iocb->private, bio); in iomap_dio_submit_bio()
84 struct kiocb *iocb = dio->iocb; in iomap_dio_complete() local
85 loff_t offset = iocb->ki_pos; in iomap_dio_complete()
89 ret = dops->end_io(iocb, dio->size, ret, dio->flags); in iomap_dio_complete()
113 kiocb_invalidate_post_direct_write(iocb, dio->size); in iomap_dio_complete()
115 inode_dio_end(file_inode(iocb->ki_filp)); in iomap_dio_complete()
[all …]
H A Dtrace.h255 TP_PROTO(struct kiocb *iocb, struct iov_iter *iter,
257 TP_ARGS(iocb, iter, dio_flags, done_before),
270 __entry->dev = file_inode(iocb->ki_filp)->i_sb->s_dev;
271 __entry->ino = file_inode(iocb->ki_filp)->i_ino;
272 __entry->isize = file_inode(iocb->ki_filp)->i_size;
273 __entry->pos = iocb->ki_pos;
276 __entry->ki_flags = iocb->ki_flags;
278 __entry->aio = !is_sync_kiocb(iocb);
293 TP_PROTO(struct kiocb *iocb, int error, ssize_t ret),
294 TP_ARGS(iocb, error, ret),
[all …]
/linux/fs/zonefs/
H A Dfile.c357 static int zonefs_file_write_dio_end_io(struct kiocb *iocb, ssize_t size, in zonefs_file_write_dio_end_io() argument
360 struct inode *inode = file_inode(iocb->ki_filp); in zonefs_file_write_dio_end_io()
368 if (!is_sync_kiocb(iocb)) in zonefs_file_write_dio_end_io()
382 if (i_size_read(inode) < iocb->ki_pos + size) { in zonefs_file_write_dio_end_io()
383 zonefs_update_stats(inode, iocb->ki_pos + size); in zonefs_file_write_dio_end_io()
384 zonefs_i_size_write(inode, iocb->ki_pos + size); in zonefs_file_write_dio_end_io()
425 static ssize_t zonefs_write_checks(struct kiocb *iocb, struct iov_iter *from) in zonefs_write_checks() argument
427 struct file *file = iocb->ki_filp; in zonefs_write_checks()
439 if ((iocb->ki_flags & IOCB_NOWAIT) && !(iocb->ki_flags & IOCB_DIRECT)) in zonefs_write_checks()
442 if (iocb->ki_flags & IOCB_APPEND) { in zonefs_write_checks()
[all …]
/linux/fs/configfs/
H A Dfile.c80 static ssize_t configfs_read_iter(struct kiocb *iocb, struct iov_iter *to) in configfs_read_iter() argument
82 struct file *file = iocb->ki_filp; in configfs_read_iter()
93 __func__, iov_iter_count(to), iocb->ki_pos, buffer->page); in configfs_read_iter()
94 if (iocb->ki_pos >= buffer->count) in configfs_read_iter()
96 retval = copy_to_iter(buffer->page + iocb->ki_pos, in configfs_read_iter()
97 buffer->count - iocb->ki_pos, to); in configfs_read_iter()
98 iocb->ki_pos += retval; in configfs_read_iter()
106 static ssize_t configfs_bin_read_iter(struct kiocb *iocb, struct iov_iter *to) in configfs_bin_read_iter() argument
108 struct file *file = iocb->ki_filp; in configfs_bin_read_iter()
168 if (iocb->ki_pos >= buffer->bin_buffer_size) in configfs_bin_read_iter()
[all …]
/linux/fs/cachefiles/
H A Dio.c20 struct kiocb iocb; member
39 fput(ki->iocb.ki_filp); in cachefiles_put_kiocb()
47 static void cachefiles_read_complete(struct kiocb *iocb, long ret) in cachefiles_read_complete() argument
49 struct cachefiles_kiocb *ki = container_of(iocb, struct cachefiles_kiocb, iocb); in cachefiles_read_complete()
50 struct inode *inode = file_inode(ki->iocb.ki_filp); in cachefiles_read_complete()
140 ki->iocb.ki_filp = file; in cachefiles_read()
141 ki->iocb.ki_pos = start_pos + skipped; in cachefiles_read()
142 ki->iocb.ki_flags = IOCB_DIRECT; in cachefiles_read()
143 ki->iocb.ki_ioprio = get_current_ioprio(); in cachefiles_read()
152 ki->iocb.ki_complete = cachefiles_read_complete; in cachefiles_read()
[all …]
/linux/mm/
H A Dpage_io.c324 struct kiocb iocb; member
344 static void sio_write_complete(struct kiocb *iocb, long ret) in sio_write_complete() argument
346 struct swap_iocb *sio = container_of(iocb, struct swap_iocb, iocb); in sio_write_complete()
385 if (sio->iocb.ki_filp != swap_file || in swap_writepage_fs()
386 sio->iocb.ki_pos + sio->len != pos) { in swap_writepage_fs()
393 init_sync_kiocb(&sio->iocb, swap_file); in swap_writepage_fs()
394 sio->iocb.ki_complete = sio_write_complete; in swap_writepage_fs()
395 sio->iocb.ki_pos = pos; in swap_writepage_fs()
473 struct address_space *mapping = sio->iocb.ki_filp->f_mapping; in swap_write_unplug()
477 ret = mapping->a_ops->swap_rw(&sio->iocb, &from); in swap_write_unplug()
[all …]
H A Dfilemap.c2539 static int filemap_update_page(struct kiocb *iocb, in filemap_update_page() argument
2545 if (iocb->ki_flags & IOCB_NOWAIT) { in filemap_update_page()
2554 if (iocb->ki_flags & (IOCB_NOWAIT | IOCB_NOIO)) in filemap_update_page()
2556 if (!(iocb->ki_flags & IOCB_WAITQ)) { in filemap_update_page()
2565 error = __folio_lock_async(folio, iocb->ki_waitq); in filemap_update_page()
2575 if (filemap_range_uptodate(mapping, iocb->ki_pos, count, folio, in filemap_update_page()
2580 if (iocb->ki_flags & (IOCB_NOIO | IOCB_NOWAIT | IOCB_WAITQ)) in filemap_update_page()
2583 error = filemap_read_folio(iocb->ki_filp, mapping->a_ops->read_folio, in filemap_update_page()
2595 static int filemap_create_folio(struct kiocb *iocb, struct folio_batch *fbatch) in filemap_create_folio() argument
2597 struct address_space *mapping = iocb->ki_filp->f_mapping; in filemap_create_folio()
[all …]
/linux/drivers/gpu/drm/display/
H A Ddrm_dp_aux_dev.c146 static ssize_t auxdev_read_iter(struct kiocb *iocb, struct iov_iter *to) in auxdev_read_iter() argument
148 struct drm_dp_aux_dev *aux_dev = iocb->ki_filp->private_data; in auxdev_read_iter()
149 loff_t pos = iocb->ki_pos; in auxdev_read_iter()
179 if (pos != iocb->ki_pos) in auxdev_read_iter()
180 res = pos - iocb->ki_pos; in auxdev_read_iter()
181 iocb->ki_pos = pos; in auxdev_read_iter()
189 static ssize_t auxdev_write_iter(struct kiocb *iocb, struct iov_iter *from) in auxdev_write_iter() argument
191 struct drm_dp_aux_dev *aux_dev = iocb->ki_filp->private_data; in auxdev_write_iter()
192 loff_t pos = iocb->ki_pos; in auxdev_write_iter()
222 if (pos != iocb->ki_pos) in auxdev_write_iter()
[all …]
/linux/tools/usb/ffs-aio-example/multibuff/device_app/
H A Daio_multibuff.c144 struct iocb **iocb; member
212 iobuf->iocb = malloc(n*sizeof(*iobuf->iocb)); in init_bufs()
218 iobuf->iocb[i] = malloc(sizeof(**iobuf->iocb)); in init_bufs()
228 free(iobuf->iocb[i]); in delete_bufs()
231 free(iobuf->iocb); in delete_bufs()
332 io_prep_pwrite(iobuf[i].iocb[j], ep1, in main()
336 iobuf[i].iocb[j]->u.c.flags |= IOCB_FLAG_RESFD; in main()
337 iobuf[i].iocb[j]->u.c.resfd = evfd; in main()
340 ret = io_submit(ctx, iobuf[i].cnt, iobuf[i].iocb); in main()
/linux/fs/overlayfs/
H A Dfile.c289 static void ovl_file_end_write(struct kiocb *iocb, ssize_t ret) in ovl_file_end_write() argument
291 ovl_file_modified(iocb->ki_filp); in ovl_file_end_write()
322 static ssize_t ovl_read_iter(struct kiocb *iocb, struct iov_iter *iter) in ovl_read_iter() argument
324 struct file *file = iocb->ki_filp; in ovl_read_iter()
338 return backing_file_read_iter(realfile, iter, iocb, iocb->ki_flags, in ovl_read_iter()
342 static ssize_t ovl_write_iter(struct kiocb *iocb, struct iov_iter *iter) in ovl_write_iter() argument
344 struct file *file = iocb->ki_filp; in ovl_write_iter()
348 int ifl = iocb->ki_flags; in ovl_write_iter()
369 ret = backing_file_write_iter(realfile, iter, iocb, ifl, &ctx); in ovl_write_iter()
387 struct kiocb iocb; in ovl_splice_read() local
[all …]
/linux/drivers/comedi/drivers/
H A Dcomedi_8254.c215 return 0xff & i8254->iocb(i8254, 0, reg, 0); in __i8254_read()
221 i8254->iocb(i8254, 1, reg, val); in __i8254_write()
619 static struct comedi_8254 *__i8254_init(comedi_8254_iocb_fn *iocb, in __i8254_init() argument
633 if (!iocb) in __i8254_init()
640 i8254->iocb = iocb; in __i8254_init()
672 comedi_8254_iocb_fn *iocb; in comedi_8254_io_alloc() local
676 iocb = i8254_io8_cb; in comedi_8254_io_alloc()
679 iocb = i8254_io16_cb; in comedi_8254_io_alloc()
682 iocb = i8254_io32_cb; in comedi_8254_io_alloc()
687 return __i8254_init(iocb, iobase, osc_base, iosize, regshift); in comedi_8254_io_alloc()
[all …]

123456