1. Remove libsa/sa_hash_kern.c
2. Remove include/sa_hash.h
3. Remove all references to sa_hash_xxx
4. Update Makefile accordingly in libsa

Signed-off-by: Yi Zou <[EMAIL PROTECTED]>
---

 drivers/scsi/ofc/include/sa_hash.h    |   65 ---------------
 drivers/scsi/ofc/libfc/fc_exch.c      |    1 
 drivers/scsi/ofc/libfc/fc_sess_impl.h |    1 
 drivers/scsi/ofc/libsa/Makefile       |    4 -
 drivers/scsi/ofc/libsa/sa_hash_kern.c |  141 ---------------------------------
 5 files changed, 1 insertions(+), 211 deletions(-)
 delete mode 100644 drivers/scsi/ofc/include/sa_hash.h
 delete mode 100644 drivers/scsi/ofc/libsa/sa_hash_kern.c


diff --git a/drivers/scsi/ofc/include/sa_hash.h 
b/drivers/scsi/ofc/include/sa_hash.h
deleted file mode 100644
index d4ee6be..0000000
--- a/drivers/scsi/ofc/include/sa_hash.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright(c) 2007 Intel Corporation. All rights reserved.
- * 
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- * 
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- * 
- * You should have received a copy of the GNU General Public License along with
- * this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
- * 
- * Maintained at www.Open-FCoE.org
- */
-
-#ifndef _LIBSA_HASH_H_
-#define _LIBSA_HASH_H_
-
-#include <linux/list.h>
-
-/*
- * Hash table facility.
- */
-struct sa_hash;
-
-/*
- * Hash key value.
- */
-typedef void *         sa_hash_key_t;          /* pointer hash key */
-typedef u_int32_t      sa_hash_key32_t;        /* fixed-size 32-bit hash key */
-
-struct sa_hash_type {
-       u_int16_t       st_link_offset; /* offset of linkage in the element */
-       int             (*st_match)(const sa_hash_key_t, void *elem);
-       u_int32_t       (*st_hash)(const sa_hash_key_t);
-};
-
-/*
- * Element linkage on the hash.
- * The collision list is circular.
- */
-#define sa_hash_link    hlist_node
-
-struct sa_hash *sa_hash_create(const struct sa_hash_type *, u_int32_t size);
-
-void sa_hash_destroy(struct sa_hash *);
-
-void *sa_hash_lookup(struct sa_hash *, const sa_hash_key_t);
-
-void sa_hash_insert(struct sa_hash *, const sa_hash_key_t, void *elem);
-
-void sa_hash_insert_next(struct sa_hash *, sa_hash_key32_t *,
-                        sa_hash_key32_t min_key, sa_hash_key32_t max_key,
-                        void *elem);
-
-void *sa_hash_lookup_delete(struct sa_hash *, const sa_hash_key_t);
-
-void sa_hash_iterate(struct sa_hash *,
-                       void (*callback)(void *entry, void *arg), void *arg);
-
-#endif /* _LIBSA_HASH_H_ */
diff --git a/drivers/scsi/ofc/libfc/fc_exch.c b/drivers/scsi/ofc/libfc/fc_exch.c
index db67d98..1ceab9c 100644
--- a/drivers/scsi/ofc/libfc/fc_exch.c
+++ b/drivers/scsi/ofc/libfc/fc_exch.c
@@ -27,7 +27,6 @@
 #include "sa_kernel.h"
 #include "net_types.h"
 #include "ofc_dbg.h"
-#include "sa_hash.h"
 
 #include "fc_fcip.h"
 #include "fc_fc2.h"
diff --git a/drivers/scsi/ofc/libfc/fc_sess_impl.h 
b/drivers/scsi/ofc/libfc/fc_sess_impl.h
index c600186..84befab 100644
--- a/drivers/scsi/ofc/libfc/fc_sess_impl.h
+++ b/drivers/scsi/ofc/libfc/fc_sess_impl.h
@@ -22,7 +22,6 @@
 
 #include <linux/timer.h>
 #include "fc_exch.h"
-#include "sa_hash.h"
 
 #include <linux/rcupdate.h>
 
diff --git a/drivers/scsi/ofc/libsa/Makefile b/drivers/scsi/ofc/libsa/Makefile
index 3453608..fa6da75 100644
--- a/drivers/scsi/ofc/libsa/Makefile
+++ b/drivers/scsi/ofc/libsa/Makefile
@@ -4,6 +4,4 @@ EXTRA_CFLAGS += -I$(OFC_DIR)/include
 
 obj-y += libsa.o
 
-libsa-y := \
-       sa_event.o \
-       sa_hash_kern.o
+libsa-y := sa_event.o
diff --git a/drivers/scsi/ofc/libsa/sa_hash_kern.c 
b/drivers/scsi/ofc/libsa/sa_hash_kern.c
deleted file mode 100644
index f1103a5..0000000
--- a/drivers/scsi/ofc/libsa/sa_hash_kern.c
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Copyright(c) 2007 Intel Corporation. All rights reserved.
- * 
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- * 
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- * 
- * You should have received a copy of the GNU General Public License along with
- * this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
- * 
- * Maintained at www.Open-FCoE.org
- */
-
-#include "sa_kernel.h"
-#include "ofc_dbg.h"
-#include "sa_hash.h"
-
-struct sa_hash {
-       struct sa_hash_type sh_type;
-       u_int32_t sh_mask;      /* mask for the size of the table */
-       u_int32_t sh_entries;   /* number of entries now in the table */
-       struct hlist_head sh_table[0];  /* table (will be allocated bigger) */
-};
-
-struct sa_hash_elem {          /* stand-in for the real client element */
-       struct hlist_node elem_node;
-};
-
-static inline struct hlist_head *sa_hash_bucket(struct sa_hash *hp,
-                                               sa_hash_key_t key)
-{
-       return &hp->sh_table[(*hp->sh_type.st_hash) (key) & hp->sh_mask];
-}
-
-struct sa_hash *sa_hash_create(const struct sa_hash_type *tp, uint32_t 
req_size)
-{
-       struct sa_hash *hp;
-       u_int32_t size;
-       size_t len;
-
-       /*
-        * Pick power of 2 at least as big as size.
-        */
-       for (size = 4; size < (1UL << 31); size <<= 1)
-               if (size >= req_size)
-                       break;
-
-       len = sizeof(*hp) + size * sizeof(struct hlist_head);
-       hp = sa_malloc(len);
-       if (hp) {
-               memset(hp, 0, len);
-               hp->sh_type = *tp;
-               hp->sh_mask = size - 1;
-       }
-       return hp;
-}
-
-void sa_hash_destroy(struct sa_hash *hp)
-{
-       sa_free(hp);
-}
-
-void *sa_hash_lookup(struct sa_hash *hp, const sa_hash_key_t key)
-{
-       struct sa_hash_elem *ep;
-       struct hlist_node *np;
-       struct hlist_head *hhp;
-       void *rp = NULL;
-
-       hhp = sa_hash_bucket(hp, key);
-       hlist_for_each_entry_rcu(ep, np, hhp, elem_node) {
-               rp = (void *)((char *)ep - hp->sh_type.st_link_offset);
-               if ((*hp->sh_type.st_match) (key, rp))
-                       break;
-               rp = NULL;
-       }
-       return rp;
-}
-
-void *sa_hash_lookup_delete(struct sa_hash *hp, const sa_hash_key_t key)
-{
-       struct sa_hash_elem *ep;
-       struct hlist_node *np;
-       struct hlist_head *hhp;
-       void *rp = NULL;
-
-       hhp = sa_hash_bucket(hp, key);
-       hlist_for_each_entry_rcu(ep, np, hhp, elem_node) {
-               rp = (void *)((char *)ep - hp->sh_type.st_link_offset);
-               if ((*hp->sh_type.st_match) (key, rp)) {
-                       hlist_del_rcu(np);
-                       hp->sh_entries--;
-                       break;
-               }
-               rp = NULL;
-       }
-       return (rp);
-}
-
-void sa_hash_insert(struct sa_hash *hp, const sa_hash_key_t key, void *ep)
-{
-       struct hlist_head *hhp;
-       struct hlist_node *lp;  /* new link pointer */
-
-       lp = (struct hlist_node *)((char *)ep + hp->sh_type.st_link_offset);
-       hhp = sa_hash_bucket(hp, key);
-       hlist_add_head_rcu(lp, hhp);
-       hp->sh_entries++;
-}
-
-/*
- * Iterate through all hash entries.
- * For debugging.  This can be slow.
- */
-void
-sa_hash_iterate(struct sa_hash *hp,
-               void (*callback) (void *ep, void *arg), void *arg)
-{
-       struct hlist_head *hhp;
-       struct hlist_node *np;
-       struct sa_hash_elem *ep;
-       void *entry;
-       int count = 0;
-
-       for (hhp = hp->sh_table; hhp < &hp->sh_table[hp->sh_mask + 1]; hhp++) {
-               hlist_for_each_entry_rcu(ep, np, hhp, elem_node) {
-                       entry = (void *)((char *)ep -
-                                        hp->sh_type.st_link_offset);
-                       (*callback) (entry, arg);
-                       count++;
-               }
-       }
-       if (count != hp->sh_entries)
-               OFC_DBG("sh_entries %d != count %d", hp->sh_entries, count);
-}

-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to