Change in osmocom-bb[master]: Use osmo_fd_setup() whenever applicable.

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

laforge gerrit-no-reply at lists.osmocom.org
Sun Oct 18 21:35:05 UTC 2020


laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/20751 )


Change subject: Use osmo_fd_setup() whenever applicable.
......................................................................

Use osmo_fd_setup() whenever applicable.

Change-Id: If9b636c295fc6b5349a54c70662f09efa616ee63
---
M src/host/layer23/src/common/gps.c
M src/host/layer23/src/mobile/mncc_sock.c
M src/host/osmocon/osmocon.c
M src/host/trxcon/l1ctl_link.c
M src/host/virt_phy/src/l1ctl_sock.c
M src/host/virt_phy/src/shared/osmo_mcast_sock.c
6 files changed, 22 insertions(+), 46 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/51/20751/1

diff --git a/src/host/layer23/src/common/gps.c b/src/host/layer23/src/common/gps.c
index ef907d1..5225fe0 100644
--- a/src/host/layer23/src/common/gps.c
+++ b/src/host/layer23/src/common/gps.c
@@ -137,10 +137,6 @@
 {
 	LOGP(DGPS, LOGL_INFO, "Connecting to gpsd at '%s:%s'\n", g.gpsd_host, g.gpsd_port);
 
-	gps_bfd.data = NULL;
-	gps_bfd.when = OSMO_FD_READ;
-	gps_bfd.cb = osmo_gpsd_cb;
-
 #if GPSD_API_MAJOR_VERSION >= 5
 	if (gps_open(g.gpsd_host, g.gpsd_port, &_gdata) == -1)
 		gdata = NULL;
@@ -153,15 +149,15 @@
 		LOGP(DGPS, LOGL_ERROR, "Can't connect to gpsd\n");
 		return -1;
 	}
-	gps_bfd.fd = gdata->gps_fd;
-	if (gps_bfd.fd < 0)
-		return gps_bfd.fd;
+	if (gdata->gps_fd < 0)
+		return gdata->gps_fd;
 
 	if (gps_stream(gdata, WATCH_ENABLE, NULL) == -1) {
 		LOGP(DGPS, LOGL_ERROR, "Error in gps_stream()\n");
 		return -1;
 	}
 
+	osmo_fd_setup(&gps_bfd, gdata->gps_fd, OSMO_FD_READ, osmo_gpsd_cb, NULL, 0);
 	osmo_fd_register(&gps_bfd);
 
 	return 0;
@@ -320,18 +316,17 @@
 int osmo_serialgps_open(void)
 {
 	int baud = 0;
+	int fd;
 
 	if (gps_bfd.fd > 0)
 		return 0;
 
 	LOGP(DGPS, LOGL_INFO, "Open GPS device '%s'\n", g.device);
 
-	gps_bfd.data = NULL;
-	gps_bfd.when = OSMO_FD_READ;
-	gps_bfd.cb = osmo_serialgps_cb;
-	gps_bfd.fd = open(g.device, O_RDONLY);
-	if (gps_bfd.fd < 0)
-		return gps_bfd.fd;
+	fd = open(g.device, O_RDONLY);
+	if (fd < 0)
+		return fd;
+	osmo_fd_setup(&gps_bfd, fd, OSMO_FD_READ, osmo_serialgps_cb, NULL, 0);
 
 	switch (g.baud) {
 	case   4800:
diff --git a/src/host/layer23/src/mobile/mncc_sock.c b/src/host/layer23/src/mobile/mncc_sock.c
index db76ef6..14adf07 100644
--- a/src/host/layer23/src/mobile/mncc_sock.c
+++ b/src/host/layer23/src/mobile/mncc_sock.c
@@ -231,11 +231,7 @@
 		return 0;
 	}
 
-	conn_bfd->fd = rc;
-	conn_bfd->when = OSMO_FD_READ;
-	conn_bfd->cb = mncc_sock_cb;
-	conn_bfd->data = state;
-
+	osmo_fd_setup(conn_bfd, rc, OSMO_FD_READ, mncc_sock_cb, state, 0);
 	if (osmo_fd_register(conn_bfd) != 0) {
 		LOGP(DMNCC, LOGL_ERROR, "Failed to register new connection fd\n");
 		close(conn_bfd->fd);
diff --git a/src/host/osmocon/osmocon.c b/src/host/osmocon/osmocon.c
index a755102..66b2ea0 100644
--- a/src/host/osmocon/osmocon.c
+++ b/src/host/osmocon/osmocon.c
@@ -1322,10 +1322,7 @@
 
 	con->server = srv;
 
-	con->fd.fd = rc;
-	con->fd.when = OSMO_FD_READ;
-	con->fd.cb = un_tool_read;
-	con->fd.data = con;
+	osmo_fd_setup(&con->fd, rc, OSMO_FD_READ, un_tool_read, con, 0);
 	if (osmo_fd_register(&con->fd) != 0) {
 		fprintf(stderr, "Failed to register the fd.\n");
 		talloc_free(con);
@@ -1389,7 +1386,7 @@
 
 int main(int argc, char **argv)
 {
-	int opt, flags;
+	int opt, flags, fd;
 	uint32_t tmp_load_address = ROMLOAD_ADDRESS;
 	const char *serial_dev = "/dev/ttyUSB1";
 	const char *layer2_un_path = "/tmp/osmocom_l2";
@@ -1442,12 +1439,13 @@
 		dnload.filename = argv[optind];
 	}
 
-	dnload.serial_fd.fd = osmo_serial_init(serial_dev, MODEM_BAUDRATE);
-	if (dnload.serial_fd.fd < 0) {
+	fd = osmo_serial_init(serial_dev, MODEM_BAUDRATE);
+	if (fd < 0) {
 		fprintf(stderr, "Cannot open serial device %s\n", serial_dev);
 		exit(1);
 	}
 
+	osmo_fd_setup(&dnload.serial_fd, fd, OSMO_FD_READ, serial_read, NULL, 0);
 	if (osmo_fd_register(&dnload.serial_fd) != 0) {
 		fprintf(stderr, "Failed to register the serial.\n");
 		exit(1);
@@ -1458,9 +1456,6 @@
 	flags |= O_NONBLOCK;
 	fcntl(dnload.serial_fd.fd, F_SETFL, flags);
 
-	dnload.serial_fd.when = OSMO_FD_READ;
-	dnload.serial_fd.cb = serial_read;
-
 	/* initialize the HDLC layer */
 	sercomm_init();
 	sercomm_register_rx_cb(SC_DLCI_CONSOLE, hdlc_console_cb);
diff --git a/src/host/trxcon/l1ctl_link.c b/src/host/trxcon/l1ctl_link.c
index 511ae0c..2e2963a 100644
--- a/src/host/trxcon/l1ctl_link.c
+++ b/src/host/trxcon/l1ctl_link.c
@@ -165,9 +165,7 @@
 
 	l1l->wq.write_cb = l1ctl_link_write_cb;
 	l1l->wq.read_cb = l1ctl_link_read_cb;
-	conn_bfd->when = OSMO_FD_READ;
-	conn_bfd->data = l1l;
-	conn_bfd->fd = cfd;
+	osmo_fd_setup(conn_bfd, cfd, OSMO_FD_READ, osmo_wqueue_bfd_cb, l1l, 0);
 
 	if (osmo_fd_register(conn_bfd) != 0) {
 		LOGP(DL1C, LOGL_ERROR, "Failed to register new connection fd\n");
@@ -255,6 +253,10 @@
 
 	/* Create a socket and bind handlers */
 	bfd = &l1l->listen_bfd;
+
+	/* Bind connection handler */
+	osmo_fd_setup(bfd, -1, OSMO_FD_READ, l1ctl_link_accept, l1l, 0);
+
 	rc = osmo_sock_unix_init_ofd(bfd, SOCK_STREAM, 0, sock_path,
 		OSMO_SOCK_F_BIND);
 	if (rc < 0) {
@@ -268,11 +270,6 @@
 	/* Bind shutdown handler */
 	l1l->shutdown_cb = l1ctl_shutdown_cb;
 
-	/* Bind connection handler */
-	bfd->cb = l1ctl_link_accept;
-	bfd->when = OSMO_FD_READ;
-	bfd->data = l1l;
-
 	/**
 	 * To be able to accept first connection and
 	 * drop others, it should be set to -1
diff --git a/src/host/virt_phy/src/l1ctl_sock.c b/src/host/virt_phy/src/l1ctl_sock.c
index d247bef..7951f46 100644
--- a/src/host/virt_phy/src/l1ctl_sock.c
+++ b/src/host/virt_phy/src/l1ctl_sock.c
@@ -125,10 +125,7 @@
 	}
 
 	lsc->l1ctl_sock = lsi;
-	lsc->ofd.fd = fd;
-	lsc->ofd.when = OSMO_FD_READ;
-	lsc->ofd.cb = l1ctl_sock_data_cb;
-	lsc->ofd.data = lsc;
+	osmo_fd_setup(&lsc->ofd, fd, OSMO_FD_READ, l1ctl_sock_data_cb, lsc, 0);
 	if (lsi->accept_cb) {
 		rc = lsi->accept_cb(lsc);
 		if (rc < 0) {
@@ -163,9 +160,7 @@
 
 	lsi = talloc_zero(ctx, struct l1ctl_sock_inst);
 	lsi->priv = NULL;
-	lsi->ofd.data = lsi;
-	lsi->ofd.when = OSMO_FD_READ;
-	lsi->ofd.cb = l1ctl_sock_accept_cb;
+	osmo_fd_setup(&lsi->ofd, -1, OSMO_FD_READ, l1ctl_sock_accept_cb, lsi, 0);
 
 	rc = osmo_sock_unix_init_ofd(&lsi->ofd, SOCK_STREAM, 0, path, OSMO_SOCK_F_BIND);
 	if (rc < 0) {
diff --git a/src/host/virt_phy/src/shared/osmo_mcast_sock.c b/src/host/virt_phy/src/shared/osmo_mcast_sock.c
index b111a65..d0c5b6d 100644
--- a/src/host/virt_phy/src/shared/osmo_mcast_sock.c
+++ b/src/host/virt_phy/src/shared/osmo_mcast_sock.c
@@ -43,9 +43,7 @@
 	int rc;
 	unsigned int flags = OSMO_SOCK_F_BIND | OSMO_SOCK_F_NO_MCAST_ALL | OSMO_SOCK_F_UDP_REUSEADDR;
 
-	ofd->cb = fd_rx_cb;
-	ofd->when = OSMO_FD_READ;
-	ofd->data = osmo_fd_data;
+	osmo_fd_setup(ofd, -1, OSMO_FD_READ, fd_rx_cb, osmo_fd_data, 0);
 
 	/* Create mcast client socket */
 	rc = osmo_sock_init_ofd(ofd, AF_INET, SOCK_DGRAM, IPPROTO_UDP,

-- 
To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/20751
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-Change-Id: If9b636c295fc6b5349a54c70662f09efa616ee63
Gerrit-Change-Number: 20751
Gerrit-PatchSet: 1
Gerrit-Owner: laforge <laforge at osmocom.org>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20201018/3e11eb1f/attachment.htm>


More information about the gerrit-log mailing list