]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blame - drivers/staging/comedi/comedi_internal.h
staging: comedi: protect buffer from being freed while mmapped
[mirror_ubuntu-artful-kernel.git] / drivers / staging / comedi / comedi_internal.h
CommitLineData
97ce84de
IA
1#ifndef _COMEDI_INTERNAL_H
2#define _COMEDI_INTERNAL_H
3
f286766e
IA
4#include <linux/types.h>
5
2434358a 6/*
4d7df821 7 * various internal comedi stuff
2434358a 8 */
3b6b25b5
GKH
9int do_rangeinfo_ioctl(struct comedi_device *dev,
10 struct comedi_rangeinfo __user *arg);
7638ffcb 11struct comedi_device *comedi_alloc_board_minor(struct device *hardware_device);
3346b798 12void comedi_release_hardware_device(struct device *hardware_device);
f65cc544 13int comedi_alloc_subdevice_minor(struct comedi_subdevice *s);
e9ab1c2f 14void comedi_free_subdevice_minor(struct comedi_subdevice *s);
61c9fb0e 15
7029a874
GKH
16int comedi_buf_alloc(struct comedi_device *dev, struct comedi_subdevice *s,
17 unsigned long new_size);
61c9fb0e 18void comedi_buf_reset(struct comedi_async *async);
af93da31
IA
19bool comedi_buf_is_mmapped(struct comedi_async *async);
20void comedi_buf_map_get(struct comedi_buf_map *bm);
21int comedi_buf_map_put(struct comedi_buf_map *bm);
8bd650f9 22unsigned int comedi_buf_write_n_allocated(struct comedi_async *async);
d19db51a 23void comedi_device_cancel_all(struct comedi_device *dev);
4d7df821
IA
24
25extern unsigned int comedi_default_buf_size_kb;
26extern unsigned int comedi_default_buf_maxsize_kb;
39bd5e59
HS
27
28/* drivers.c */
29
f286766e 30extern struct comedi_driver *comedi_drivers;
c383e2d6 31extern struct mutex comedi_drivers_list_lock;
97ce84de 32
39bd5e59
HS
33int insn_inval(struct comedi_device *, struct comedi_subdevice *,
34 struct comedi_insn *, unsigned int *);
35
36void comedi_device_detach(struct comedi_device *);
37int comedi_device_attach(struct comedi_device *, struct comedi_devconfig *);
38
085494ac
HS
39#ifdef CONFIG_PROC_FS
40
41/* proc.c */
42
43void comedi_proc_init(void);
44void comedi_proc_cleanup(void);
45#else
46static inline void comedi_proc_init(void)
47{
48}
49static inline void comedi_proc_cleanup(void)
50{
51}
52#endif
53
97ce84de 54#endif /* _COMEDI_INTERNAL_H */