Re: [PATCH] lib/atomic64_test: do not build on non-atomic64 systems

From: Mike Frysinger
Date: Thu Oct 21 2010 - 19:05:05 EST


On Thu, Oct 21, 2010 at 18:55, Andrew Morton wrote:
> On Thu, 21 Oct 2010 18:23:37 -0400 Mike Frysinger wrote:
>> On Thursday, October 21, 2010 18:02:50 Andrew Morton wrote:
>> > On Sat, 16 Oct 2010 13:27:15 -0400 Mike Frysinger wrote:
>> > > If the arch doesn't provide atomic64 functionality (there are quite a
>> > > few), then don't bother trying to build this test.
>> >
>> > I don't get it. ÂIf the arch doesn't implement atomic64 then this file
>> > will get zillions of build errors, won't it?
>>
>> ... which is why i added the ifdef protection
>
> So the changelog was poor. ÂPlease write complete changelogs so I need
> to have this sort of conversation less often?

the changelog seems pretty clear to me. arch doesnt provide atomic64,
so dont build code that uses atomic64.

> Why doesn't this cause lots of you-broke-my-build complaints? ÂNobody's
> running allmodonfig?

that's how i noticed. perhaps the other arches that dont provide
atomic64 arent doing as many build tests as i am.

>> > > diff --git a/lib/atomic64_test.c b/lib/atomic64_test.c
>> > > index 250ed11..0ac1a66 100644
>> > > --- a/lib/atomic64_test.c
>> > > +++ b/lib/atomic64_test.c
>> > > @@ -12,6 +12,8 @@
>> > >
>> > > Â#include <linux/kernel.h>
>> > > Â#include <asm/atomic.h>
>> > >
>> > > +#ifdef ATOMIC64_INIT
>> >
>> > hm, that's a bit lazy. ÂIt should really use a CONFIG_HAVE_ thing. ÂWhat
>> > a pita.
>>
>> ATOMIC64_INIT is required for atomic64 headers to provide, and having a
>> Kconfig knob doesnt gain anything else
>
> I know that. ÂBut the standard way for an architecture to indicate to
> the core that it impements a feature is for it to define CONFIG_HAVE_*.
> Picking some related #define which architectures happen to implement
> is atypical and unexpected.
>
> Will it cause problems? ÂProbably not, unless the arch goes and defines
> ATOMIC64_INIT without actually implementing atomic64. ÂBut it's
> atypical and unexpected and, yes, lazy!

you can say "lazy" all you like. i dont see the point in going that route.
-mike
--
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/