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

From: Andrew Morton
Date: Thu Oct 21 2010 - 19:24:15 EST


On Thu, 21 Oct 2010 19:04:36 -0400
Mike Frysinger <vapier@xxxxxxxxxx> wrote:

> 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.

That the patch fixes build errors is rather important information.

> > 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.

Try

grep HAVE arch/x86/Kconfig

If all of those were instead to use some random #define which the
particular feature happened to define in some header file then we would
have a mess on our hands.

There's your point.
--
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/