Re: [PATCH net-next 03/32] sfc: Remove parentheses around return expressions, reported by checkpatch
From: Ben Hutchings <hidden>
Date: 2012-01-30 16:46:09
On Fri, 2012-01-27 at 13:01 -0800, Joe Perches wrote:
On Fri, 2012-01-27 at 20:42 +0000, Ben Hutchings wrote:quoted
Fix the following error: ERROR: return is not a function, parentheses are not required Signed-off-by: Ben Hutchings <redacted>trivia:quoted
diff --git a/drivers/net/ethernet/sfc/rx.c b/drivers/net/ethernet/sfc/rx.c[]quoted
@@ -98,8 +98,8 @@ static inline unsigned int efx_rx_buf_offset(struct efx_nic *efx, /* Offset is always within one page, so we don't need to consider * the page order. */ - return (((__force unsigned long) buf->dma_addr & (PAGE_SIZE - 1)) + - efx->type->rx_buffer_hash_size); + return ((__force unsigned long) buf->dma_addr & (PAGE_SIZE - 1)) + + efx->type->rx_buffer_hash_size; }The function returns unsigned int, perhaps the cast should be (__force unsigned int) or the function should return unsigned long or maybe size_t?
It's a page offset, so I believe unsigned int is correct. This function used to use the virtual address, and the compiler will warn about casting a pointer to an integer of smaller size. Now that it's using the DMA address, this no longer applies (and __force is not necessary either). Ben. -- Ben Hutchings, Staff Engineer, Solarflare Not speaking for my employer; that's the marketing department's job. They asked us to note that Solarflare product names are trademarked.