scsi: bfa: turn bfa_mem_{kva,dma}_setup into inline functions
authorArnd Bergmann <arnd@arndb.de>
Wed, 16 Nov 2016 15:14:27 +0000 (16:14 +0100)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 22 Nov 2016 03:28:17 +0000 (22:28 -0500)
These two macros cause lots of warnings with gcc-7:

drivers/scsi/bfa/bfa_svc.c: In function 'bfa_fcxp_meminfo':
drivers/scsi/bfa/bfa_svc.c:521:103: error: '*' in boolean context, suggest '&&' instead [-Werror=int-in-bool-context]

Using inline functions makes them much more readable and avoids the
warnings.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
Acked by: Anil Gurumurthy <anil.gurumurthy@cavium.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/bfa/bfa_ioc.h

index 713745da44c6ac457ad61b3174ffe4056bdcba83..0f9fab770339abb174590d684c166dc568a3f721 100644 (file)
@@ -111,20 +111,24 @@ struct bfa_meminfo_s {
        struct bfa_mem_kva_s kva_info;
 };
 
-/* BFA memory segment setup macros */
-#define bfa_mem_dma_setup(_meminfo, _dm_ptr, _seg_sz) do {     \
-       ((bfa_mem_dma_t *)(_dm_ptr))->mem_len = (_seg_sz);      \
-       if (_seg_sz)                                            \
-               list_add_tail(&((bfa_mem_dma_t *)_dm_ptr)->qe,  \
-                             &(_meminfo)->dma_info.qe);        \
-} while (0)
+/* BFA memory segment setup helpers */
+static inline void bfa_mem_dma_setup(struct bfa_meminfo_s *meminfo,
+                                    struct bfa_mem_dma_s *dm_ptr,
+                                    size_t seg_sz)
+{
+       dm_ptr->mem_len = seg_sz;
+       if (seg_sz)
+               list_add_tail(&dm_ptr->qe, &meminfo->dma_info.qe);
+}
 
-#define bfa_mem_kva_setup(_meminfo, _kva_ptr, _seg_sz) do {    \
-       ((bfa_mem_kva_t *)(_kva_ptr))->mem_len = (_seg_sz);     \
-       if (_seg_sz)                                            \
-               list_add_tail(&((bfa_mem_kva_t *)_kva_ptr)->qe, \
-                             &(_meminfo)->kva_info.qe);        \
-} while (0)
+static inline void bfa_mem_kva_setup(struct bfa_meminfo_s *meminfo,
+                                    struct bfa_mem_kva_s *kva_ptr,
+                                    size_t seg_sz)
+{
+       kva_ptr->mem_len = seg_sz;
+       if (seg_sz)
+               list_add_tail(&kva_ptr->qe, &meminfo->kva_info.qe);
+}
 
 /* BFA dma memory segments iterator */
 #define bfa_mem_dma_sptr(_mod, _i)     (&(_mod)->dma_seg[(_i)])