Re: [PATCH v1 02/10] x86, intel-mid: Remove "weak" from function declarations

From: Bjorn Helgaas
Date: Mon Oct 20 2014 - 12:15:46 EST


On Thu, Oct 16, 2014 at 7:41 PM, David Cohen
<david.a.cohen@xxxxxxxxxxxxxxx> wrote:
> Hi Bjorn and Sathya,
>
> On Thu, Oct 16, 2014 at 05:42:11PM -0700, sathyanarayanan kuppuswamy wrote:
>> Hi Bjorn,
>>
>> On 10/15/2014 04:26 PM, Bjorn Helgaas wrote:
>> >[+cc David, Kuppuswamy, x86; sorry, I botched my "stg mail" so you
>> >weren't included the first time]
>> >
>> >On Wed, Oct 15, 2014 at 11:05 AM, Bjorn Helgaas <bhelgaas@xxxxxxxxxx> wrote:
>> >>For the following interfaces:
>> >>
>> >> get_penwell_ops()
>> >> get_cloverview_ops()
>> >> get_tangier_ops()
>> >>
>> >>there is only one implementation, so they do not need to be marked "weak".
>> >>
>> >>Remove the "weak" attribute from their declarations.
>> >>
>> >>Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
>> >>CC: David Cohen <david.a.cohen@xxxxxxxxxxxxxxx>
>> >>CC: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@xxxxxxxxxxxxxxx>
>> >>CC: x86@xxxxxxxxxx
>> >>---
>> >> arch/x86/platform/intel-mid/intel_mid_weak_decls.h | 7 +++----
>> >> 1 file changed, 3 insertions(+), 4 deletions(-)
>> >>
>> >>diff --git a/arch/x86/platform/intel-mid/intel_mid_weak_decls.h b/arch/x86/platform/intel-mid/intel_mid_weak_decls.h
>> >>index 46aa25c8ce06..3c1c3866d82b 100644
>> >>--- a/arch/x86/platform/intel-mid/intel_mid_weak_decls.h
>> Please remove this file and move the contents to asm/intel-mid.h.

I don't know or care enough about intel-mid to do this myself. Right
now, I'm just trying to remove unnecessary and incorrect usage of
"weak" in header files.

> I partially agree :)
>
> Historically, this file was created because we could not build all intel
> mid variants at once. So we have to select only one during compilation
> time, which was fixed already.
>
> But we don't need to expose those functions outside intel-mid's
> directory, which means asm/intel-mid.h isn't the best option IMHO.
>
> If you want, I can send a small re-work instead: we get rid of this
> header file completely and simplify a bit what is exposed by
> asm/intel-mid.h. Or you can keep this patch and then I send the re-work
> on top of it. Anyway I'm fine.

It's fine with me if you want to rework this to remove the header
completely. When I pointed this out in January [1], you mentioned
plans for that. But I think we should merge this patch in the interim
to remove the use of "weak" in a header file. If we leave bad
examples in the tree, they just proliferate.

[1] http://lkml.kernel.org/r/20140128013013.GA31626@xxxxxxxxxxxxxxxxxxxxxx


>> >>+++ b/arch/x86/platform/intel-mid/intel_mid_weak_decls.h
>> >>@@ -10,10 +10,9 @@
>> >> */
>> >>
>> >>
>> >>-/* __attribute__((weak)) makes these declarations overridable */
>> >> /* For every CPU addition a new get_<cpuname>_ops interface needs
>> >> * to be added.
>> >> */
>> >>-extern void *get_penwell_ops(void) __attribute__((weak));
>> >>-extern void *get_cloverview_ops(void) __attribute__((weak));
>> >>-extern void *get_tangier_ops(void) __attribute__((weak));
>> >>+extern void *get_penwell_ops(void);
>> >>+extern void *get_cloverview_ops(void);
>> >>+extern void *get_tangier_ops(void);
>> >>
>>
>> --
>> Sathyanarayanan Kuppuswamy
>> Android kernel developer
>>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/