Re: [PATCH EDACv16 1/2] edac: Change internal representation to workwith layers

From: Mauro Carvalho Chehab
Date: Sun Apr 29 2012 - 13:19:53 EST


Em 29-04-2012 13:03, Joe Perches escreveu:
> On Sun, 2012-04-29 at 12:11 -0300, Mauro Carvalho Chehab wrote:
>> Em 29-04-2012 11:25, Mauro Carvalho Chehab escreveu:
>>> Em 28-04-2012 05:52, Borislav Petkov escreveu:
>>>> On Fri, Apr 27, 2012 at 01:07:38PM -0300, Mauro Carvalho Chehab wrote:
>>>>> Yes. This is a common issue at the EDAC core: on several places, it calls the
>>>>> edac debug macros (DEBUGF0...DEBUGF4) passing a __func__ as an argument, while
>>>>> the debug macros already handles that. I suspect that, in the past, the __func__
>>>>> were not at the macros, but some patch added it there, and forgot to fix the
>>>>> occurrences of its call.
>>>> The patch that added it is d357cbb445208 and you reviewed it.
>>> And you wrote the patch that caused it.
>
> And Boris should have also written the follow-on patches that
> removed most/all of the debugfX and __func__ uses.

Yes.

>>> A single patch fixing this everywhere at drivers/edac is better and clearer than adding
>>> an unrelated fix on this patch. This is already complex enough to add more unrelated
>>> things there.
>>>
>>> Also, a simple perl/coccinelle script can replace all such __func__ occurrences
>>> on one shot.
>
> You make it sound simple, but it'd be a pretty complicated
> cocci script. Some of the changes would have to be inspected
> or changed by hand in any case.

Yes manual changes are needed, to get rid of it some less likely patterns,
but using a script helps to do most of the changes automatically.

> []
>
>> Most of the issues can be solved with the above script-based patch.
>>
>> There are still 171 places (12 places at the core, the rest are on the drivers)
>> that will require a more sophisticated patch or that requires a manual fix.
> []
>> From: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>
>> Date: Sun, 29 Apr 2012 11:59:14 -0300
>> Subject: [PATCH] edac: Don't add __func__ or __FILE__ for debugf[0-9] msgs
>
> Thanks Mauro, you shouldn't have had to do this.

I know, but the double __func__ were bothering me. Anyway, this change was kick ;)

Btw, new (final) version attached. This replaces all debugf[1-4] occurences.