RDMA/amso1100: Endian annotate mqsq allocator
Roland Dreier [Thu, 17 Apr 2008 04:01:08 +0000 (21:01 -0700)]
Signed-off-by: Roland Dreier <rolandd@cisco.com>

drivers/infiniband/hw/amso1100/c2.h
drivers/infiniband/hw/amso1100/c2_alloc.c

index 21bcb3a..ed38ab8 100644 (file)
@@ -545,7 +545,7 @@ extern void c2_ae_event(struct c2_dev *c2dev, u32 mq_index);
 extern int c2_init_mqsp_pool(struct c2_dev *c2dev, gfp_t gfp_mask,
                             struct sp_chunk **root);
 extern void c2_free_mqsp_pool(struct c2_dev *c2dev, struct sp_chunk *root);
-extern u16 *c2_alloc_mqsp(struct c2_dev *c2dev, struct sp_chunk *head,
-                         dma_addr_t *dma_addr, gfp_t gfp_mask);
-extern void c2_free_mqsp(u16 * mqsp);
+extern __be16 *c2_alloc_mqsp(struct c2_dev *c2dev, struct sp_chunk *head,
+                            dma_addr_t *dma_addr, gfp_t gfp_mask);
+extern void c2_free_mqsp(__be16* mqsp);
 #endif
index 0315f99..02091e6 100644 (file)
@@ -87,8 +87,8 @@ void c2_free_mqsp_pool(struct c2_dev *c2dev, struct sp_chunk *root)
        }
 }
 
-u16 *c2_alloc_mqsp(struct c2_dev *c2dev, struct sp_chunk *head,
-                  dma_addr_t *dma_addr, gfp_t gfp_mask)
+__be16 *c2_alloc_mqsp(struct c2_dev *c2dev, struct sp_chunk *head,
+                     dma_addr_t *dma_addr, gfp_t gfp_mask)
 {
        u16 mqsp;
 
@@ -115,12 +115,12 @@ u16 *c2_alloc_mqsp(struct c2_dev *c2dev, struct sp_chunk *head,
                             (unsigned long) head);
                pr_debug("%s addr %p dma_addr %llx\n", __FUNCTION__,
                         &(head->shared_ptr[mqsp]), (unsigned long long) *dma_addr);
-               return &(head->shared_ptr[mqsp]);
+               return (__force __be16 *) &(head->shared_ptr[mqsp]);
        }
        return NULL;
 }
 
-void c2_free_mqsp(u16 * mqsp)
+void c2_free_mqsp(__be16 *mqsp)
 {
        struct sp_chunk *head;
        u16 idx;
@@ -129,7 +129,7 @@ void c2_free_mqsp(u16 * mqsp)
        head = (struct sp_chunk *) ((unsigned long) mqsp & PAGE_MASK);
 
        /* Link head to new mqsp */
-       *mqsp = head->head;
+       *mqsp = (__force __be16) head->head;
 
        /* Compute the shared_ptr index */
        idx = ((unsigned long) mqsp & ~PAGE_MASK) >> 1;