Tom,

How did you produce these errors?

I don't see any warning when I build the code w/ kbuild:

# cd root_of_my_2.6.11_linux_src_tree

# make drivers/dat/
# make drivers/infiniband/ulp/dat-provider/

james

On Wed, 27 Apr 2005, Tom Duffy wrote:

This patch fixes all the sparse warnings during build of dat,
dat-provider, and ib_at.

Signed-off-by: Tom Duffy <[EMAIL PROTECTED]>

Index: gen2/users/jlentini/linux-kernel/dat-provider/dapl_ep_connect.c
===================================================================
--- gen2/users/jlentini/linux-kernel/dat-provider/dapl_ep_connect.c     
(revision 2219)
+++ gen2/users/jlentini/linux-kernel/dat-provider/dapl_ep_connect.c     
(working copy)
@@ -263,7 +263,7 @@ dapl_ep_connect(DAT_EP_HANDLE ep_handle,
                                                       connect_evd_handle,
                                                       
DAT_CONNECTION_EVENT_UNREACHABLE,
                                                       (DAT_HANDLE) ep_ptr, 0,
-                                                      0);
+                                                      NULL);
                        dat_status = DAT_SUCCESS;
                }
        } else {
Index: gen2/users/jlentini/linux-kernel/dat-provider/dapl_module.c
===================================================================
--- gen2/users/jlentini/linux-kernel/dat-provider/dapl_module.c (revision 2219)
+++ gen2/users/jlentini/linux-kernel/dat-provider/dapl_module.c (working copy)
@@ -44,7 +44,7 @@ MODULE_DESCRIPTION("DAT Provider for Inf
MODULE_AUTHOR("James Lentini");

int g_dapl_dbg_type = 0;
-MODULE_PARM(g_dapl_dbg_type, "i");
+module_param(g_dapl_dbg_type, int, 0644);
MODULE_PARM_DESC(g_dapl_dbg_type, "Enable dapl debug types");

static int dapl_init(void);
@@ -209,13 +209,13 @@ void DAT_PROVIDER_FINI_FUNC_NAME(const D
        (void)dapl_provider_list_remove(provider_info->ia_name);
}

-struct ib_client dapl_client = {
+static struct ib_client dapl_client = {
        .name = "dapl",
        .add = dapl_add_one,
        .remove = dapl_remove_one
};

-char *dev_name_suffix_table[3] = {
+static char *dev_name_suffix_table[3] = {
        "",
        "a",
        "b"
Index: gen2/users/jlentini/linux-kernel/dat-provider/dapl_provider.c
===================================================================
--- gen2/users/jlentini/linux-kernel/dat-provider/dapl_provider.c       
(revision 2219)
+++ gen2/users/jlentini/linux-kernel/dat-provider/dapl_provider.c       
(working copy)
@@ -53,7 +53,7 @@ DAPL_PROVIDER_LIST g_dapl_provider_list;

DAT_PROVIDER g_dapl_provider_template = {
        NULL,
-       0,
+       NULL,
        &dapl_ia_open,
        &dapl_ia_query,
        &dapl_ia_close,
Index: gen2/users/jlentini/linux-kernel/dat-provider/dapl_openib_cm.c
===================================================================
--- gen2/users/jlentini/linux-kernel/dat-provider/dapl_openib_cm.c      
(revision 2219)
+++ gen2/users/jlentini/linux-kernel/dat-provider/dapl_openib_cm.c      
(working copy)
@@ -628,7 +628,7 @@ dapl_ib_setup_conn_listener(DAPL_IA * ia
        if (status) {
                /* need to destroy CM ID ??? */

-               sp_ptr->cm_srvc_handle = 0;
+               sp_ptr->cm_srvc_handle = NULL;

                if (status == -EBUSY)
                        return DAT_CONN_QUAL_IN_USE;
@@ -799,22 +799,6 @@ DAT_RETURN dapl_ib_accept_connection(DAT
        return DAT_SUCCESS;
}

-DAT_RETURN dapl_ib_comm_established(DAPL_EP * ep_ptr)
-{
-       int status;
-       DAT_RETURN dat_status = DAT_SUCCESS;
-
-       status = ib_send_cm_rtu(ep_ptr->cm_handle, NULL, 0);
-       if (status) {
-               dapl_dbg_log(DAPL_DBG_TYPE_ERR,
-                            " dapl_ib_comm_established: ib_send_cm_rtu failed: %d 
cm_handle: %x\n",
-                            status, ep_ptr->cm_handle);
-               return DAT_ERROR(DAT_INSUFFICIENT_RESOURCES, 0);
-       }
-
-       return dat_status;
-}
-
/*
 * ib_cm_get_remote_gid
 */
Index: gen2/users/jlentini/linux-kernel/dat-provider/dapl_openib_util.c
===================================================================
--- gen2/users/jlentini/linux-kernel/dat-provider/dapl_openib_util.c    
(revision 2219)
+++ gen2/users/jlentini/linux-kernel/dat-provider/dapl_openib_util.c    
(working copy)
@@ -683,7 +683,7 @@ dapl_ib_mw_unbind(DAPL_RMR * rmr,
        mw_bind_prop.mw_access_flags = 0;
        mw_bind_prop.send_flags =
            (is_signaled == DAT_TRUE) ? IB_SEND_SIGNALED : 0;
-       mw_bind_prop.mr = 0;
+       mw_bind_prop.mr = NULL;
        mw_bind_prop.wr_id = (u64) (uintptr_t) cookie;
        ib_status = ib_bind_mw(ep->qp_handle, rmr->mw_handle, &mw_bind_prop);
        if (ib_status < 0) {
@@ -954,16 +954,6 @@ dapl_ib_get_async_event(ib_error_record_
}

DAT_RETURN
-dapl_ib_ncompletion_notify(ib_hca_handle_t hca_handle,
-                          ib_cq_handle_t cq_handle, DAT_COUNT num)
-{
-       int ib_status;
-
-       ib_status = ib_req_ncomp_notif(cq_handle, num);
-       return dapl_ib_status_convert(ib_status);
-}
-
-DAT_RETURN
dapl_ib_get_hca_ids(ib_hca_handle_t hca, u8 port, union ib_gid * gid, u16 * lid)
{
        int status;
Index: gen2/users/jlentini/linux-kernel/dat-provider/dapl_timer_util.c
===================================================================
--- gen2/users/jlentini/linux-kernel/dat-provider/dapl_timer_util.c     
(revision 2219)
+++ gen2/users/jlentini/linux-kernel/dat-provider/dapl_timer_util.c     
(working copy)
@@ -52,7 +52,7 @@
#include "dapl.h"
#include "dapl_timer_util.h"

-struct timer_head {
+static struct timer_head {
        DAPL_LLIST_HEAD timer_list_head;
        spinlock_t lock;
        DAPL_OS_WAIT_OBJECT wait_object;
@@ -63,7 +63,7 @@ typedef struct timer_head DAPL_TIMER_HEA

void dapl_timer_thread(void *arg);

-void dapl_timer_init()
+void dapl_timer_init(void)
{
        /*
         * Set up the timer thread elements. The timer thread isn't
Index: gen2/users/jlentini/linux-kernel/dat-provider/dapl_openib_util.h
===================================================================
--- gen2/users/jlentini/linux-kernel/dat-provider/dapl_openib_util.h    
(revision 2219)
+++ gen2/users/jlentini/linux-kernel/dat-provider/dapl_openib_util.h    
(working copy)
@@ -105,7 +105,7 @@ typedef struct ib_shm_transport {
        ib_mr_handle_t mr_handle;
} ib_shm_transport_t;

-#define         IB_INVALID_HANDLE             0
+#define         IB_INVALID_HANDLE             NULL

#define          IB_MAX_REQ_PDATA_SIZE      92
#define          IB_MAX_REP_PDATA_SIZE      196
Index: gen2/users/jlentini/linux-kernel/dat-provider/dapl_cr_accept.c
===================================================================
--- gen2/users/jlentini/linux-kernel/dat-provider/dapl_cr_accept.c      
(revision 2219)
+++ gen2/users/jlentini/linux-kernel/dat-provider/dapl_cr_accept.c      
(working copy)
@@ -190,7 +190,7 @@ dapl_cr_accept(DAT_CR_HANDLE cr_handle,
                                                           request_evd_handle,
                                                           
DAT_CONNECTION_EVENT_ACCEPT_COMPLETION_ERROR,
                                                           (DAT_HANDLE) ep_ptr,
-                                                          0, 0);
+                                                          0, NULL);

                        cr_ptr->header.magic = DAPL_MAGIC_CR_DESTROYED;
                } else {
Index: gen2/users/jlentini/linux-kernel/dat-provider/dapl_rmr_util.c
===================================================================
--- gen2/users/jlentini/linux-kernel/dat-provider/dapl_rmr_util.c       
(revision 2219)
+++ gen2/users/jlentini/linux-kernel/dat-provider/dapl_rmr_util.c       
(working copy)
@@ -49,7 +49,7 @@ DAPL_RMR *dapl_rmr_alloc(DAPL_PZ * pz)
        rmr->header.handle_type = DAT_HANDLE_TYPE_RMR;
        rmr->header.owner_ia = pz->header.owner_ia;
        rmr->header.user_context.as_64 = 0;
-       rmr->header.user_context.as_ptr = 0;
+       rmr->header.user_context.as_ptr = NULL;
        dapl_llist_init_entry(&rmr->header.ia_list_entry);
        dapl_ia_link_rmr(rmr->header.owner_ia, rmr);
        spin_lock_init(&rmr->header.lock);
Index: gen2/users/jlentini/linux-kernel/dat-provider/dapl_ep_util.c
===================================================================
--- gen2/users/jlentini/linux-kernel/dat-provider/dapl_ep_util.c        
(revision 2219)
+++ gen2/users/jlentini/linux-kernel/dat-provider/dapl_ep_util.c        
(working copy)
@@ -368,7 +368,7 @@ void dapl_ep_timeout(uintptr_t arg)
        (void)dapl_evd_post_connection_event((DAPL_EVD *) ep_ptr->param.
                                             connect_evd_handle,
                                             DAT_CONNECTION_EVENT_TIMED_OUT,
-                                            (DAT_HANDLE) ep_ptr, 0, 0);
+                                            (DAT_HANDLE) ep_ptr, 0, NULL);
}

/*
Index: gen2/users/jlentini/linux-kernel/dat-provider/dapl_evd_util.c
===================================================================
--- gen2/users/jlentini/linux-kernel/dat-provider/dapl_evd_util.c       
(revision 2219)
+++ gen2/users/jlentini/linux-kernel/dat-provider/dapl_evd_util.c       
(working copy)
@@ -358,7 +358,7 @@ void dapl_evd_eh_print_cqe(ib_work_compl
                "OP_COMP_AND_SWAP",
                "OP_FETCH_AND_ADD",
                "OP_BIND_MW",
-               0
+               NULL
        };
        dapl_dbg_log(DAPL_DBG_TYPE_CALLBACK,
                     "\t >>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<\n");
Index: gen2/users/jlentini/linux-kernel/dat-provider/dapl_ep_disconnect.c
===================================================================
--- gen2/users/jlentini/linux-kernel/dat-provider/dapl_ep_disconnect.c  
(revision 2219)
+++ gen2/users/jlentini/linux-kernel/dat-provider/dapl_ep_disconnect.c  
(working copy)
@@ -144,7 +144,7 @@ dapl_ep_disconnect(DAT_EP_HANDLE ep_hand
                evd_ptr = (DAPL_EVD *) ep_ptr->param.connect_evd_handle;
                dapl_evd_post_connection_event(evd_ptr,
                                               
DAT_CONNECTION_EVENT_DISCONNECTED,
-                                              (DAT_HANDLE) ep_ptr, 0, 0);
+                                              (DAT_HANDLE) ep_ptr, 0, NULL);
                dat_status = DAT_SUCCESS;
                goto bail;
        }
Index: gen2/users/jlentini/linux-kernel/dat-provider/dapl_hash.c
===================================================================
--- gen2/users/jlentini/linux-kernel/dat-provider/dapl_hash.c   (revision 2219)
+++ gen2/users/jlentini/linux-kernel/dat-provider/dapl_hash.c   (working copy)
@@ -145,7 +145,7 @@ dapl_hash_rehash(DAPL_HASH_ELEM * elemen
                        return;
                }
        }
-       *head = 0;
+       *head = NULL;
}

/*
@@ -209,7 +209,7 @@ dapl_hash_add(DAPL_HASH_TABLEP p_table,
                 */
                p_table->table[hashValue].key = key;
                p_table->table[hashValue].datum = datum;
-               p_table->table[hashValue].next_element = 0;
+               p_table->table[hashValue].next_element = NULL;
                p_table->num_entries++;
                status = DAT_TRUE;
        } else {
@@ -222,7 +222,7 @@ dapl_hash_add(DAPL_HASH_TABLEP p_table,
                        DAPL_HASH_ELEM *lastelement;
                        newelement->key = key;
                        newelement->datum = datum;
-                       newelement->next_element = 0;
+                       newelement->next_element = NULL;
                        for (lastelement = &p_table->table[hashValue];
                             lastelement->next_element;
                             lastelement = lastelement->next_element) {
@@ -354,7 +354,7 @@ DAT_RETURN dapl_hash_create(DAT_COUNT ta
        for (i = 0; i < table_size; i++) {
                p_table->table[i].datum = NO_DATUM_VALUE;
                p_table->table[i].key = 0;
-               p_table->table[i].next_element = 0;
+               p_table->table[i].next_element = NULL;
        }

        *pp_table = p_table;
Index: gen2/users/jlentini/linux-kernel/dat-provider/dapl_llist.c
===================================================================
--- gen2/users/jlentini/linux-kernel/dat-provider/dapl_llist.c  (revision 2219)
+++ gen2/users/jlentini/linux-kernel/dat-provider/dapl_llist.c  (working copy)
@@ -71,7 +71,7 @@ void dapl_llist_init_entry(DAPL_LLIST_EN
{
        entry->blink = NULL;
        entry->flink = NULL;
-       entry->data = 0;
+       entry->data = NULL;
        entry->list_head = NULL;
}

Index: gen2/users/jlentini/linux-kernel/patches/at.c
===================================================================
--- gen2/users/jlentini/linux-kernel/patches/at.c       (revision 2219)
+++ gen2/users/jlentini/linux-kernel/patches/at.c       (working copy)
@@ -118,7 +118,7 @@ struct async {
        int sa_id;
};

-struct async pending_reqs;     /* dummy head for cyclic list */
+static struct async pending_reqs;      /* dummy head for cyclic list */

struct ib_at_src {
        u32 ip;
@@ -320,7 +320,7 @@ static void req_free(struct async *pend)

        pend->status = IB_AT_STATUS_INVALID;
        pend->type = IBAT_REQ_NONE;
-       pend->sa_query = 0;
+       pend->sa_query = NULL;
}

static int req_start(struct async *q, struct async *pend,
@@ -336,7 +336,7 @@ static int req_start(struct async *q, st

        if (parent) {
                DEBUG("wait on parent %p", parent);
-               pend->next = pend->prev = 0;
+               pend->next = pend->prev = NULL;
                pend->parent = parent;
                pend->waiting = parent->waiting;
                parent->waiting = pend;
@@ -344,8 +344,8 @@ static int req_start(struct async *q, st
                return 0;       /* waiting on other request */
        }

-       pend->waiting = 0;
-       pend->parent = 0;
+       pend->waiting = NULL;
+       pend->parent = NULL;

        DEBUG("link to pending list %p", q);
        pend->next = q;
@@ -396,7 +396,7 @@ static void req_end(struct async *pend,
                if (!*rr)
                        WARN("pending request not found in parent request!");

-               pend->waiting = 0;
+               pend->waiting = NULL;
                DEBUG("child %p removed from parent %p list",
                        pend, pend->parent);
        }
@@ -405,10 +405,10 @@ static void req_end(struct async *pend,
                DEBUG("pend %p ending child req %p", pend, waiting);
                pend->waiting = waiting->waiting;

-               waiting->waiting = 0;
-               waiting->parent = 0;
+               waiting->waiting = NULL;
+               waiting->parent = NULL;

-               req_end(waiting, nrec, 0);
+               req_end(waiting, nrec, NULL);
        }

        if (pend->next) {
@@ -483,7 +483,7 @@ static struct async *lookup_pending(stru
                        break;

        spin_unlock_irqrestore(&q->lock, flags);
-       return a == q ? 0 : a;
+       return a == q ? NULL : a;
}

static struct async *lookup_req_id(struct async *q, u64 id)
@@ -498,7 +498,7 @@ static struct async *lookup_req_id(struc
                        break;

        spin_unlock_irqrestore(&q->lock, flags);
-       return a == q ? 0 : a;
+       return a == q ? NULL : a;
}

static void flush_pending(struct async *q)
@@ -509,7 +509,7 @@ static void flush_pending(struct async *
        DEBUG("flushing pending q %p", q);
        spin_lock_irqsave(&q->lock, flags);
        while ((a = q->next) != q)
-               req_end(a, -EINTR, 0);
+               req_end(a, -EINTR, NULL);
        spin_unlock_irqrestore(&q->lock, flags);
}

@@ -561,7 +561,7 @@ route_req_complete(struct route_req *req
        for (pend = req->pend.waiting; pend; pend = pend->waiting)
                route_req_output(req, pend->data);

-       req_end(&req->pend, 1, 0);
+       req_end(&req->pend, 1, NULL);
}

static void
@@ -587,7 +587,7 @@ path_req_complete(int status, struct ib_
                return;
        }

-       req->pend.sa_query = 0;
+       req->pend.sa_query = NULL;

        req->pend.nelem = path_req_output(req, resp, 1,
                                          req->pend.data, req->pend.nelem);
@@ -597,7 +597,7 @@ path_req_complete(int status, struct ib_
                pend->nelem = path_req_output(req, resp, 1,
                                              pend->data, pend->nelem);

-       req_end(&req->pend, req->pend.nelem, 0);
+       req_end(&req->pend, req->pend.nelem, NULL);
        spin_unlock_irqrestore(&pending_reqs.lock, flags);
}

@@ -624,7 +624,7 @@ static void ib_at_sweep(void *data)
                             (req->dst_ip & 0xff000000) >> 24,
                             jiffies, pend->start);

-                       req_end(pend, -ETIMEDOUT, 0);
+                       req_end(pend, -ETIMEDOUT, NULL);
                }
        }

@@ -902,7 +902,7 @@ int ib_at_cancel(u64 req_id)

        /* Promote first child to be pending req */
        if ((child = a->waiting)) {
-               child->parent = 0;
+               child->parent = NULL;

                /* link child after parent in pending list */
                child->next = a->next;
@@ -910,10 +910,10 @@ int ib_at_cancel(u64 req_id)
                a->next->prev = child;
                a->next = child;

-               a->waiting = 0;              /* clear to avoid cancelling 
childs */
+               a->waiting = NULL;   /* clear to avoid cancelling childs */
        }

-       req_end(a, -EINTR, 0);
+       req_end(a, -EINTR, NULL);

        spin_unlock_irqrestore(&pending_reqs.lock, flags);

Index: gen2/users/jlentini/linux-kernel/dat/dr.c
===================================================================
--- gen2/users/jlentini/linux-kernel/dat/dr.c   (revision 2219)
+++ gen2/users/jlentini/linux-kernel/dat/dr.c   (working copy)
@@ -86,7 +86,7 @@ DAT_RETURN dat_dr_fini(void)
 * Function: dat_dr_insert
 ************************************************************************/

-extern DAT_RETURN
+DAT_RETURN
dat_dr_insert(const DAT_PROVIDER_INFO * info, DAT_DR_ENTRY * entry)
{
        DAT_RETURN status;
@@ -134,7 +134,7 @@ dat_dr_insert(const DAT_PROVIDER_INFO *
 * Function: dat_dr_remove
 ************************************************************************/

-extern DAT_RETURN dat_dr_remove(const DAT_PROVIDER_INFO * info)
+DAT_RETURN dat_dr_remove(const DAT_PROVIDER_INFO * info)
{
        DAT_DR_ENTRY *data;
        DAT_DICTIONARY_ENTRY dict_entry;
@@ -180,7 +180,7 @@ extern DAT_RETURN dat_dr_remove(const DA
 * Function: dat_dr_provider_open
 ************************************************************************/

-extern DAT_RETURN
+DAT_RETURN
dat_dr_provider_open(const DAT_PROVIDER_INFO * info,
                     DAT_IA_OPEN_FUNC * p_ia_open_func)
{
@@ -206,7 +206,7 @@ dat_dr_provider_open(const DAT_PROVIDER_
 * Function: dat_dr_provider_close
 ************************************************************************/

-extern DAT_RETURN dat_dr_provider_close(const DAT_PROVIDER_INFO * info)
+DAT_RETURN dat_dr_provider_close(const DAT_PROVIDER_INFO * info)
{
        DAT_RETURN status;
        DAT_DR_ENTRY *data;
Index: gen2/users/jlentini/linux-kernel/dat/core.c
===================================================================
--- gen2/users/jlentini/linux-kernel/dat/core.c (revision 2219)
+++ gen2/users/jlentini/linux-kernel/dat/core.c (working copy)
@@ -77,7 +77,7 @@ static DAT_MODULE_STATE g_module_state =

static DAT_DBG_CLASS g_dbg_class = DAT_DBG_CLASS_ERROR;

-MODULE_PARM(g_dbg_class, "i");
+module_param(g_dbg_class, int, 0644);
MODULE_PARM_DESC(g_dbg_class,
                 "Bit mask to specify class of DAT debug messages.");

Index: gen2/users/jlentini/linux-kernel/dat/consumer.c
===================================================================
--- gen2/users/jlentini/linux-kernel/dat/consumer.c     (revision 2219)
+++ gen2/users/jlentini/linux-kernel/dat/consumer.c     (working copy)
@@ -48,7 +48,7 @@
 *
 ***********************************************************************/

-DAT_RETURN dat_strerror_major(DAT_RETURN value, const char **message)
+static DAT_RETURN dat_strerror_major(DAT_RETURN value, const char **message)
{
        switch (DAT_GET_TYPE(value)) {
        case DAT_SUCCESS:
@@ -168,7 +168,7 @@ DAT_RETURN dat_strerror_major(DAT_RETURN
 * Function: dat_strerror_minor
 *
 ***********************************************************************/
-DAT_RETURN dat_strerror_minor(DAT_RETURN value, const char **message)
+static DAT_RETURN dat_strerror_minor(DAT_RETURN value, const char **message)
{
        switch (DAT_GET_SUBTYPE(value)) {

@@ -1480,17 +1480,6 @@ DAT_RETURN dat_cr_handoff(DAT_CR_HANDLE
        return DAT_CR_HANDOFF(cr_handle, handoff);
}

-DAT_RETURN dat_evd_kquery(DAT_EVD_HANDLE evd_handle,
-                         DAT_EVD_PARAM_MASK evd_param_mask,
-                         DAT_EVD_PARAM * evd_param)
-{
-       if (evd_handle == NULL) {
-               return DAT_ERROR(DAT_INVALID_HANDLE,
-                                DAT_INVALID_HANDLE_EVD_REQUEST);
-       }
-       return DAT_EVD_QUERY(evd_handle, evd_param_mask, evd_param);
-}
-
DAT_RETURN dat_lmr_query(DAT_LMR_HANDLE lmr_handle,
                         DAT_LMR_PARAM_MASK lmv_param_mask,
                         DAT_LMR_PARAM * lmr_param)

_______________________________________________
openib-general mailing list
[email protected]
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to