<p>laforge <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/libosmo-abis/+/20748">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Jenkins Builder: Verified
  laforge: Looks good to me, approved
  pespin: Looks good to me, but someone else must approve

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Use osmo_fd_setup() wherever applicable<br><br>Change-Id: I5b369343cf708ddfcde347f218a10d5f72303aaa<br>---<br>M src/input/dahdi.c<br>M src/input/e1d.c<br>M src/input/ipa.c<br>M src/input/misdn.c<br>M src/input/rs232.c<br>M src/input/unixsocket.c<br>M src/trau/osmo_ortp.c<br>M tests/e1inp_ipa_bts_test.c<br>8 files changed, 12 insertions(+), 42 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/input/dahdi.c b/src/input/dahdi.c</span><br><span>index ce9dfc1..a29a233 100644</span><br><span>--- a/src/input/dahdi.c</span><br><span>+++ b/src/input/dahdi.c</span><br><span>@@ -643,10 +643,6 @@</span><br><span>                * board will be 32 */</span><br><span>               dev_nr = scfg->chan_base + idx;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-          bfd->data = line;</span><br><span style="color: hsl(0, 100%, 40%);">-            bfd->priv_nr = ts;</span><br><span style="color: hsl(0, 100%, 40%);">-           bfd->cb = dahdi_fd_cb;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span>            switch (e1i_ts->type) {</span><br><span>           case E1INP_TS_TYPE_NONE:</span><br><span>                     /* close/release LAPD instance, if any */</span><br><span>@@ -712,6 +708,7 @@</span><br><span>              if (bfd->fd < 0)</span><br><span>                       return bfd->fd;</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+                osmo_fd_setup(bfd, bfd->fd, bfd->when, dahdi_fd_cb, line, ts);</span><br><span>                 ret = osmo_fd_register(bfd);</span><br><span>                 if (ret < 0) {</span><br><span>                    LOGPITS(e1i_ts, DLINP, LOGL_ERROR, "could not register FD: %s\n", strerror(ret));</span><br><span>diff --git a/src/input/e1d.c b/src/input/e1d.c</span><br><span>index 3b1a45f..e3a3b82 100644</span><br><span>--- a/src/input/e1d.c</span><br><span>+++ b/src/input/e1d.c</span><br><span>@@ -364,10 +364,6 @@</span><br><span>          if (bfd->list.next && bfd->list.next != LLIST_POISON1)</span><br><span>                         osmo_fd_unregister(bfd);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-            bfd->data = line;</span><br><span style="color: hsl(0, 100%, 40%);">-            bfd->priv_nr = ts;</span><br><span style="color: hsl(0, 100%, 40%);">-           bfd->cb = e1d_fd_cb;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span>              if (e1i_ts->type != E1INP_TS_TYPE_NONE && ts >= num_ts_info) {</span><br><span>                         LOGPITS(e1i_ts, DLINP, LOGL_ERROR, "Timeslot configured, but not existent "</span><br><span>                                "on E1D side; skipping\n");</span><br><span>@@ -457,6 +453,7 @@</span><br><span>                  break;</span><br><span>               };</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+                osmo_fd_setup(bfd, bfd->fd, bfd->when, e1d_fd_cb, line, ts);</span><br><span>           ret = osmo_fd_register(bfd);</span><br><span>                 if (ret < 0) {</span><br><span>                    LOGPITS(e1i_ts, DLINP, LOGL_ERROR, "could not register FD: %s\n", strerror(ret));</span><br><span>diff --git a/src/input/ipa.c b/src/input/ipa.c</span><br><span>index c3e4ad3..8281b4f 100644</span><br><span>--- a/src/input/ipa.c</span><br><span>+++ b/src/input/ipa.c</span><br><span>@@ -189,11 +189,7 @@</span><br><span>          }</span><br><span>    }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   ipa_link->ofd->when |= OSMO_FD_READ | OSMO_FD_WRITE;</span><br><span style="color: hsl(0, 100%, 40%);">-      ipa_link->ofd->priv_nr = priv_nr;</span><br><span style="color: hsl(0, 100%, 40%);">- ipa_link->ofd->cb = ipa_client_fd_cb;</span><br><span style="color: hsl(0, 100%, 40%);">-     ipa_link->ofd->data = ipa_link;</span><br><span style="color: hsl(0, 100%, 40%);">-   ipa_link->ofd->fd = -1;</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fd_setup(ipa_link->ofd, -1, OSMO_FD_READ|OSMO_FD_WRITE, ipa_client_fd_cb, ipa_link, priv_nr);</span><br><span>        ipa_link->state = IPA_CLIENT_LINK_STATE_CONNECTING;</span><br><span>       ipa_link->local_addr = talloc_strdup(ipa_link, loc_addr);</span><br><span>         ipa_link->local_port = loc_port;</span><br><span>@@ -312,10 +308,7 @@</span><br><span>   if (!ipa_link)</span><br><span>               return NULL;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-        ipa_link->ofd.when |= OSMO_FD_READ | OSMO_FD_WRITE;</span><br><span style="color: hsl(0, 100%, 40%);">-  ipa_link->ofd.cb = ipa_server_fd_cb;</span><br><span style="color: hsl(0, 100%, 40%);">- ipa_link->ofd.fd = -1;</span><br><span style="color: hsl(0, 100%, 40%);">-       ipa_link->ofd.data = ipa_link;</span><br><span style="color: hsl(120, 100%, 40%);">+     osmo_fd_setup(&ipa_link->ofd, -1, OSMO_FD_READ|OSMO_FD_WRITE, ipa_server_fd_cb, ipa_link, 0);</span><br><span>         if (addr)</span><br><span>            ipa_link->addr = talloc_strdup(ipa_link, addr);</span><br><span>   ipa_link->port = port;</span><br><span>@@ -435,10 +428,7 @@</span><br><span>             return NULL;</span><br><span>         }</span><br><span>    conn->server = link;</span><br><span style="color: hsl(0, 100%, 40%);">- conn->ofd.fd = fd;</span><br><span style="color: hsl(0, 100%, 40%);">-   conn->ofd.data = conn;</span><br><span style="color: hsl(0, 100%, 40%);">-       conn->ofd.cb = ipa_server_conn_cb;</span><br><span style="color: hsl(0, 100%, 40%);">-   conn->ofd.when = OSMO_FD_READ;</span><br><span style="color: hsl(120, 100%, 40%);">+     osmo_fd_setup(&conn->ofd, fd, OSMO_FD_READ, ipa_server_conn_cb, conn, 0);</span><br><span>     conn->cb = cb;</span><br><span>    conn->closed_cb = closed_cb;</span><br><span>      conn->data = data;</span><br><span>diff --git a/src/input/misdn.c b/src/input/misdn.c</span><br><span>index 9d33932..52cd311 100644</span><br><span>--- a/src/input/misdn.c</span><br><span>+++ b/src/input/misdn.c</span><br><span>@@ -592,10 +592,6 @@</span><br><span>                struct osmo_fd *bfd = &e1i_ts->driver.misdn.fd;</span><br><span>               struct sockaddr_mISDN addr;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-         bfd->data = line;</span><br><span style="color: hsl(0, 100%, 40%);">-            bfd->priv_nr = ts;</span><br><span style="color: hsl(0, 100%, 40%);">-           bfd->cb = misdn_fd_cb;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span>            switch (e1i_ts->type) {</span><br><span>           case E1INP_TS_TYPE_NONE:</span><br><span>                     continue;</span><br><span>@@ -682,6 +678,8 @@</span><br><span>              if (e1i_ts->type == E1INP_TS_TYPE_TRAU)</span><br><span>                   activate_bchan(line, ts, 1);</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+              osmo_fd_setup(bfd, bfd->fd, bfd->when, misdn_fd_cb, line, ts);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>               ret = osmo_fd_register(bfd);</span><br><span>                 if (ret < 0) {</span><br><span>                    fprintf(stderr, "could not register FD: %s\n",</span><br><span>diff --git a/src/input/rs232.c b/src/input/rs232.c</span><br><span>index 390d7fe..522cf0e 100644</span><br><span>--- a/src/input/rs232.c</span><br><span>+++ b/src/input/rs232.c</span><br><span>@@ -256,9 +256,7 @@</span><br><span>      ser_handle->line = line;</span><br><span>  ser_handle->delay_ms = delay_ms;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- bfd->when = OSMO_FD_READ;</span><br><span style="color: hsl(0, 100%, 40%);">-    bfd->cb = serial_fd_cb;</span><br><span style="color: hsl(0, 100%, 40%);">-      bfd->data = ser_handle;</span><br><span style="color: hsl(120, 100%, 40%);">+    osmo_fd_setup(bfd, bfd->fd, OSMO_FD_READ, serial_fd_cb, ser_handle, 0);</span><br><span> </span><br><span>       rc = osmo_fd_register(bfd);</span><br><span>  if (rc < 0) {</span><br><span>diff --git a/src/input/unixsocket.c b/src/input/unixsocket.c</span><br><span>index 252da03..9a6ff9b 100644</span><br><span>--- a/src/input/unixsocket.c</span><br><span>+++ b/src/input/unixsocket.c</span><br><span>@@ -242,9 +242,6 @@</span><br><span>  }</span><br><span> </span><br><span>        config = line->driver_data;</span><br><span style="color: hsl(0, 100%, 40%);">-  config->fd.data = line;</span><br><span style="color: hsl(0, 100%, 40%);">-      config->fd.when = OSMO_FD_READ;</span><br><span style="color: hsl(0, 100%, 40%);">-      config->fd.cb = unixsocket_cb;</span><br><span> </span><br><span>        /* Open unix domain socket */</span><br><span>        if (line->sock_path == NULL) {</span><br><span>@@ -274,7 +271,7 @@</span><br><span>      }</span><br><span>    LOGPIL(line, DLINP, LOGL_DEBUG, "successfully opend (new) socket: %s (line=%p, fd=%d, ret=%d)\n",</span><br><span>          sock_path, line, config->fd.fd, ret);</span><br><span style="color: hsl(0, 100%, 40%);">-        config->fd.fd = ret;</span><br><span style="color: hsl(120, 100%, 40%);">+       osmo_fd_setup(&config->fd, ret, OSMO_FD_READ, unixsocket_cb, line, 0);</span><br><span> </span><br><span>    /* Register socket in select loop */</span><br><span>         if (osmo_fd_register(&config->fd) < 0) {</span><br><span>diff --git a/src/trau/osmo_ortp.c b/src/trau/osmo_ortp.c</span><br><span>index fab6471..0cd4e9d 100644</span><br><span>--- a/src/trau/osmo_ortp.c</span><br><span>+++ b/src/trau/osmo_ortp.c</span><br><span>@@ -247,12 +247,8 @@</span><br><span> {</span><br><span>  int rc;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-     rs->rtp_bfd.fd = rtp_session_get_rtp_socket(rs->sess);</span><br><span style="color: hsl(0, 100%, 40%);">-    rs->rtcp_bfd.fd = rtp_session_get_rtcp_socket(rs->sess);</span><br><span style="color: hsl(0, 100%, 40%);">-  rs->rtp_bfd.when = rs->rtcp_bfd.when = OSMO_FD_READ;</span><br><span style="color: hsl(0, 100%, 40%);">-      rs->rtp_bfd.data = rs->rtcp_bfd.data = rs;</span><br><span style="color: hsl(0, 100%, 40%);">-        rs->rtp_bfd.cb = osmo_rtp_fd_cb;</span><br><span style="color: hsl(0, 100%, 40%);">-     rs->rtcp_bfd.cb = osmo_rtcp_fd_cb;</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fd_setup(&rs->rtp_bfd, rtp_session_get_rtp_socket(rs->sess), OSMO_FD_READ, osmo_rtp_fd_cb, rs, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+     osmo_fd_setup(&rs->rtcp_bfd, rtp_session_get_rtcp_socket(rs->sess), OSMO_FD_READ, osmo_rtcp_fd_cb, rs, 0);</span><br><span> </span><br><span>     rc = osmo_fd_register(&rs->rtp_bfd);</span><br><span>  if (rc < 0)</span><br><span>diff --git a/tests/e1inp_ipa_bts_test.c b/tests/e1inp_ipa_bts_test.c</span><br><span>index 3c7613e..68dfefb 100644</span><br><span>--- a/tests/e1inp_ipa_bts_test.c</span><br><span>+++ b/tests/e1inp_ipa_bts_test.c</span><br><span>@@ -307,10 +307,7 @@</span><br><span>           LOGP(DBTSTEST, LOGL_ERROR, "cannot create pipe fds\n");</span><br><span>            exit(EXIT_FAILURE);</span><br><span>  }</span><br><span style="color: hsl(0, 100%, 40%);">-       bts_eventfd.fd = eventfds[0];</span><br><span style="color: hsl(0, 100%, 40%);">-   bts_eventfd.cb = test_bts_gsm_12_21_cb;</span><br><span style="color: hsl(0, 100%, 40%);">- bts_eventfd.when = OSMO_FD_READ;</span><br><span style="color: hsl(0, 100%, 40%);">-        bts_eventfd.data = &bts_dev_info;</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fd_setup(&bts_eventfd, eventfds[0], OSMO_FD_READ, test_bts_gsm_12_21_cb, &bts_dev_info, 0);</span><br><span>     if (osmo_fd_register(&bts_eventfd) < 0) {</span><br><span>             LOGP(DBTSTEST, LOGL_ERROR, "could not register event fd\n");</span><br><span>               exit(EXIT_FAILURE);</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/libosmo-abis/+/20748">change 20748</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/libosmo-abis/+/20748"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: libosmo-abis </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I5b369343cf708ddfcde347f218a10d5f72303aaa </div>
<div style="display:none"> Gerrit-Change-Number: 20748 </div>
<div style="display:none"> Gerrit-PatchSet: 4 </div>
<div style="display:none"> Gerrit-Owner: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>