static char *floppy_track_buffer;
 static int max_buffer_sectors;
 
-typedef void (*done_f)(int);
 static const struct cont_t {
        void (*interrupt)(void);
                                /* this is called after the interrupt of the
                                 * main command */
        void (*redo)(void);     /* this is called to retry the operation */
        void (*error)(void);    /* this is called to tally an error */
-       done_f done;            /* this is called to say if the operation has
+       void (*done)(int);      /* this is called to say if the operation has
                                 * succeeded/failed */
 } *cont;
 
 {
 }
 
+static void empty_done(int result)
+{
+}
+
 static void (*floppy_work_fn)(void);
 
 static void floppy_work_workfn(struct work_struct *work)
        .interrupt      = empty,
        .redo           = do_wakeup,
        .error          = empty,
-       .done           = (done_f)empty
+       .done           = empty_done,
 };
 
 static const struct cont_t intr_cont = {
        .interrupt      = empty,
        .redo           = process_fd_request,
        .error          = empty,
-       .done           = (done_f)empty
+       .done           = empty_done,
 };
 
 /* schedules handler, waiting for completion. May be interrupted, will then