[retry] Add timer_init() wrapper function
authorMichael Brown <mcb30@ipxe.org>
Tue, 15 Jun 2010 17:13:36 +0000 (18:13 +0100)
committerStefan Hajnoczi <stefanha@gmail.com>
Wed, 7 Jul 2010 19:22:19 +0000 (20:22 +0100)
Standardise on using timer_init() to initialise an embedded retry
timer, to match the coding style used by other embedded objects.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
src/include/gpxe/retry.h
src/net/aoe.c
src/net/infiniband/ib_mi.c
src/net/ipv4.c
src/net/tcp.c
src/net/udp/dhcp.c
src/net/udp/dns.c
src/net/udp/slam.c
src/net/udp/tftp.c

index ada0204..c57b2b6 100644 (file)
@@ -51,6 +51,18 @@ struct retry_timer {
        void ( * expired ) ( struct retry_timer *timer, int over );
 };
 
+/**
+ * Initialise a timer
+ *
+ * @v timer            Retry timer
+ * @v expired          Timer expired callback
+ */
+static inline __attribute__ (( always_inline )) void
+timer_init ( struct retry_timer *timer,
+            void ( * expired ) ( struct retry_timer *timer, int over ) ) {
+       timer->expired = expired;
+}
+
 extern void start_timer ( struct retry_timer *timer );
 extern void start_timer_fixed ( struct retry_timer *timer,
                                unsigned long timeout );
index 19ed883..28cfa18 100644 (file)
@@ -439,10 +439,10 @@ int aoe_attach ( struct ata_device *ata, struct net_device *netdev,
        if ( ! aoe )
                return -ENOMEM;
        ref_init ( &aoe->refcnt, aoe_free );
+       timer_init ( &aoe->timer, aoe_timer_expired );
        aoe->netdev = netdev_get ( netdev );
        memcpy ( aoe->target, netdev->ll_broadcast, sizeof ( aoe->target ) );
        aoe->tag = AOE_TAG_MAGIC;
-       aoe->timer.expired = aoe_timer_expired;
 
        /* Parse root path */
        if ( ( rc = aoe_parse_root_path ( aoe, root_path ) ) != 0 )
index 7511fd8..6b40edd 100644 (file)
@@ -281,8 +281,8 @@ ib_create_madx ( struct ib_device *ibdev, struct ib_mad_interface *mi,
        madx = zalloc ( sizeof ( *madx ) );
        if ( ! madx )
                return NULL;
+       timer_init ( &madx->timer, ib_mi_timer_expired );
        madx->mi = mi;
-       madx->timer.expired = ib_mi_timer_expired;
        madx->op = op;
 
        /* Determine address vector */
index 7a8ddd3..4e7fc82 100644 (file)
@@ -224,8 +224,8 @@ static struct io_buffer * ipv4_reassemble ( struct io_buffer * iobuf ) {
                free_iob ( iobuf );
 
                /* Set the reassembly timer */
+               timer_init ( &fragbuf->frag_timer, ipv4_frag_expired );
                fragbuf->frag_timer.timeout = IP_FRAG_TIMEOUT;
-               fragbuf->frag_timer.expired = ipv4_frag_expired;
                start_timer ( &fragbuf->frag_timer );
 
                /* Add the fragment buffer to the list of fragment buffers */
index efba143..6c234fe 100644 (file)
@@ -226,12 +226,12 @@ static int tcp_open ( struct xfer_interface *xfer, struct sockaddr *peer,
        DBGC ( tcp, "TCP %p allocated\n", tcp );
        ref_init ( &tcp->refcnt, NULL );
        xfer_init ( &tcp->xfer, &tcp_xfer_operations, &tcp->refcnt );
+       timer_init ( &tcp->timer, tcp_expired );
        tcp->prev_tcp_state = TCP_CLOSED;
        tcp->tcp_state = TCP_STATE_SENT ( TCP_SYN );
        tcp_dump_state ( tcp );
        tcp->snd_seq = random();
        INIT_LIST_HEAD ( &tcp->queue );
-       tcp->timer.expired = tcp_expired;
        memcpy ( &tcp->peer, st_peer, sizeof ( tcp->peer ) );
 
        /* Bind to local port */
index d3e7a33..07c90e9 100644 (file)
@@ -1445,10 +1445,10 @@ int start_dhcp ( struct job_interface *job, struct net_device *netdev ) {
        ref_init ( &dhcp->refcnt, dhcp_free );
        job_init ( &dhcp->job, &dhcp_job_operations, &dhcp->refcnt );
        xfer_init ( &dhcp->xfer, &dhcp_xfer_operations, &dhcp->refcnt );
+       timer_init ( &dhcp->timer, dhcp_timer_expired );
        dhcp->netdev = netdev_get ( netdev );
        dhcp->local.sin_family = AF_INET;
        dhcp->local.sin_port = htons ( BOOTPC_PORT );
-       dhcp->timer.expired = dhcp_timer_expired;
 
        /* Instantiate child objects and attach to our interfaces */
        if ( ( rc = xfer_open_socket ( &dhcp->xfer, SOCK_DGRAM, &dhcp_peer,
@@ -1548,13 +1548,13 @@ int start_pxebs ( struct job_interface *job, struct net_device *netdev,
        ref_init ( &dhcp->refcnt, dhcp_free );
        job_init ( &dhcp->job, &dhcp_job_operations, &dhcp->refcnt );
        xfer_init ( &dhcp->xfer, &dhcp_xfer_operations, &dhcp->refcnt );
+       timer_init ( &dhcp->timer, dhcp_timer_expired );
        dhcp->netdev = netdev_get ( netdev );
        dhcp->local.sin_family = AF_INET;
        fetch_ipv4_setting ( netdev_settings ( netdev ), &ip_setting,
                             &dhcp->local.sin_addr );
        dhcp->local.sin_port = htons ( BOOTPC_PORT );
        dhcp->pxe_type = cpu_to_le16 ( pxe_type );
-       dhcp->timer.expired = dhcp_timer_expired;
 
        /* Construct PXE boot server IP address lists */
        pxe_discovery_control =
index 14340f2..c7bb6aa 100644 (file)
@@ -506,7 +506,7 @@ static int dns_resolv ( struct resolv_interface *resolv,
        ref_init ( &dns->refcnt, NULL );
        resolv_init ( &dns->resolv, &null_resolv_ops, &dns->refcnt );
        xfer_init ( &dns->socket, &dns_socket_operations, &dns->refcnt );
-       dns->timer.expired = dns_timer_expired;
+       timer_init ( &dns->timer, dns_timer_expired );
        memcpy ( &dns->sa, sa, sizeof ( dns->sa ) );
 
        /* Create query */
index 46d2eb8..63fe559 100644 (file)
@@ -753,8 +753,8 @@ static int slam_open ( struct xfer_interface *xfer, struct uri *uri ) {
        xfer_init ( &slam->socket, &slam_socket_operations, &slam->refcnt );
        xfer_init ( &slam->mc_socket, &slam_mc_socket_operations,
                    &slam->refcnt );
-       slam->master_timer.expired = slam_master_timer_expired;
-       slam->slave_timer.expired = slam_slave_timer_expired;
+       timer_init ( &slam->master_timer, slam_master_timer_expired );
+       timer_init ( &slam->slave_timer, slam_slave_timer_expired );
        /* Fake an invalid cached header of { 0x00, ... } */
        slam->header_len = 1;
        /* Fake parameters for initial NACK */
index 2ed5848..a241956 100644 (file)
@@ -1136,13 +1136,13 @@ static int tftp_core_open ( struct xfer_interface *xfer, struct uri *uri,
                return -ENOMEM;
        ref_init ( &tftp->refcnt, tftp_free );
        xfer_init ( &tftp->xfer, &tftp_xfer_operations, &tftp->refcnt );
-       tftp->uri = uri_get ( uri );
        xfer_init ( &tftp->socket, &tftp_socket_operations, &tftp->refcnt );
        xfer_init ( &tftp->mc_socket, &tftp_mc_socket_operations,
                    &tftp->refcnt );
+       timer_init ( &tftp->timer, tftp_timer_expired );
+       tftp->uri = uri_get ( uri );
        tftp->blksize = TFTP_DEFAULT_BLKSIZE;
        tftp->flags = flags;
-       tftp->timer.expired = tftp_timer_expired;
 
        /* Open socket */
        tftp->port = uri_port ( tftp->uri, default_port );