Index: uspace/drv/audio/sb16/dsp.c
===================================================================
--- uspace/drv/audio/sb16/dsp.c	(revision 2d9197eae003be97dc7b6a6c6c4e95d858029670)
+++ uspace/drv/audio/sb16/dsp.c	(revision b4970183584d3b011f21b3b9d7baa1d10beca9b6)
@@ -46,5 +46,4 @@
 #include "dsp.h"
 
-#define BUFFER_ID 1
 #define MAX_BUFFER_SIZE (PAGE_SIZE)
 
@@ -221,5 +220,5 @@
 }
 
-int sb_dsp_get_buffer(sb_dsp_t *dsp, void **buffer, size_t *size, unsigned *id)
+int sb_dsp_get_buffer(sb_dsp_t *dsp, void **buffer, size_t *size)
 {
 	assert(dsp);
@@ -233,6 +232,6 @@
 	const int ret = sb_setup_buffer(dsp, *size);
 	if (ret == EOK) {
-		ddf_log_debug("Providing buffer(%u): %p, %zu B.",
-		    BUFFER_ID, dsp->buffer.data, dsp->buffer.size);
+		ddf_log_debug("Providing buffer: %p, %zu B.",
+		    dsp->buffer.data, dsp->buffer.size);
 
 		if (buffer)
@@ -240,16 +239,12 @@
 		if (size)
 			*size = dsp->buffer.size;
-		if (id)
-			*id = BUFFER_ID;
 	}
 	return ret;
 }
 
-int sb_dsp_set_event_session(sb_dsp_t *dsp, unsigned id, async_sess_t *session)
+int sb_dsp_set_event_session(sb_dsp_t *dsp, async_sess_t *session)
 {
 	assert(dsp);
 	assert(session);
-	if (id != BUFFER_ID)
-		return ENOENT;
 	if (dsp->event_session)
 		return EBUSY;
@@ -259,9 +254,7 @@
 }
 
-int sb_dsp_release_buffer(sb_dsp_t *dsp, unsigned id)
-{
-	assert(dsp);
-	if (id != BUFFER_ID)
-		return ENOENT;
+int sb_dsp_release_buffer(sb_dsp_t *dsp)
+{
+	assert(dsp);
 	sb_clear_buffer(dsp);
 	async_exchange_end(dsp->event_exchange);
@@ -274,5 +267,5 @@
 }
 
-int sb_dsp_start_playback(sb_dsp_t *dsp, unsigned id, unsigned parts,
+int sb_dsp_start_playback(sb_dsp_t *dsp, unsigned parts,
     unsigned channels, unsigned sampling_rate, pcm_sample_format_t format)
 {
@@ -289,9 +282,6 @@
 
 	/* Check supported parameters */
-	ddf_log_debug("Requested playback on buffer \"%u\" (%u parts): %uHz, "
-	    "%s, %u channel(s).", id, parts, sampling_rate,
-	    pcm_sample_format_str(format), channels);
-	if (id != BUFFER_ID)
-		return ENOENT;
+	ddf_log_debug("Requested playback (%u parts): %uHz, %s, %u channel(s).",
+	    parts, sampling_rate, pcm_sample_format_str(format), channels);
 	if (channels != 1 && channels != 2)
 		return ENOTSUP;
@@ -338,11 +328,9 @@
 }
 
-int sb_dsp_stop_playback(sb_dsp_t *dsp, unsigned id)
-{
-	assert(dsp);
-	if (id != BUFFER_ID)
-		return ENOENT;
+int sb_dsp_stop_playback(sb_dsp_t *dsp)
+{
+	assert(dsp);
 	sb_dsp_write(dsp, DMA_16B_EXIT);
-	ddf_log_debug("Stopping playback on buffer %u.", id);
+	ddf_log_debug("Stopping playback on buffer.");
 	async_msg_0(dsp->event_exchange, PCM_EVENT_PLAYBACK_TERMINATED);
 	async_exchange_end(dsp->event_exchange);
@@ -351,5 +339,5 @@
 }
 
-int sb_dsp_start_record(sb_dsp_t *dsp, unsigned id, unsigned parts,
+int sb_dsp_start_record(sb_dsp_t *dsp, unsigned parts,
     unsigned channels, unsigned sampling_rate, pcm_sample_format_t format)
 {
@@ -366,9 +354,6 @@
 
 	/* Check supported parameters */
-	ddf_log_debug("Requested recording on buffer \"%u\" (%u parts): %uHz, "
-	    "%s, %u channel(s).", id, parts, sampling_rate,
-	    pcm_sample_format_str(format), channels);
-	if (id != BUFFER_ID)
-		return ENOENT;
+	ddf_log_debug("Requested record (%u parts): %uHz, %s, %u channel(s).",
+	    parts, sampling_rate, pcm_sample_format_str(format), channels);
 	if (channels != 1 && channels != 2)
 		return ENOTSUP;
@@ -414,11 +399,9 @@
 }
 
-int sb_dsp_stop_record(sb_dsp_t *dsp, unsigned id)
-{
-	assert(dsp);
-	if (id != BUFFER_ID)
-		return ENOENT;
+int sb_dsp_stop_record(sb_dsp_t *dsp)
+{
+	assert(dsp);
 	sb_dsp_write(dsp, DMA_16B_EXIT);
-	ddf_log_debug("Stopping playback on buffer %u.", id);
+	ddf_log_debug("Stopped recording");
 	async_msg_0(dsp->event_exchange, PCM_EVENT_RECORDING_TERMINATED);
 	async_exchange_end(dsp->event_exchange);
Index: uspace/drv/audio/sb16/dsp.h
===================================================================
--- uspace/drv/audio/sb16/dsp.h	(revision 2d9197eae003be97dc7b6a6c6c4e95d858029670)
+++ uspace/drv/audio/sb16/dsp.h	(revision b4970183584d3b011f21b3b9d7baa1d10beca9b6)
@@ -72,13 +72,13 @@
 void sb_dsp_interrupt(sb_dsp_t *dsp);
 
-int sb_dsp_get_buffer(sb_dsp_t *dsp, void **buffer, size_t *size, unsigned *id);
-int sb_dsp_set_event_session(sb_dsp_t *dsp, unsigned id, async_sess_t *session);
-int sb_dsp_release_buffer(sb_dsp_t *dsp, unsigned id);
-int sb_dsp_start_playback(sb_dsp_t *dsp, unsigned id, unsigned parts,
+int sb_dsp_get_buffer(sb_dsp_t *dsp, void **buffer, size_t *size);
+int sb_dsp_set_event_session(sb_dsp_t *dsp, async_sess_t *session);
+int sb_dsp_release_buffer(sb_dsp_t *dsp);
+int sb_dsp_start_playback(sb_dsp_t *dsp, unsigned parts,
     unsigned channels, unsigned sample_rate, pcm_sample_format_t format);
-int sb_dsp_stop_playback(sb_dsp_t *dsp, unsigned id);
-int sb_dsp_start_record(sb_dsp_t *dsp, unsigned id, unsigned parts,
+int sb_dsp_stop_playback(sb_dsp_t *dsp);
+int sb_dsp_start_record(sb_dsp_t *dsp, unsigned parts,
     unsigned channels, unsigned sample_rate, pcm_sample_format_t format);
-int sb_dsp_stop_record(sb_dsp_t *dsp, unsigned id);
+int sb_dsp_stop_record(sb_dsp_t *dsp);
 
 #endif
Index: uspace/drv/audio/sb16/pcm_iface.c
===================================================================
--- uspace/drv/audio/sb16/pcm_iface.c	(revision 2d9197eae003be97dc7b6a6c6c4e95d858029670)
+++ uspace/drv/audio/sb16/pcm_iface.c	(revision b4970183584d3b011f21b3b9d7baa1d10beca9b6)
@@ -47,29 +47,28 @@
 }
 
-static int sb_get_buffer(ddf_fun_t *fun,
-    void **buffer, size_t *size, unsigned *id)
+static int sb_get_buffer(ddf_fun_t *fun, void **buffer, size_t *size)
 {
 	assert(fun);
 	assert(fun->driver_data);
 	sb_dsp_t *dsp = fun->driver_data;
-	return sb_dsp_get_buffer(dsp, buffer, size, id);
+	return sb_dsp_get_buffer(dsp, buffer, size);
 }
-static int sb_set_event_session(ddf_fun_t *fun, unsigned id, async_sess_t *sess)
+static int sb_set_event_session(ddf_fun_t *fun, async_sess_t *sess)
 {
 	assert(fun);
 	assert(fun->driver_data);
 	sb_dsp_t *dsp = fun->driver_data;
-	return sb_dsp_set_event_session(dsp, id, sess);
+	return sb_dsp_set_event_session(dsp, sess);
 }
 
-static int sb_release_buffer(ddf_fun_t *fun, unsigned id)
+static int sb_release_buffer(ddf_fun_t *fun)
 {
 	assert(fun);
 	assert(fun->driver_data);
 	sb_dsp_t *dsp = fun->driver_data;
-	return sb_dsp_release_buffer(dsp, id);
+	return sb_dsp_release_buffer(dsp);
 }
 
-static int sb_start_playback(ddf_fun_t *fun, unsigned id, unsigned parts,
+static int sb_start_playback(ddf_fun_t *fun, unsigned parts,
     unsigned channels, unsigned sample_rate, pcm_sample_format_t format)
 {
@@ -78,16 +77,16 @@
 	sb_dsp_t *dsp = fun->driver_data;
 	return sb_dsp_start_playback(
-	    dsp, id, parts, channels, sample_rate, format);
+	    dsp, parts, channels, sample_rate, format);
 }
 
-static int sb_stop_playback(ddf_fun_t *fun, unsigned id)
+static int sb_stop_playback(ddf_fun_t *fun)
 {
 	assert(fun);
 	assert(fun->driver_data);
 	sb_dsp_t *dsp = fun->driver_data;
-	return sb_dsp_stop_playback(dsp, id);
+	return sb_dsp_stop_playback(dsp);
 }
 
-static int sb_start_record(ddf_fun_t *fun, unsigned id, unsigned parts,
+static int sb_start_record(ddf_fun_t *fun, unsigned parts,
     unsigned channels, unsigned sample_rate, pcm_sample_format_t format)
 {
@@ -96,13 +95,13 @@
 	sb_dsp_t *dsp = fun->driver_data;
 	return sb_dsp_start_record(
-	    dsp, id, parts, channels, sample_rate, format);
+	    dsp, parts, channels, sample_rate, format);
 }
 
-static int sb_stop_record(ddf_fun_t *fun, unsigned id)
+static int sb_stop_record(ddf_fun_t *fun)
 {
 	assert(fun);
 	assert(fun->driver_data);
 	sb_dsp_t *dsp = fun->driver_data;
-	return sb_dsp_stop_record(dsp, id);
+	return sb_dsp_stop_record(dsp);
 }
 
