int snd_seq_create_kernel_client(struct snd_card *card, int client_index,
                                 const char *name_fmt, ...);
 int snd_seq_delete_kernel_client(int client);
-int snd_seq_kernel_client_enqueue(int client, struct snd_seq_event *ev, int atomic, int hop);
+int snd_seq_kernel_client_enqueue(int client, struct snd_seq_event *ev,
+                                 struct file *file, bool blocking);
 int snd_seq_kernel_client_dispatch(int client, struct snd_seq_event *ev, int atomic, int hop);
 int snd_seq_kernel_client_ctl(int client, unsigned int cmd, void *arg);
 
 
                return 0; /* invalid event - no need to insert queue */
 
        event.time.tick = snd_seq_oss_timer_cur_tick(dp->timer);
-       if (dp->timer->realtime || !dp->timer->running) {
+       if (dp->timer->realtime || !dp->timer->running)
                snd_seq_oss_dispatch(dp, &event, 0, 0);
-       } else {
-               if (is_nonblock_mode(dp->file_mode))
-                       rc = snd_seq_kernel_client_enqueue(dp->cseq, &event, 0, 0);
-               else
-                       rc = snd_seq_kernel_client_enqueue_blocking(dp->cseq, &event, opt, 0, 0);
-       }
+       else
+               rc = snd_seq_kernel_client_enqueue(dp->cseq, &event, opt,
+                                                  !is_nonblock_mode(dp->file_mode));
        return rc;
 }
                
 
                rec->t.code = SEQ_SYNCTIMER;
                rec->t.time = time;
                q->sync_event_put = 1;
-               snd_seq_kernel_client_enqueue_blocking(dp->cseq, &ev, NULL, 0, 0);
+               snd_seq_kernel_client_enqueue(dp->cseq, &ev, NULL, true);
        }
 
        wait_event_interruptible_timeout(q->sync_sleep, ! q->sync_event_put, HZ);
 
 }
 EXPORT_SYMBOL(snd_seq_delete_kernel_client);
 
-/* skeleton to enqueue event, called from snd_seq_kernel_client_enqueue
- * and snd_seq_kernel_client_enqueue_blocking
+/*
+ * exported, called by kernel clients to enqueue events (w/o blocking)
+ *
+ * RETURN VALUE: zero if succeed, negative if error
  */
-static int kernel_client_enqueue(int client, struct snd_seq_event *ev,
-                                struct file *file, int blocking,
-                                int atomic, int hop)
+int snd_seq_kernel_client_enqueue(int client, struct snd_seq_event *ev,
+                                 struct file *file, bool blocking)
 {
        struct snd_seq_client *cptr;
        int result;
                result = -EPERM;
        else /* send it */
                result = snd_seq_client_enqueue_event(cptr, ev, file, blocking,
-                                                     atomic, hop, NULL);
+                                                     false, 0, NULL);
 
        snd_seq_client_unlock(cptr);
        return result;
 }
-
-/*
- * exported, called by kernel clients to enqueue events (w/o blocking)
- *
- * RETURN VALUE: zero if succeed, negative if error
- */
-int snd_seq_kernel_client_enqueue(int client, struct snd_seq_event * ev,
-                                 int atomic, int hop)
-{
-       return kernel_client_enqueue(client, ev, NULL, 0, atomic, hop);
-}
 EXPORT_SYMBOL(snd_seq_kernel_client_enqueue);
 
-/*
- * exported, called by kernel clients to enqueue events (with blocking)
- *
- * RETURN VALUE: zero if succeed, negative if error
- */
-int snd_seq_kernel_client_enqueue_blocking(int client, struct snd_seq_event * ev,
-                                          struct file *file,
-                                          int atomic, int hop)
-{
-       return kernel_client_enqueue(client, ev, file, 1, atomic, hop);
-}
-EXPORT_SYMBOL(snd_seq_kernel_client_enqueue_blocking);
-
 /* 
  * exported, called by kernel clients to dispatch events directly to other
  * clients, bypassing the queues.  Event time-stamp will be updated.
 
 /* dispatch event to client(s) */
 int snd_seq_dispatch_event(struct snd_seq_event_cell *cell, int atomic, int hop);
 
-/* exported to other modules */
-int snd_seq_kernel_client_enqueue(int client, struct snd_seq_event *ev, int atomic, int hop);
-int snd_seq_kernel_client_enqueue_blocking(int client, struct snd_seq_event * ev,
-                                          struct file *file, int atomic, int hop);
 int snd_seq_kernel_client_write_poll(int clientid, struct file *file, poll_table *wait);
 int snd_seq_client_notify_subscription(int client, int port,
                                       struct snd_seq_port_subscribe *info, int evtype);