From 629824ac14e5ddf3f1374882e3529a2ce033e3e2 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sun, 18 Oct 2020 22:04:30 +0200 Subject: use osmo_fd_setup() everywhere Change-Id: I9be55f791a15fae2362dc431dc778b9b9d8db349 --- src/common/pcu_sock.c | 14 ++++---------- src/osmo-bts-litecell15/l1_transp_hw.c | 12 ++---------- src/osmo-bts-oc2g/l1_transp_hw.c | 12 ++---------- src/osmo-bts-oc2g/misc/oc2gbts_mgr_calib.c | 6 ++---- src/osmo-bts-octphy/l1_if.c | 5 +---- src/osmo-bts-sysmo/l1_fwd_main.c | 4 +--- src/osmo-bts-sysmo/l1_transp_fwd.c | 5 +---- src/osmo-bts-sysmo/l1_transp_hw.c | 12 ++---------- src/osmo-bts-sysmo/misc/sysmobts_mgr_calib.c | 6 ++---- src/osmo-bts-virtual/osmo_mcast_sock.c | 4 +--- 10 files changed, 18 insertions(+), 62 deletions(-) diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c index 6586af8b..0466698d 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -1071,10 +1071,7 @@ static int pcu_sock_accept(struct osmo_fd *bfd, unsigned int flags) return 0; } - conn_bfd->fd = rc; - conn_bfd->when = OSMO_FD_READ; - conn_bfd->cb = pcu_sock_cb; - conn_bfd->data = state; + osmo_fd_setup(conn_bfd, rc, OSMO_FD_READ, pcu_sock_cb, state, 0); if (osmo_fd_register(conn_bfd) != 0) { LOGP(DPCU, LOGL_ERROR, "Failed to register new connection " @@ -1108,18 +1105,15 @@ int pcu_sock_init(const char *path) bfd = &state->listen_bfd; - bfd->fd = osmo_sock_unix_init(SOCK_SEQPACKET, 0, path, - OSMO_SOCK_F_BIND); - if (bfd->fd < 0) { + rc = osmo_sock_unix_init(SOCK_SEQPACKET, 0, path, OSMO_SOCK_F_BIND); + if (rc < 0) { LOGP(DPCU, LOGL_ERROR, "Could not create %s unix socket: %s\n", path, strerror(errno)); talloc_free(state); return -1; } - bfd->when = OSMO_FD_READ; - bfd->cb = pcu_sock_accept; - bfd->data = state; + osmo_fd_setup(bfd, rc, OSMO_FD_READ, pcu_sock_accept, state, 0); rc = osmo_fd_register(bfd); if (rc < 0) { diff --git a/src/osmo-bts-litecell15/l1_transp_hw.c b/src/osmo-bts-litecell15/l1_transp_hw.c index c353f43f..ffe8613e 100644 --- a/src/osmo-bts-litecell15/l1_transp_hw.c +++ b/src/osmo-bts-litecell15/l1_transp_hw.c @@ -265,11 +265,7 @@ int l1if_transport_open(int q, struct lc15l1_hdl *hdl) 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); @@ -288,11 +284,7 @@ int l1if_transport_open(int q, struct lc15l1_hdl *hdl) } osmo_wqueue_init(wq, 10); wq->write_cb = l1fd_write_cb; - write_ofd->cb = wqueue_vector_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, wqueue_vector_cb, hdl, q); rc = osmo_fd_register(write_ofd); if (rc < 0) { close(write_ofd->fd); diff --git a/src/osmo-bts-oc2g/l1_transp_hw.c b/src/osmo-bts-oc2g/l1_transp_hw.c index f9d4510f..daebf602 100644 --- a/src/osmo-bts-oc2g/l1_transp_hw.c +++ b/src/osmo-bts-oc2g/l1_transp_hw.c @@ -265,11 +265,7 @@ int l1if_transport_open(int q, struct oc2gl1_hdl *hdl) 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); @@ -288,11 +284,7 @@ int l1if_transport_open(int q, struct oc2gl1_hdl *hdl) } osmo_wqueue_init(wq, 10); wq->write_cb = l1fd_write_cb; - write_ofd->cb = wqueue_vector_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, wqueue_vector_cb, hdl, q); rc = osmo_fd_register(write_ofd); if (rc < 0) { close(write_ofd->fd); diff --git a/src/osmo-bts-oc2g/misc/oc2gbts_mgr_calib.c b/src/osmo-bts-oc2g/misc/oc2gbts_mgr_calib.c index bb2984ed..b9f8dc57 100644 --- a/src/osmo-bts-oc2g/misc/oc2gbts_mgr_calib.c +++ b/src/osmo-bts-oc2g/misc/oc2gbts_mgr_calib.c @@ -220,10 +220,8 @@ static void mgr_gps_open(struct oc2gbts_mgr_instance *mgr) mgr->gps.gps_open = 1; gps_stream(&mgr->gps.gpsdata, WATCH_ENABLE, NULL); - mgr->gps.gpsfd.data = mgr; - mgr->gps.gpsfd.cb = mgr_gps_read; - mgr->gps.gpsfd.when = OSMO_FD_READ | OSMO_FD_EXCEPT; - mgr->gps.gpsfd.fd = mgr->gps.gpsdata.gps_fd; + osmo_fd_setup(&mgr->gps.gpsfd, mgr->gps.gpsdata.gps_fd, OSMO_FD_READ | OSMO_FD_EXCEPT, + mgr_gps_read, mgr, 0); if (osmo_fd_register(&mgr->gps.gpsfd) < 0) { LOGP(DCALIB, LOGL_ERROR, "Failed to register GPSD fd\n"); calib_state_reset(mgr, CALIB_FAIL_GPSFIX); diff --git a/src/osmo-bts-octphy/l1_if.c b/src/osmo-bts-octphy/l1_if.c index c03b4112..f20f21a5 100644 --- a/src/osmo-bts-octphy/l1_if.c +++ b/src/osmo-bts-octphy/l1_if.c @@ -1826,10 +1826,7 @@ struct octphy_hdl *l1if_open(struct phy_link *plink) osmo_wqueue_init(&fl1h->phy_wq, 10); fl1h->phy_wq.write_cb = octphy_write_cb; fl1h->phy_wq.read_cb = octphy_read_cb; - fl1h->phy_wq.bfd.fd = sfd; - fl1h->phy_wq.bfd.when = OSMO_FD_READ; - fl1h->phy_wq.bfd.cb = osmo_wqueue_bfd_cb; - fl1h->phy_wq.bfd.data = fl1h; + osmo_fd_setup(&fl1h->phy_wq.bfd, sfd, OSMO_FD_READ, osmo_wqueue_bfd_cb, fl1h, 0); rc = osmo_fd_register(&fl1h->phy_wq.bfd); if (rc < 0) { close(sfd); diff --git a/src/osmo-bts-sysmo/l1_fwd_main.c b/src/osmo-bts-sysmo/l1_fwd_main.c index 8e8bd83f..db35ec3b 100644 --- a/src/osmo-bts-sysmo/l1_fwd_main.c +++ b/src/osmo-bts-sysmo/l1_fwd_main.c @@ -213,9 +213,7 @@ int main(int argc, char **argv) wq->write_cb = udp_write_cb; wq->read_cb = udp_read_cb; - wq->bfd.when |= OSMO_FD_READ; - wq->bfd.data = l1fh; - wq->bfd.priv_nr = i; + osmo_fd_setup(&wq->bfd, -1, OSMO_FD_READ, osmo_wqueue_bfd_cb, l1fh, i); rc = osmo_sock_init_ofd(&wq->bfd, AF_UNSPEC, SOCK_DGRAM, IPPROTO_UDP, NULL, fwd_udp_ports[i], OSMO_SOCK_F_BIND); diff --git a/src/osmo-bts-sysmo/l1_transp_fwd.c b/src/osmo-bts-sysmo/l1_transp_fwd.c index 97200ce9..ef272eb1 100644 --- a/src/osmo-bts-sysmo/l1_transp_fwd.c +++ b/src/osmo-bts-sysmo/l1_transp_fwd.c @@ -126,10 +126,7 @@ int l1if_transport_open(int q, struct femtol1_hdl *fl1h) 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/l1_transp_hw.c b/src/osmo-bts-sysmo/l1_transp_hw.c index 45f4a071..5561af47 100644 --- a/src/osmo-bts-sysmo/l1_transp_hw.c +++ b/src/osmo-bts-sysmo/l1_transp_hw.c @@ -271,11 +271,7 @@ int l1if_transport_open(int q, struct femtol1_hdl *hdl) q, rd_devnames[q], 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); @@ -291,11 +287,7 @@ int l1if_transport_open(int q, struct femtol1_hdl *hdl) } osmo_wqueue_init(wq, 10); wq->write_cb = l1fd_write_cb; - write_ofd->cb = wqueue_vector_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, wqueue_vector_cb, hdl, q); rc = osmo_fd_register(write_ofd); if (rc < 0) { close(write_ofd->fd); diff --git a/src/osmo-bts-sysmo/misc/sysmobts_mgr_calib.c b/src/osmo-bts-sysmo/misc/sysmobts_mgr_calib.c index 2fbdfa6c..0126aaa5 100644 --- a/src/osmo-bts-sysmo/misc/sysmobts_mgr_calib.c +++ b/src/osmo-bts-sysmo/misc/sysmobts_mgr_calib.c @@ -167,10 +167,8 @@ static void mgr_gps_open(struct sysmobts_mgr_instance *mgr) #else gps_stream(mgr->calib.gpsdata, WATCH_ENABLE, NULL); #endif - mgr->calib.gpsfd.data = mgr; - mgr->calib.gpsfd.cb = mgr_gps_read; - mgr->calib.gpsfd.when = OSMO_FD_READ | OSMO_FD_EXCEPT; - mgr->calib.gpsfd.fd = mgr->calib.gpsdata->gps_fd; + osmo_fd_setup(&mgr->calib.gpsfd, mgr->calib.gpsdata->gps_fd, OSMO_FD_READ | OSMO_FD_EXCEPT, + mgr_gps_read, mgr, 0); if (osmo_fd_register(&mgr->calib.gpsfd) < 0) { LOGP(DCALIB, LOGL_ERROR, "Failed to register GPSD fd\n"); calib_state_reset(mgr, CALIB_FAIL_GPS); diff --git a/src/osmo-bts-virtual/osmo_mcast_sock.c b/src/osmo-bts-virtual/osmo_mcast_sock.c index 91203b7b..3e565142 100644 --- a/src/osmo-bts-virtual/osmo_mcast_sock.c +++ b/src/osmo-bts-virtual/osmo_mcast_sock.c @@ -43,9 +43,7 @@ int mcast_client_sock_setup(struct osmo_fd *ofd, const char *mcast_group, uint16 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, -- cgit v1.2.3