lkml.org 
[lkml]   [2016]   [Mar]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [PATCH] compiler.h: Provide __always_inline to userspace headers too
On Tue, 29 Mar 2016 14:23:57 -0400 Josh Boyer <jwboyer@fedoraproject.org> wrote:

> On Tue, Mar 29, 2016 at 2:14 PM, Denys Vlasenko <dvlasenk@redhat.com> wrote:
> > Recent change to uapi/linux/swab.h needs this.
> >
> > Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
> > CC: Josh Boyer <jwboyer@fedoraproject.org>
> > CC: Thomas Graf <tgraf@suug.ch>
> > CC: Peter Zijlstra <peterz@infradead.org>
> > CC: David Rientjes <rientjes@google.com>
> > CC: Arnd Bergmann <arnd@arndb.de>
> > CC: Ingo Molnar <mingo@kernel.org>
> > CC: Andrew Morton <akpm@linux-foundation.org>
> > CC: Linus Torvalds <torvalds@linux-foundation.org>
> > CC: linux-kernel@vger.kernel.org
> > ---
> > include/linux/compiler.h | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/include/linux/compiler.h b/include/linux/compiler.h
> > index b5ff988..2cb6ba4 100644
> > --- a/include/linux/compiler.h
> > +++ b/include/linux/compiler.h
> > @@ -397,12 +397,12 @@ static __always_inline void __write_once_size(volatile void *p, void *res, int s
> > */
> > #define noinline_for_stack noinline
> >
> > +#endif /* __KERNEL__ */
> > +
> > #ifndef __always_inline
> > #define __always_inline inline
> > #endif
> >
> > -#endif /* __KERNEL__ */
> > -
>
> Did you test this by installing the headers with 'make
> headers-install' and trying to build something with the newly
> installed headers? As I said in my other email, I don't see how
> changes to this particular file are reflected in anything that gets
> installed in /usr/include by the uapi mechanism.

include/uapi/linux/swab.h already had __attribute_const__ and that
worked OK so presumably treating __always_inline in the same fashion
will also work. But yes, testing please.



Also, more care with the changelogs please. "Recent change" is
uselessly vague, and Josh kindly reported the regression, so...


From: Denys Vlasenko <dvlasenk@redhat.com>
Subject: compiler.h: provide __always_inline to userspace headers too

Recent change to uapi/linux/swab.h needs this.

In file included from test.c:2:0:
/usr/include/linux/swab.h:154:8: error: unknown type name `__always_inline'
static __always_inline __u16 __swab16p(const __u16 *p)
^~~~~~~~~~~~~~~

Fixes: bc27fb68aaad4 ("include/uapi/linux/byteorder, swab: force inlining of some byteswap operations")
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
Reported-by: Josh Boyer <jwboyer@fedoraproject.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---

include/linux/compiler.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff -puN include/linux/compiler.h~compilerh-provide-__always_inline-to-userspace-headers-too include/linux/compiler.h
--- a/include/linux/compiler.h~compilerh-provide-__always_inline-to-userspace-headers-too
+++ a/include/linux/compiler.h
@@ -397,12 +397,12 @@ static __always_inline void __write_once
*/
#define noinline_for_stack noinline

+#endif /* __KERNEL__ */
+
#ifndef __always_inline
#define __always_inline inline
#endif

-#endif /* __KERNEL__ */
-
/*
* From the GCC manual:
*
_
\
 
 \ /
  Last update: 2016-03-29 21:21    [W:0.058 / U:0.096 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site