diff --git a/daemon/media_socket.c b/daemon/media_socket.c
index 7629689be..f0a38a514 100644
--- a/daemon/media_socket.c
+++ b/daemon/media_socket.c
@@ -1297,7 +1297,7 @@ void free_release_sfd_intf_list(struct sfd_intf_list *il) {
 
 
 /* called lock-free */
-static void stream_fd_closed(int fd, void *p, uintptr_t u) {
+static void stream_fd_closed(int fd, void *p) {
 	stream_fd *sfd = p;
 	call_t *c;
 	int i;
@@ -3135,7 +3135,7 @@ out:
 }
 
 
-static void stream_fd_readable(int fd, void *p, uintptr_t u) {
+static void stream_fd_readable(int fd, void *p) {
 	stream_fd *sfd = p;
 	char buf[RTP_BUFFER_SIZE];
 	int ret, iters;
@@ -3197,7 +3197,7 @@ restart:
 				continue;
 			if (errno == EAGAIN || errno == EWOULDBLOCK)
 				break;
-			stream_fd_closed(fd, sfd, 0);
+			stream_fd_closed(fd, sfd);
 			goto done;
 		}
 		if (ret >= MAX_RTP_PACKET_SIZE)
diff --git a/daemon/tcp_listener.c b/daemon/tcp_listener.c
index dc1d8917e..09d82e2ec 100644
--- a/daemon/tcp_listener.c
+++ b/daemon/tcp_listener.c
@@ -29,7 +29,7 @@ struct streambuf_callback {
 TYPED_GHASHTABLE_IMPL(tcp_streams_ht, g_direct_hash, g_direct_equal, NULL, NULL)
 
 
-static void tcp_listener_incoming(int fd, void *p, uintptr_t x) {
+static void tcp_listener_incoming(int fd, void *p) {
 	struct tcp_listener_callback *cb = p;
 	int ret;
 	char addr[64];
@@ -57,7 +57,7 @@ static void tcp_listener_incoming(int fd, void *p, uintptr_t x) {
 	}
 }
 
-static void tcp_listener_closed(int fd, void *p, uintptr_t u) {
+static void tcp_listener_closed(int fd, void *p) {
 	abort();
 }
 
@@ -108,7 +108,7 @@ static void streambuf_stream_free(void *p) {
 	free(s->addr);
 }
 
-static void streambuf_stream_closed(int fd, void *p, uintptr_t u) {
+static void streambuf_stream_closed(int fd, void *p) {
 	struct streambuf_stream *s = p;
 
 	if (s->sock.fd == -1)
@@ -127,7 +127,7 @@ static void streambuf_stream_closed(int fd, void *p, uintptr_t u) {
 		obj_put(s);
 }
 
-static void streambuf_stream_readable(int fd, void *p, uintptr_t u) {
+static void streambuf_stream_readable(int fd, void *p) {
 	struct streambuf_stream *s = p;
 
 	int ret = streambuf_readable(s->inbuf);
@@ -142,14 +142,14 @@ static void streambuf_stream_readable(int fd, void *p, uintptr_t u) {
 	return;
 
 close:
-	streambuf_stream_closed(fd, s, 0);
+	streambuf_stream_closed(fd, s);
 }
 
-static void streambuf_stream_writeable(int fd, void *p, uintptr_t u) {
+static void streambuf_stream_writeable(int fd, void *p) {
 	struct streambuf_stream *s = p;
 
 	if (streambuf_writeable(s->outbuf))
-		streambuf_stream_closed(fd, s, 0);
+		streambuf_stream_closed(fd, s);
 }
 
 
@@ -248,7 +248,7 @@ void streambuf_listener_shutdown(struct streambuf_listener *listener) {
 }
 
 void streambuf_stream_close(struct streambuf_stream *s) {
-	streambuf_stream_closed(s->sock.fd, s, 0);
+	streambuf_stream_closed(s->sock.fd, s);
 }
 void streambuf_stream_shutdown(struct streambuf_stream *s) {
 	shutdown(s->sock.fd, SHUT_WR);
diff --git a/daemon/udp_listener.c b/daemon/udp_listener.c
index 1934b60b9..39764f1e1 100644
--- a/daemon/udp_listener.c
+++ b/daemon/udp_listener.c
@@ -22,11 +22,11 @@ struct udp_listener_callback {
 	struct obj *p;
 };
 
-static void udp_listener_closed(int fd, void *p, uintptr_t x) {
+static void udp_listener_closed(int fd, void *p) {
 	abort();
 }
 
-static void udp_listener_incoming(int fd, void *p, uintptr_t x) {
+static void udp_listener_incoming(int fd, void *p) {
 	struct udp_listener_callback *cb = p;
 	int len;
 	struct udp_buffer *udp_buf = NULL;
diff --git a/lib/poller.c b/lib/poller.c
index 250f9fcd3..c6b8f222f 100644
--- a/lib/poller.c
+++ b/lib/poller.c
@@ -208,12 +208,12 @@ static int poller_poll(struct poller *p, int timeout, struct epoll_event *evs, i
 		mutex_unlock(&p->lock);
 
 		if (it->error) {
-			it->item.closed(it->item.fd, it->item.obj, it->item.uintp);
+			it->item.closed(it->item.fd, it->item.obj);
 			goto next;
 		}
 
 		if ((ev->events & (POLLERR | POLLHUP)))
-			it->item.closed(it->item.fd, it->item.obj, it->item.uintp);
+			it->item.closed(it->item.fd, it->item.obj);
 		else if ((ev->events & POLLOUT)) {
 			mutex_lock(&p->lock);
 			it->blocked = 0;
@@ -226,10 +226,10 @@ static int poller_poll(struct poller *p, int timeout, struct epoll_event *evs, i
 			mutex_unlock(&p->lock);
 
 			if (eret == 0 && it->item.writeable)
-				it->item.writeable(it->item.fd, it->item.obj, it->item.uintp);
+				it->item.writeable(it->item.fd, it->item.obj);
 		}
 		else if ((ev->events & POLLIN))
-			it->item.readable(it->item.fd, it->item.obj, it->item.uintp);
+			it->item.readable(it->item.fd, it->item.obj);
 		else if (!ev->events)
 			goto next;
 		else
diff --git a/lib/poller.h b/lib/poller.h
index a32ca06d1..89542d8e4 100644
--- a/lib/poller.h
+++ b/lib/poller.h
@@ -14,12 +14,11 @@ struct obj;
 
 
 
-typedef void (*poller_func_t)(int, void *, uintptr_t);
+typedef void (*poller_func_t)(int, void *);
 
 struct poller_item {
 	int				fd;
 	struct obj			*obj;
-	uintptr_t			uintp;
 
 	poller_func_t			readable;
 	poller_func_t			writeable;
diff --git a/perf-tester/main.c b/perf-tester/main.c
index e189bc416..50d4c8f50 100644
--- a/perf-tester/main.c
+++ b/perf-tester/main.c
@@ -328,7 +328,7 @@ static void *worker(void *p) {
 	return NULL;
 }
 
-static void readable(int fd, void *o, uintptr_t x) {
+static void readable(int fd, void *o) {
 	struct stream *s = o;
 	obj_hold(s);
 
@@ -391,7 +391,7 @@ static void readable(int fd, void *o, uintptr_t x) {
 	worker_self->comput += end - start;
 }
 
-static void closed(int fd, void *o, uintptr_t x) {
+static void closed(int fd, void *o) {
 	abort();
 }