22 #ifndef _COBALT_RTDM_ANALOGY_SUBDEVICE_H 23 #define _COBALT_RTDM_ANALOGY_SUBDEVICE_H 25 #include <linux/list.h> 26 #include <rtdm/analogy/instruction.h> 27 #include <rtdm/analogy/command.h> 45 struct a4l_device *
dev;
51 struct a4l_buffer *
buf;
99 unsigned char nb_chan,
unsigned int *chans);
101 #define a4l_subd_is_input(x) ((A4L_SUBD_MASK_READ & (x)->flags) != 0) 104 #define a4l_subd_is_output(x) \ 105 ((A4L_SUBD_MASK_WRITE & (x)->flags) != 0 || \ 106 (A4L_SUBD_DIO & (x)->flags) != 0) 114 int a4l_ioctl_subdinfo(
struct a4l_device_context * cxt,
void *arg);
115 int a4l_ioctl_chaninfo(
struct a4l_device_context * cxt,
void *arg);
116 int a4l_ioctl_rnginfo(
struct a4l_device_context * cxt,
void *arg);
117 int a4l_ioctl_nbchaninfo(
struct a4l_device_context * cxt,
void *arg);
118 int a4l_ioctl_nbrnginfo(
struct a4l_device_context * cxt,
void *arg);
Structure describing some channel's characteristics.
Definition: channel_range.h:159
struct a4l_buffer * buf
Linked buffer.
Definition: subdevice.h:51
struct a4l_channels_desc * chan_desc
Tab of channels descriptors pointers.
Definition: subdevice.h:61
unsigned int idx
Subdevice index.
Definition: subdevice.h:48
Structure describing the asynchronous instruction.
Definition: analogy.h:289
unsigned long status
Subdevice's status.
Definition: subdevice.h:55
int(* do_cmdtest)(struct a4l_subdevice *, struct a4l_cmd_desc *)
Callback for command checking.
Definition: subdevice.h:79
struct a4l_rngdesc * rng_desc
Tab of ranges descriptors pointers.
Definition: subdevice.h:63
void(* munge)(struct a4l_subdevice *, void *, unsigned long)
Callback for munge operation.
Definition: subdevice.h:83
struct list_head list
List stuff.
Definition: subdevice.h:42
int(* insn_write)(struct a4l_subdevice *, struct a4l_kernel_instruction *)
Callback for the instruction "write".
Definition: subdevice.h:71
void(* cancel)(struct a4l_subdevice *)
Callback for asynchronous transfer cancellation.
Definition: subdevice.h:81
int(* insn_config)(struct a4l_subdevice *, struct a4l_kernel_instruction *)
Callback for the configuration instruction.
Definition: subdevice.h:75
Analogy for Linux, channel, range related features.
struct a4l_cmd_desc * cmd_mask
Command capabilities mask.
Definition: subdevice.h:65
Structure describing a (unique) range.
Definition: channel_range.h:202
Structure describing the subdevice.
Definition: subdevice.h:40
char priv[0]
Private data.
Definition: subdevice.h:88
Structure describing a channels set.
Definition: channel_range.h:187
int(* do_cmd)(struct a4l_subdevice *, struct a4l_cmd_desc *)
Callback for command handling.
Definition: subdevice.h:77
int(* insn_read)(struct a4l_subdevice *, struct a4l_kernel_instruction *)
Callback for the instruction "read".
Definition: subdevice.h:69
int(* insn_bits)(struct a4l_subdevice *, struct a4l_kernel_instruction *)
Callback for the instruction "bits".
Definition: subdevice.h:73
int(* trigger)(struct a4l_subdevice *, lsampl_t)
Callback for trigger operation.
Definition: subdevice.h:85
struct a4l_device * dev
Containing device.
Definition: subdevice.h:45
unsigned long flags
Type flags.
Definition: subdevice.h:59