diff mbox

IB/core, cma: Make __attribute_const__ declarations sparse-friendly

Message ID 55BF9E80.3030306@sandisk.com (mailing list archive)
State Accepted
Headers show

Commit Message

Bart Van Assche Aug. 3, 2015, 5:01 p.m. UTC
Move the __attribute_const__ declarations such that sparse understands
that these apply to the function itself and not to the return type.
This avoids that sparse reports error messages like the following:

drivers/infiniband/core/verbs.c:73:12: error: symbol 'ib_event_msg' redeclared with different type (originally declared at include/rdma/ib_verbs.h:470) - different modifiers

Fixes: 2b1b5b601230 ("IB/core, cma: Nice log-friendly string helpers")
Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
Cc: Sagi Grimberg <sagig@mellanox.com>
---
 drivers/infiniband/core/cma.c   | 2 +-
 drivers/infiniband/core/verbs.c | 4 ++--
 include/rdma/ib_verbs.h         | 4 ++--
 include/rdma/rdma_cm.h          | 2 +-
 4 files changed, 6 insertions(+), 6 deletions(-)

Comments

Sagi Grimberg Aug. 4, 2015, 4:54 p.m. UTC | #1
On 8/3/2015 8:01 PM, Bart Van Assche wrote:
> Move the __attribute_const__ declarations such that sparse understands
> that these apply to the function itself and not to the return type.
> This avoids that sparse reports error messages like the following:
>
> drivers/infiniband/core/verbs.c:73:12: error: symbol 'ib_event_msg' redeclared with different type (originally declared at include/rdma/ib_verbs.h:470) - different modifiers
>
> Fixes: 2b1b5b601230 ("IB/core, cma: Nice log-friendly string helpers")
> Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
> Cc: Sagi Grimberg <sagig@mellanox.com>

Thanks Bart.

Reviewed-by: Sagi Grimberg <sagig@mellanox.com>
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Doug Ledford Aug. 14, 2015, 7:27 p.m. UTC | #2
On 08/03/2015 01:01 PM, Bart Van Assche wrote:
> Move the __attribute_const__ declarations such that sparse understands
> that these apply to the function itself and not to the return type.
> This avoids that sparse reports error messages like the following:
> 
> drivers/infiniband/core/verbs.c:73:12: error: symbol 'ib_event_msg' redeclared with different type (originally declared at include/rdma/ib_verbs.h:470) - different modifiers
> 
> Fixes: 2b1b5b601230 ("IB/core, cma: Nice log-friendly string helpers")
> Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
> Cc: Sagi Grimberg <sagig@mellanox.com>

Thanks, applied.
Bart Van Assche Oct. 29, 2015, 9:16 p.m. UTC | #3
On 08/14/2015 12:27 PM, Doug Ledford wrote:
> On 08/03/2015 01:01 PM, Bart Van Assche wrote:
>> Move the __attribute_const__ declarations such that sparse understands
>> that these apply to the function itself and not to the return type.
>> This avoids that sparse reports error messages like the following:
>>
>> drivers/infiniband/core/verbs.c:73:12: error: symbol 'ib_event_msg' redeclared with different type (originally declared at include/rdma/ib_verbs.h:470) - different modifiers
>>
>> Fixes: 2b1b5b601230 ("IB/core, cma: Nice log-friendly string helpers")
>> Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
>> Cc: Sagi Grimberg <sagig@mellanox.com>
>
> Thanks, applied.

(replying to an e-mail of two months ago)

Hi Doug,

On which branch has this patch been applied ? I couldn't find it in your 
k.o/for-4.4 branch.

Thanks,

Bart.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Doug Ledford Oct. 30, 2015, 10 p.m. UTC | #4
On 10/29/2015 05:16 PM, Bart Van Assche wrote:
> On 08/14/2015 12:27 PM, Doug Ledford wrote:
>> On 08/03/2015 01:01 PM, Bart Van Assche wrote:
>>> Move the __attribute_const__ declarations such that sparse understands
>>> that these apply to the function itself and not to the return type.
>>> This avoids that sparse reports error messages like the following:
>>>
>>> drivers/infiniband/core/verbs.c:73:12: error: symbol 'ib_event_msg'
>>> redeclared with different type (originally declared at
>>> include/rdma/ib_verbs.h:470) - different modifiers
>>>
>>> Fixes: 2b1b5b601230 ("IB/core, cma: Nice log-friendly string helpers")
>>> Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
>>> Cc: Sagi Grimberg <sagig@mellanox.com>
>>
>> Thanks, applied.
> 
> (replying to an e-mail of two months ago)
> 
> Hi Doug,
> 
> On which branch has this patch been applied ? I couldn't find it in your
> k.o/for-4.4 branch.

I can't find it myself.  Either I said I was taking it and then it got
overlooked, or it got lost sometime during a rebase.  I've added it to
the for-next stack.
diff mbox

Patch

diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c
index 143ded2..a7c1788 100644
--- a/drivers/infiniband/core/cma.c
+++ b/drivers/infiniband/core/cma.c
@@ -84,7 +84,7 @@  static const char * const cma_events[] = {
 	[RDMA_CM_EVENT_TIMEWAIT_EXIT]	 = "timewait exit",
 };
 
-const char *rdma_event_msg(enum rdma_cm_event_type event)
+const char *__attribute_const__ rdma_event_msg(enum rdma_cm_event_type event)
 {
 	size_t index = event;
 
diff --git a/drivers/infiniband/core/verbs.c b/drivers/infiniband/core/verbs.c
index 2e5fd89..50fe99f 100644
--- a/drivers/infiniband/core/verbs.c
+++ b/drivers/infiniband/core/verbs.c
@@ -70,7 +70,7 @@  static const char * const ib_events[] = {
 	[IB_EVENT_GID_CHANGE]		= "GID changed",
 };
 
-const char *ib_event_msg(enum ib_event_type event)
+const char *__attribute_const__ ib_event_msg(enum ib_event_type event)
 {
 	size_t index = event;
 
@@ -104,7 +104,7 @@  static const char * const wc_statuses[] = {
 	[IB_WC_GENERAL_ERR]		= "general error",
 };
 
-const char *ib_wc_status_msg(enum ib_wc_status status)
+const char *__attribute_const__ ib_wc_status_msg(enum ib_wc_status status)
 {
 	size_t index = status;
 
diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
index a2c328b..1d07ba7 100644
--- a/include/rdma/ib_verbs.h
+++ b/include/rdma/ib_verbs.h
@@ -467,7 +467,7 @@  enum ib_event_type {
 	IB_EVENT_GID_CHANGE,
 };
 
-__attribute_const__ const char *ib_event_msg(enum ib_event_type event);
+const char *__attribute_const__ ib_event_msg(enum ib_event_type event);
 
 struct ib_event {
 	struct ib_device	*device;
@@ -718,7 +718,7 @@  enum ib_wc_status {
 	IB_WC_GENERAL_ERR
 };
 
-__attribute_const__ const char *ib_wc_status_msg(enum ib_wc_status status);
+const char *__attribute_const__ ib_wc_status_msg(enum ib_wc_status status);
 
 enum ib_wc_opcode {
 	IB_WC_SEND,
diff --git a/include/rdma/rdma_cm.h b/include/rdma/rdma_cm.h
index c92522c..31afb5c 100644
--- a/include/rdma/rdma_cm.h
+++ b/include/rdma/rdma_cm.h
@@ -62,7 +62,7 @@  enum rdma_cm_event_type {
 	RDMA_CM_EVENT_TIMEWAIT_EXIT
 };
 
-__attribute_const__ const char *rdma_event_msg(enum rdma_cm_event_type event);
+const char *__attribute_const__ rdma_event_msg(enum rdma_cm_event_type event);
 
 enum rdma_port_space {
 	RDMA_PS_SDP   = 0x0001,