-typedef struct _snd_hwdep_ops {
- long long (*llseek) (snd_hwdep_t *hw, struct file * file, long long offset, int orig);
- long (*read) (snd_hwdep_t * hw, char *buf, long count, loff_t *offset);
- long (*write) (snd_hwdep_t * hw, const char *buf, long count, loff_t *offset);
- int (*open) (snd_hwdep_t * hw, struct file * file);
- int (*release) (snd_hwdep_t * hw, struct file * file);
- unsigned int (*poll) (snd_hwdep_t * hw, struct file * file, poll_table * wait);
- int (*ioctl) (snd_hwdep_t * hw, struct file * file, unsigned int cmd, unsigned long arg);
- int (*mmap) (snd_hwdep_t * hw, struct file * file, struct vm_area_struct * vma);
- int (*dsp_status) (snd_hwdep_t * hw, snd_hwdep_dsp_status_t * status);
- int (*dsp_load) (snd_hwdep_t * hw, snd_hwdep_dsp_image_t * image);
-} snd_hwdep_ops_t;
+struct snd_hwdep_ops {
+ long long (*llseek) (struct snd_hwdep *hw, struct file * file, long long offset, int orig);
+ long (*read) (struct snd_hwdep *hw, char __user *buf, long count, loff_t *offset);
+ long (*write) (struct snd_hwdep *hw, const char __user *buf, long count, loff_t *offset);
+ int (*open) (struct snd_hwdep * hw, struct file * file);
+ int (*release) (struct snd_hwdep *hw, struct file * file);
+ unsigned int (*poll) (struct snd_hwdep *hw, struct file * file, poll_table * wait);
+ int (*ioctl) (struct snd_hwdep *hw, struct file * file, unsigned int cmd, unsigned long arg);
+ int (*ioctl_compat) (struct snd_hwdep *hw, struct file * file, unsigned int cmd, unsigned long arg);
+ int (*mmap) (struct snd_hwdep *hw, struct file * file, struct vm_area_struct * vma);
+ int (*dsp_status) (struct snd_hwdep *hw, struct snd_hwdep_dsp_status *status);
+ int (*dsp_load) (struct snd_hwdep *hw, struct snd_hwdep_dsp_image *image);
+};