]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
Update for API changes merged for 2.6.20.
authorMichael S. Tsirkin <mst@mellanox.co.il>
Sun, 17 Dec 2006 09:39:05 +0000 (11:39 +0200)
committerMukesh Kacker <mukesh.kacker@oracle.com>
Tue, 6 Oct 2015 12:04:02 +0000 (05:04 -0700)
drivers/infiniband/ulp/sdp/sdp.h
drivers/infiniband/ulp/sdp/sdp_bcopy.c
drivers/infiniband/ulp/sdp/sdp_cma.c
drivers/infiniband/ulp/sdp/sdp_main.c

index a6b163c15b7dbe6849806c78eb054a1e717d1b9c..32f64b82e4ce9db654d6bdc27a0cbb9969bd899b 100644 (file)
@@ -95,7 +95,7 @@ struct sdp_sock {
        struct work_struct work;
        wait_queue_head_t wq;
 
-       struct work_struct time_wait_work;
+       struct delayed_work time_wait_work;
        struct work_struct destroy_work;
 
        /* Like tcp_sock */
@@ -175,13 +175,13 @@ void sdp_reset(struct sock *sk);
 void sdp_reset_sk(struct sock *sk, int rc);
 void sdp_time_wait_destroy_sk(struct sdp_sock *ssk);
 void sdp_completion_handler(struct ib_cq *cq, void *cq_context);
-void sdp_work(void *);
+void sdp_work(struct work_struct *work);
 void sdp_post_send(struct sdp_sock *ssk, struct sk_buff *skb, u8 mid);
 void sdp_post_recvs(struct sdp_sock *ssk);
 int sdp_poll_cq(struct sdp_sock *ssk, struct ib_cq *cq);
 void sdp_post_sends(struct sdp_sock *ssk, int nonagle);
-void sdp_destroy_work(void *data);
-void sdp_time_wait_work(void *data);
+void sdp_destroy_work(struct work_struct *work);
+void sdp_time_wait_work(struct delayed_work *work);
 struct sk_buff *sdp_recv_completion(struct sdp_sock *ssk, int id);
 struct sk_buff *sdp_send_completion(struct sdp_sock *ssk, int mseq);
 void sdp_urg(struct sdp_sock *ssk, struct sk_buff *skb);
index 12a8d7d1b7abe11716160ffc1c6c7b6f0f18add3..6e4f10aa4cdae1978b00cab3e2d32ef1ff3dc94c 100644 (file)
@@ -518,10 +518,10 @@ int sdp_poll_cq(struct sdp_sock *ssk, struct ib_cq *cq)
        return ret;
 }
 
-void sdp_work(void *data)
+void sdp_work(struct work_struct *work)
 {
-       struct sock *sk = (struct sock *)data;
-       struct sdp_sock *ssk = sdp_sk(sk);
+       struct sdp_sock *ssk = container_of(work, struct sdp_sock, work);
+       struct sock *sk = &ssk->isk.sk;
        struct ib_cq *cq;
 
        sdp_dbg_data(sk, "%s\n", __func__);
index 72b07e5856ccc8d2bb3225cd3612e639ed7f5ad7..54a3209adbd55c0fdfa97e6a129dd31f94f5f1a8 100644 (file)
@@ -146,7 +146,7 @@ int sdp_init_qp(struct sock *sk, struct rdma_cm_id *id)
         }
 
        sdp_sk(sk)->mr = mr;
-       INIT_WORK(&sdp_sk(sk)->work, sdp_work, sdp_sk(sk));
+       INIT_WORK(&sdp_sk(sk)->work, sdp_work);
 
        cq = ib_create_cq(device, sdp_completion_handler, sdp_cq_event_handler,
                          sk, SDP_TX_SIZE + SDP_RX_SIZE);
@@ -194,12 +194,12 @@ int sdp_connect_handler(struct sock *sk, struct rdma_cm_id *id,
 {
        struct sockaddr_in *dst_addr;
        struct sock *child;
-       struct sdp_hh *h;
+       const struct sdp_hh *h;
        int rc;
 
        sdp_dbg(sk, "%s %p -> %p\n", __func__, sdp_sk(sk)->id, id);
 
-       h = event->private_data;
+       h = event->param.conn.private_data;
 
        if (!h->max_adverts)
                return -EINVAL;
@@ -210,8 +210,8 @@ int sdp_connect_handler(struct sock *sk, struct rdma_cm_id *id,
 
        INIT_LIST_HEAD(&sdp_sk(child)->accept_queue);
        INIT_LIST_HEAD(&sdp_sk(child)->backlog_queue);
-       INIT_WORK(&sdp_sk(child)->time_wait_work, sdp_time_wait_work, child);
-       INIT_WORK(&sdp_sk(child)->destroy_work, sdp_destroy_work, child);
+       INIT_DELAYED_WORK(&sdp_sk(child)->time_wait_work, sdp_time_wait_work);
+       INIT_WORK(&sdp_sk(child)->destroy_work, sdp_destroy_work);
 
        dst_addr = (struct sockaddr_in *)&id->route.addr.dst_addr;
        inet_sk(child)->dport = dst_addr->sin_port;
@@ -250,7 +250,7 @@ int sdp_connect_handler(struct sock *sk, struct rdma_cm_id *id,
 static int sdp_response_handler(struct sock *sk, struct rdma_cm_id *id,
                                struct rdma_cm_event *event)
 {
-       struct sdp_hah *h;
+       const struct sdp_hah *h;
        struct sockaddr_in *dst_addr;
        sdp_dbg(sk, "%s\n", __func__);
 
@@ -262,7 +262,7 @@ static int sdp_response_handler(struct sock *sk, struct rdma_cm_id *id,
        if (sock_flag(sk, SOCK_DEAD))
                return 0;
 
-       h = event->private_data;
+       h = event->param.conn.private_data;
        sdp_sk(sk)->bufs = ntohs(h->bsdh.bufs);
        sdp_sk(sk)->xmit_size_goal = ntohl(h->actrcvsz) -
                sizeof(struct sdp_bsdh);
index f6e8961b7b03a315b5e21814d9d571e61f35bfc2..ef8e2eb737fa3f9e64ffe77a54b964f83f5e3a99 100644 (file)
@@ -652,9 +652,10 @@ static int sdp_ioctl(struct sock *sk, int cmd, unsigned long arg)
        return put_user(answ, (int __user *)arg); 
 }
 
-void sdp_destroy_work(void *data)
+void sdp_destroy_work(struct work_struct *work)
 {
-       struct sock *sk = data;
+       struct sdp_sock *ssk = container_of(work, struct sdp_sock, destroy_work);
+       struct sock *sk = &ssk->isk.sk;
        sdp_dbg(sk, "%s: refcnt %d\n", __func__, atomic_read(&sk->sk_refcnt));
 
        cancel_delayed_work(&sdp_sk(sk)->time_wait_work);
@@ -663,9 +664,10 @@ void sdp_destroy_work(void *data)
        sock_put(sk);
 }
 
-void sdp_time_wait_work(void *data)
+void sdp_time_wait_work(struct delayed_work *work)
 {
-       struct sock *sk = data;
+       struct sdp_sock *ssk = container_of(work, struct sdp_sock, time_wait_work);
+       struct sock *sk = &ssk->isk.sk;
        lock_sock(sk);
        sdp_dbg(sk, "%s\n", __func__);
 
@@ -681,7 +683,7 @@ void sdp_time_wait_work(void *data)
        release_sock(sk);
 
        atomic_dec(sk->sk_prot->orphan_count);
-       sock_put(data);
+       sock_put(sk);
 }
 
 void sdp_time_wait_destroy_sk(struct sdp_sock *ssk)
@@ -699,8 +701,8 @@ static int sdp_init_sock(struct sock *sk)
 
        INIT_LIST_HEAD(&ssk->accept_queue);
        INIT_LIST_HEAD(&ssk->backlog_queue);
-       INIT_WORK(&ssk->time_wait_work, sdp_time_wait_work, sk);
-       INIT_WORK(&ssk->destroy_work, sdp_destroy_work, sk);
+       INIT_DELAYED_WORK(&ssk->time_wait_work, sdp_time_wait_work);
+       INIT_WORK(&ssk->destroy_work, sdp_destroy_work);
 
        sk->sk_route_caps |= NETIF_F_SG | NETIF_F_NO_CSUM;
        return 0;