unsigned gate_src[3];   /* Current gate sources */
 };
 
-typedef struct {
+struct dio200_subdev_intr {
        unsigned long iobase;
        spinlock_t spinlock;
        int active;
        unsigned int enabled_isns;
        unsigned int stopcount;
        int continuous;
-} dio200_subdev_intr;
+};
 
 /*
  * The struct comedi_driver structure tells the Comedi core module
 dio200_subdev_intr_insn_bits(struct comedi_device * dev, struct comedi_subdevice * s,
        struct comedi_insn * insn, unsigned int * data)
 {
-       dio200_subdev_intr *subpriv = s->private;
+       struct dio200_subdev_intr *subpriv = s->private;
 
        if (subpriv->has_int_sce) {
                /* Just read the interrupt status register.  */
  */
 static void dio200_stop_intr(struct comedi_device * dev, struct comedi_subdevice * s)
 {
-       dio200_subdev_intr *subpriv = s->private;
+       struct dio200_subdev_intr *subpriv = s->private;
 
        subpriv->active = 0;
        subpriv->enabled_isns = 0;
 {
        unsigned int n;
        unsigned isn_bits;
-       dio200_subdev_intr *subpriv = s->private;
+       struct dio200_subdev_intr *subpriv = s->private;
        struct comedi_cmd *cmd = &s->async->cmd;
        int retval = 0;
 
 dio200_inttrig_start_intr(struct comedi_device * dev, struct comedi_subdevice * s,
        unsigned int trignum)
 {
-       dio200_subdev_intr *subpriv;
+       struct dio200_subdev_intr *subpriv;
        unsigned long flags;
        int event = 0;
 
  */
 static int dio200_handle_read_intr(struct comedi_device * dev, struct comedi_subdevice * s)
 {
-       dio200_subdev_intr *subpriv = s->private;
+       struct dio200_subdev_intr *subpriv = s->private;
        unsigned triggered;
        unsigned intstat;
        unsigned cur_enabled;
  */
 static int dio200_subdev_intr_cancel(struct comedi_device * dev, struct comedi_subdevice * s)
 {
-       dio200_subdev_intr *subpriv = s->private;
+       struct dio200_subdev_intr *subpriv = s->private;
        unsigned long flags;
 
        comedi_spin_lock_irqsave(&subpriv->spinlock, flags);
 static int dio200_subdev_intr_cmd(struct comedi_device * dev, struct comedi_subdevice * s)
 {
        struct comedi_cmd *cmd = &s->async->cmd;
-       dio200_subdev_intr *subpriv = s->private;
+       struct dio200_subdev_intr *subpriv = s->private;
        unsigned long flags;
        int event = 0;
 
 dio200_subdev_intr_init(struct comedi_device * dev, struct comedi_subdevice * s,
        unsigned long iobase, unsigned valid_isns, int has_int_sce)
 {
-       dio200_subdev_intr *subpriv;
+       struct dio200_subdev_intr *subpriv;
 
        subpriv = kzalloc(sizeof(*subpriv), GFP_KERNEL);
        if (!subpriv) {
 static void
 dio200_subdev_intr_cleanup(struct comedi_device * dev, struct comedi_subdevice * s)
 {
-       dio200_subdev_intr *subpriv = s->private;
+       struct dio200_subdev_intr *subpriv = s->private;
 
        if (subpriv) {
                kfree(subpriv);
 static void
 dio200_subdev_8254_cleanup(struct comedi_device * dev, struct comedi_subdevice * s)
 {
-       dio200_subdev_intr *subpriv = s->private;
+       struct dio200_subdev_intr *subpriv = s->private;
 
        if (subpriv) {
                kfree(subpriv);