diff options
author | Roland Dreier <roland@topspin.com> | 2005-06-27 17:36:43 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-06-27 18:11:45 -0400 |
commit | a03a5a67b243e9a24805ee18272ad25e5b2ca92c (patch) | |
tree | 5e4a1d3ec8482a482caa6697cba12a819ef6aa8a /drivers/infiniband/hw/mthca/mthca_memfree.c | |
parent | a852092e8cb305595ff630dfc3e9b25966a98276 (diff) |
[PATCH] IB/mthca: Move mthca_is_memfree checks
Make mthca_table_put() and mthca_table_put_range() NOPs if the device is not
mem-free, so that we don't have to have "if (mthca_is_memfree())" tests in the
callers of these functions. This makes our code more readable and
maintainable, and saves a couple dozen bytes of text in ib_mthca.ko as well.
Signed-off-by: Roland Dreier <roland@topspin.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/infiniband/hw/mthca/mthca_memfree.c')
-rw-r--r-- | drivers/infiniband/hw/mthca/mthca_memfree.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/mthca/mthca_memfree.c b/drivers/infiniband/hw/mthca/mthca_memfree.c index 637b30e35592..6d3b05dd9e3f 100644 --- a/drivers/infiniband/hw/mthca/mthca_memfree.c +++ b/drivers/infiniband/hw/mthca/mthca_memfree.c | |||
@@ -179,9 +179,14 @@ out: | |||
179 | 179 | ||
180 | void mthca_table_put(struct mthca_dev *dev, struct mthca_icm_table *table, int obj) | 180 | void mthca_table_put(struct mthca_dev *dev, struct mthca_icm_table *table, int obj) |
181 | { | 181 | { |
182 | int i = (obj & (table->num_obj - 1)) * table->obj_size / MTHCA_TABLE_CHUNK_SIZE; | 182 | int i; |
183 | u8 status; | 183 | u8 status; |
184 | 184 | ||
185 | if (!mthca_is_memfree(dev)) | ||
186 | return; | ||
187 | |||
188 | i = (obj & (table->num_obj - 1)) * table->obj_size / MTHCA_TABLE_CHUNK_SIZE; | ||
189 | |||
185 | down(&table->mutex); | 190 | down(&table->mutex); |
186 | 191 | ||
187 | if (--table->icm[i]->refcount == 0) { | 192 | if (--table->icm[i]->refcount == 0) { |
@@ -256,6 +261,9 @@ void mthca_table_put_range(struct mthca_dev *dev, struct mthca_icm_table *table, | |||
256 | { | 261 | { |
257 | int i; | 262 | int i; |
258 | 263 | ||
264 | if (!mthca_is_memfree(dev)) | ||
265 | return; | ||
266 | |||
259 | for (i = start; i <= end; i += MTHCA_TABLE_CHUNK_SIZE / table->obj_size) | 267 | for (i = start; i <= end; i += MTHCA_TABLE_CHUNK_SIZE / table->obj_size) |
260 | mthca_table_put(dev, table, i); | 268 | mthca_table_put(dev, table, i); |
261 | } | 269 | } |