]> git.ipfire.org Git - thirdparty/ipxe.git/commitdiff
[retry] Add timer_init() wrapper function
authorMichael Brown <mcb30@ipxe.org>
Tue, 15 Jun 2010 17:13:36 +0000 (18:13 +0100)
committerMichael Brown <mcb30@ipxe.org>
Tue, 22 Jun 2010 13:30:20 +0000 (14:30 +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>
src/include/ipxe/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 370a599ce3c2ffab34b10677fb4681b94016ef20..ff26de2529c7814c119eafdfe364cde4bb864938 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 80403db7af61177413b11ac38dd9496a1821c439..4b700073a446c8d275bbf98ba1abfbc119743c3e 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 b4b64ca454ec80263907489059cfd2a93f372343..5a01ce25052125b3c88561c3980cb1924e1676ab 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 6d3d80a55302cf3ef48dcab006e9ea925da01c8c..2354097b7e259c818ae17f9ceeaf5ae58200e569 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 449f434ae4978f5b8bedab2afa08e929c12ec5d2..118c6d0fe14dd6e67edcd313e685f2006be2729d 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 33212b0624a8cc06f6bc54aa576c2273fcae71b7..fff331f7fe5a6c36d1b50c0337cbd12e4e59582c 100644 (file)
@@ -1442,10 +1442,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,
@@ -1545,13 +1545,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 47fc6c75a94535cc7d9d320884336560d55fc607..35ead0c7431e9210247a94b9da4dda64b478e776 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 3f0b0e2ea388209645c4d49314226dd99c383b61..a5a2421fa1fc34bb14314699ab95462690ad63d5 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 49c857fbf90c6d2c4ff53fc325e5dc44e312dca9..5e98f58cdc24e8b574bf34fe1687f39163853b98 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 );