netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 10/16] drivers/net/ethernet/ibm/emac/mal.c: use WARN
       [not found] <1351940317-14812-1-git-send-email-Julia.Lawall@lip6.fr>
@ 2012-11-03 10:58 ` Julia Lawall
  2012-11-03 11:30   ` walter harms
  2012-11-03 19:43   ` David Miller
  2012-11-03 10:58 ` [PATCH 14/16] drivers/ssb/main.c: " Julia Lawall
  1 sibling, 2 replies; 7+ messages in thread
From: Julia Lawall @ 2012-11-03 10:58 UTC (permalink / raw)
  To: netdev; +Cc: kernel-janitors, linux-kernel

From: Julia Lawall <Julia.Lawall@lip6.fr>

Use WARN rather than printk followed by WARN_ON(1), for conciseness.

A simplified version of the semantic patch that makes this transformation
is as follows: (http://coccinelle.lip6.fr/)

// <smpl>
@@
expression list es;
@@

-printk(
+WARN(1,
  es);
-WARN_ON(1);
// </smpl>

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>

---
 drivers/net/ethernet/ibm/emac/mal.c |    6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/ibm/emac/mal.c b/drivers/net/ethernet/ibm/emac/mal.c
index 479e43e..84c6b6c 100644
--- a/drivers/net/ethernet/ibm/emac/mal.c
+++ b/drivers/net/ethernet/ibm/emac/mal.c
@@ -738,13 +738,11 @@ static int __devexit mal_remove(struct platform_device *ofdev)
 	/* Synchronize with scheduled polling */
 	napi_disable(&mal->napi);
 
-	if (!list_empty(&mal->list)) {
+	if (!list_empty(&mal->list))
 		/* This is *very* bad */
-		printk(KERN_EMERG
+		WARN(1, KERN_EMERG
 		       "mal%d: commac list is not empty on remove!\n",
 		       mal->index);
-		WARN_ON(1);
-	}
 
 	dev_set_drvdata(&ofdev->dev, NULL);
 

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 14/16] drivers/ssb/main.c: use WARN
       [not found] <1351940317-14812-1-git-send-email-Julia.Lawall@lip6.fr>
  2012-11-03 10:58 ` [PATCH 10/16] drivers/net/ethernet/ibm/emac/mal.c: use WARN Julia Lawall
@ 2012-11-03 10:58 ` Julia Lawall
  1 sibling, 0 replies; 7+ messages in thread
From: Julia Lawall @ 2012-11-03 10:58 UTC (permalink / raw)
  To: Michael Buesch; +Cc: kernel-janitors, netdev, linux-kernel

From: Julia Lawall <Julia.Lawall@lip6.fr>

Use WARN rather than printk followed by WARN_ON(1), for conciseness.

A simplified version of the semantic patch that makes this transformation
is as follows: (http://coccinelle.lip6.fr/)

// <smpl>
@@
expression list es;
@@

-printk(
+WARN(1,
  es);
-WARN_ON(1);
// </smpl>

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>

---
 drivers/ssb/main.c |    3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/ssb/main.c b/drivers/ssb/main.c
index df0f145..519688d 100644
--- a/drivers/ssb/main.c
+++ b/drivers/ssb/main.c
@@ -1118,8 +1118,7 @@ static u32 ssb_tmslow_reject_bitmask(struct ssb_device *dev)
 	case SSB_IDLOW_SSBREV_27:     /* same here */
 		return SSB_TMSLOW_REJECT;	/* this is a guess */
 	default:
-		printk(KERN_INFO "ssb: Backplane Revision 0x%.8X\n", rev);
-		WARN_ON(1);
+		WARN(1, KERN_INFO "ssb: Backplane Revision 0x%.8X\n", rev);
 	}
 	return (SSB_TMSLOW_REJECT | SSB_TMSLOW_REJECT_23);
 }

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 10/16] drivers/net/ethernet/ibm/emac/mal.c: use WARN
  2012-11-03 10:58 ` [PATCH 10/16] drivers/net/ethernet/ibm/emac/mal.c: use WARN Julia Lawall
@ 2012-11-03 11:30   ` walter harms
  2012-11-03 14:14     ` Julia Lawall
  2012-11-03 19:43   ` David Miller
  1 sibling, 1 reply; 7+ messages in thread
From: walter harms @ 2012-11-03 11:30 UTC (permalink / raw)
  To: Julia Lawall; +Cc: netdev, kernel-janitors, linux-kernel



Am 03.11.2012 11:58, schrieb Julia Lawall:
> From: Julia Lawall <Julia.Lawall@lip6.fr>
> 
> Use WARN rather than printk followed by WARN_ON(1), for conciseness.
> 
> A simplified version of the semantic patch that makes this transformation
> is as follows: (http://coccinelle.lip6.fr/)
> 
> // <smpl>
> @@
> expression list es;
> @@
> 
> -printk(
> +WARN(1,
>   es);
> -WARN_ON(1);
> // </smpl>
> 
> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
> 
> ---
>  drivers/net/ethernet/ibm/emac/mal.c |    6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/net/ethernet/ibm/emac/mal.c b/drivers/net/ethernet/ibm/emac/mal.c
> index 479e43e..84c6b6c 100644
> --- a/drivers/net/ethernet/ibm/emac/mal.c
> +++ b/drivers/net/ethernet/ibm/emac/mal.c
> @@ -738,13 +738,11 @@ static int __devexit mal_remove(struct platform_device *ofdev)
>  	/* Synchronize with scheduled polling */
>  	napi_disable(&mal->napi);
>  
> -	if (!list_empty(&mal->list)) {
> +	if (!list_empty(&mal->list))
>  		/* This is *very* bad */
> -		printk(KERN_EMERG
> +		WARN(1, KERN_EMERG
>  		       "mal%d: commac list is not empty on remove!\n",
>  		       mal->index);
> -		WARN_ON(1);
> -	}
>  
>  	dev_set_drvdata(&ofdev->dev, NULL);
>  
> 

Hi Julia,
you are removing the {} behin the if. I prefer to be a bit conservative
about {}. There is suggest to keep them because WARN may be expanded in
future (with a second line) and that will cause subtle changes that do
no break the code. (Yes i know it is possible to write macros that
contain savely more than one line.)

re,
 wh

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 10/16] drivers/net/ethernet/ibm/emac/mal.c: use WARN
  2012-11-03 11:30   ` walter harms
@ 2012-11-03 14:14     ` Julia Lawall
  2012-11-03 16:26       ` walter harms
  0 siblings, 1 reply; 7+ messages in thread
From: Julia Lawall @ 2012-11-03 14:14 UTC (permalink / raw)
  To: walter harms; +Cc: Julia Lawall, netdev, kernel-janitors, linux-kernel

On Sat, 3 Nov 2012, walter harms wrote:

>
>
> Am 03.11.2012 11:58, schrieb Julia Lawall:
>> From: Julia Lawall <Julia.Lawall@lip6.fr>
>>
>> Use WARN rather than printk followed by WARN_ON(1), for conciseness.
>>
>> A simplified version of the semantic patch that makes this transformation
>> is as follows: (http://coccinelle.lip6.fr/)
>>
>> // <smpl>
>> @@
>> expression list es;
>> @@
>>
>> -printk(
>> +WARN(1,
>>   es);
>> -WARN_ON(1);
>> // </smpl>
>>
>> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
>>
>> ---
>>  drivers/net/ethernet/ibm/emac/mal.c |    6 ++----
>>  1 file changed, 2 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/net/ethernet/ibm/emac/mal.c b/drivers/net/ethernet/ibm/emac/mal.c
>> index 479e43e..84c6b6c 100644
>> --- a/drivers/net/ethernet/ibm/emac/mal.c
>> +++ b/drivers/net/ethernet/ibm/emac/mal.c
>> @@ -738,13 +738,11 @@ static int __devexit mal_remove(struct platform_device *ofdev)
>>  	/* Synchronize with scheduled polling */
>>  	napi_disable(&mal->napi);
>>
>> -	if (!list_empty(&mal->list)) {
>> +	if (!list_empty(&mal->list))
>>  		/* This is *very* bad */
>> -		printk(KERN_EMERG
>> +		WARN(1, KERN_EMERG
>>  		       "mal%d: commac list is not empty on remove!\n",
>>  		       mal->index);
>> -		WARN_ON(1);
>> -	}
>>
>>  	dev_set_drvdata(&ofdev->dev, NULL);
>>
>>
>
> Hi Julia,
> you are removing the {} behin the if. I prefer to be a bit conservative
> about {}. There is suggest to keep them because WARN may be expanded in
> future (with a second line) and that will cause subtle changes that do
> no break the code. (Yes i know it is possible to write macros that
> contain savely more than one line.)

WARN is already multi-line, surrounded by ({ }).  It seems to be set up to 
be used as an expression.  Is it necessary to assume that it might someday 
be changed from safe to unsafe?

julia

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 10/16] drivers/net/ethernet/ibm/emac/mal.c: use WARN
  2012-11-03 14:14     ` Julia Lawall
@ 2012-11-03 16:26       ` walter harms
  2012-11-03 16:35         ` Julia Lawall
  0 siblings, 1 reply; 7+ messages in thread
From: walter harms @ 2012-11-03 16:26 UTC (permalink / raw)
  To: Julia Lawall; +Cc: netdev, kernel-janitors, linux-kernel



Am 03.11.2012 15:14, schrieb Julia Lawall:
> On Sat, 3 Nov 2012, walter harms wrote:
> 
>>
>>
>> Am 03.11.2012 11:58, schrieb Julia Lawall:
>>> From: Julia Lawall <Julia.Lawall@lip6.fr>
>>>
>>> Use WARN rather than printk followed by WARN_ON(1), for conciseness.
>>>
>>> A simplified version of the semantic patch that makes this
>>> transformation
>>> is as follows: (http://coccinelle.lip6.fr/)
>>>
>>> // <smpl>
>>> @@
>>> expression list es;
>>> @@
>>>
>>> -printk(
>>> +WARN(1,
>>>   es);
>>> -WARN_ON(1);
>>> // </smpl>
>>>
>>> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
>>>
>>> ---
>>>  drivers/net/ethernet/ibm/emac/mal.c |    6 ++----
>>>  1 file changed, 2 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/drivers/net/ethernet/ibm/emac/mal.c
>>> b/drivers/net/ethernet/ibm/emac/mal.c
>>> index 479e43e..84c6b6c 100644
>>> --- a/drivers/net/ethernet/ibm/emac/mal.c
>>> +++ b/drivers/net/ethernet/ibm/emac/mal.c
>>> @@ -738,13 +738,11 @@ static int __devexit mal_remove(struct
>>> platform_device *ofdev)
>>>      /* Synchronize with scheduled polling */
>>>      napi_disable(&mal->napi);
>>>
>>> -    if (!list_empty(&mal->list)) {
>>> +    if (!list_empty(&mal->list))
>>>          /* This is *very* bad */
>>> -        printk(KERN_EMERG
>>> +        WARN(1, KERN_EMERG
>>>                 "mal%d: commac list is not empty on remove!\n",
>>>                 mal->index);
>>> -        WARN_ON(1);
>>> -    }
>>>
>>>      dev_set_drvdata(&ofdev->dev, NULL);
>>>
>>>
>>
>> Hi Julia,
>> you are removing the {} behin the if. I prefer to be a bit conservative
>> about {}. There is suggest to keep them because WARN may be expanded in
>> future (with a second line) and that will cause subtle changes that do
>> no break the code. (Yes i know it is possible to write macros that
>> contain savely more than one line.)
> 
> WARN is already multi-line, surrounded by ({ }).  It seems to be set up
> to be used as an expression.  Is it necessary to assume that it might
> someday be changed from safe to unsafe?
> 

my bad,
NTL looks like a candidate for a function.

While looking i have noticed that a lot of drivers define there private "assert" macro.
It is very similar to warn.

(e.g.)
 #define RTL819x_DEBUG
 #ifdef RTL819x_DEBUG
 #define assert(expr) \
        if (!(expr)) {                                  \
                 printk( "Assertion failed! %s,%s,%s,line=%d\n", \
                #expr,__FILE__,__FUNCTION__,__LINE__);          \
        }

re,
 wh

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 10/16] drivers/net/ethernet/ibm/emac/mal.c: use WARN
  2012-11-03 16:26       ` walter harms
@ 2012-11-03 16:35         ` Julia Lawall
  0 siblings, 0 replies; 7+ messages in thread
From: Julia Lawall @ 2012-11-03 16:35 UTC (permalink / raw)
  To: walter harms; +Cc: Julia Lawall, netdev, kernel-janitors, linux-kernel

> While looking i have noticed that a lot of drivers define there private "assert" macro.
> It is very similar to warn.
>
> (e.g.)
> #define RTL819x_DEBUG
> #ifdef RTL819x_DEBUG
> #define assert(expr) \
>        if (!(expr)) {                                  \
>                 printk( "Assertion failed! %s,%s,%s,line=%d\n", \
>                #expr,__FILE__,__FUNCTION__,__LINE__);          \
>        }

WARN is more complicated.  At least with the right debugging options 
turned on, it dumps the stack, via warn_slowpath_common.

julia

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 10/16] drivers/net/ethernet/ibm/emac/mal.c: use WARN
  2012-11-03 10:58 ` [PATCH 10/16] drivers/net/ethernet/ibm/emac/mal.c: use WARN Julia Lawall
  2012-11-03 11:30   ` walter harms
@ 2012-11-03 19:43   ` David Miller
  1 sibling, 0 replies; 7+ messages in thread
From: David Miller @ 2012-11-03 19:43 UTC (permalink / raw)
  To: Julia.Lawall; +Cc: netdev, kernel-janitors, linux-kernel

From: Julia Lawall <Julia.Lawall@lip6.fr>
Date: Sat,  3 Nov 2012 11:58:31 +0100

> From: Julia Lawall <Julia.Lawall@lip6.fr>
> 
> Use WARN rather than printk followed by WARN_ON(1), for conciseness.
> 
> A simplified version of the semantic patch that makes this transformation
> is as follows: (http://coccinelle.lip6.fr/)
 ...
> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>

Applied.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2012-11-03 19:43 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <1351940317-14812-1-git-send-email-Julia.Lawall@lip6.fr>
2012-11-03 10:58 ` [PATCH 10/16] drivers/net/ethernet/ibm/emac/mal.c: use WARN Julia Lawall
2012-11-03 11:30   ` walter harms
2012-11-03 14:14     ` Julia Lawall
2012-11-03 16:26       ` walter harms
2012-11-03 16:35         ` Julia Lawall
2012-11-03 19:43   ` David Miller
2012-11-03 10:58 ` [PATCH 14/16] drivers/ssb/main.c: " Julia Lawall

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).