diff --git a/src/osmo-bts-litecell15/lc15_l1_hw.c b/src/osmo-bts-litecell15/lc15_l1_hw.c
index 41dd72d..b58a2f4 100644
--- a/src/osmo-bts-litecell15/lc15_l1_hw.c
+++ b/src/osmo-bts-litecell15/lc15_l1_hw.c
@@ -153,11 +153,7 @@
 			buf, strerror(errno));
 		return rc;
 	}
-	read_ofd->fd = rc;
-	read_ofd->priv_nr = q;
-	read_ofd->data = hdl;
-	read_ofd->cb = l1if_fd_cb;
-	read_ofd->when = OSMO_FD_READ;
+	osmo_fd_setup(read_ofd, rc, OSMO_FD_READ, l1if_fd_cb, hdl, q);
 	rc = osmo_fd_register(read_ofd);
 	if (rc < 0) {
 		close(read_ofd->fd);
@@ -176,10 +172,7 @@
 	}
 	osmo_wqueue_init(wq, 10);
 	wq->write_cb = l1fd_write_cb;
-	write_ofd->fd = rc;
-	write_ofd->priv_nr = q;
-	write_ofd->data = hdl;
-	write_ofd->when = OSMO_FD_WRITE;
+	osmo_fd_setup(write_ofd, rc, OSMO_FD_WRITE, osmo_wqueue_bfd_cb, hdl, q);
 	rc = osmo_fd_register(write_ofd);
 	if (rc < 0) {
 		close(write_ofd->fd);
diff --git a/src/osmo-bts-oc2g/oc2g_l1_hw.c b/src/osmo-bts-oc2g/oc2g_l1_hw.c
index b23282a..3ff607b 100644
--- a/src/osmo-bts-oc2g/oc2g_l1_hw.c
+++ b/src/osmo-bts-oc2g/oc2g_l1_hw.c
@@ -153,11 +153,7 @@
 			buf, strerror(errno));
 		return rc;
 	}
-	read_ofd->fd = rc;
-	read_ofd->priv_nr = q;
-	read_ofd->data = hdl;
-	read_ofd->cb = l1if_fd_cb;
-	read_ofd->when = OSMO_FD_READ;
+	osmo_fd_setup(read_ofd, rc, OSMO_FD_READ, l1if_fd_cb, hdl, q);
 	rc = osmo_fd_register(read_ofd);
 	if (rc < 0) {
 		close(read_ofd->fd);
@@ -176,10 +172,7 @@
 	}
 	osmo_wqueue_init(wq, 10);
 	wq->write_cb = l1fd_write_cb;
-	write_ofd->fd = rc;
-	write_ofd->priv_nr = q;
-	write_ofd->data = hdl;
-	write_ofd->when = OSMO_FD_WRITE;
+	osmo_fd_setup(write_ofd, rc, OSMO_FD_WRITE, osmo_wqueue_bfd_cb, hdl, q);
 	rc = osmo_fd_register(write_ofd);
 	if (rc < 0) {
 		close(write_ofd->fd);
diff --git a/src/osmo-bts-sysmo/sysmo_l1_fwd.c b/src/osmo-bts-sysmo/sysmo_l1_fwd.c
index cfb2b95..c7f2dab 100644
--- a/src/osmo-bts-sysmo/sysmo_l1_fwd.c
+++ b/src/osmo-bts-sysmo/sysmo_l1_fwd.c
@@ -119,10 +119,7 @@
 	wq->write_cb = prim_write_cb;
 	wq->read_cb = fwd_read_cb;
 
-	ofd->data = fl1h;
-	ofd->priv_nr = q;
-	ofd->when |= OSMO_FD_READ;
-
+	osmo_fd_setup(ofd, -1, OSMO_FD_READ, osmo_wqueue_bfd_cb, fl1h, q);
 	rc = osmo_sock_init_ofd(ofd, AF_UNSPEC, SOCK_DGRAM, IPPROTO_UDP,
 				bts_host, fwd_udp_ports[q],
 				OSMO_SOCK_F_CONNECT);
diff --git a/src/osmo-bts-sysmo/sysmo_l1_hw.c b/src/osmo-bts-sysmo/sysmo_l1_hw.c
index a67e875..cc051be 100644
--- a/src/osmo-bts-sysmo/sysmo_l1_hw.c
+++ b/src/osmo-bts-sysmo/sysmo_l1_hw.c
@@ -159,11 +159,7 @@
 			strerror(errno));
 		return rc;
 	}
-	read_ofd->fd = rc;
-	read_ofd->priv_nr = q;
-	read_ofd->data = hdl;
-	read_ofd->cb = l1if_fd_cb;
-	read_ofd->when = OSMO_FD_READ;
+	osmo_fd_setup(read_ofd, rc, OSMO_FD_READ, l1if_fd_cb, hdl, q);
 	rc = osmo_fd_register(read_ofd);
 	if (rc < 0) {
 		close(read_ofd->fd);
@@ -179,10 +175,7 @@
 	}
 	osmo_wqueue_init(wq, 10);
 	wq->write_cb = l1fd_write_cb;
-	write_ofd->fd = rc;
-	write_ofd->priv_nr = q;
-	write_ofd->data = hdl;
-	write_ofd->when = OSMO_FD_WRITE;
+	osmo_fd_setup(write_ofd, rc, OSMO_FD_WRITE, osmo_wqueue_bfd_cb, hdl, q);
 	rc = osmo_fd_register(write_ofd);
 	if (rc < 0) {
 		close(write_ofd->fd);
