With compilers which follow the C99 standard (like modern versions of
gcc and clang), "extern inline" does the opposite thing from older
versions of gcc (emits code for an externally linkable version of the
inline function).
"static inline" does the intended behavior in all cases instead.
Description taken from commit 6d91857d4826 ("staging, rtl8192e,
LLVMLinux: Change extern inline to static inline").
This also fixes the following GCC warning when building with !PM:
./include/linux/blkdev.h:1143:20: warning: no previous prototype for 'blk_set_runtime_active' [-Wmissing-prototypes]
Fixes: d07ab6d11477 ("block: Add blk_set_runtime_active()")
Cc: Mika Westerberg <[email protected]>
Signed-off-by: Tobias Klauser <[email protected]>
---
include/linux/blkdev.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index 34b80c9d295a..faec7923cf21 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -1140,7 +1140,7 @@ static inline int blk_pre_runtime_suspend(struct request_queue *q)
static inline void blk_post_runtime_suspend(struct request_queue *q, int err) {}
static inline void blk_pre_runtime_resume(struct request_queue *q) {}
static inline void blk_post_runtime_resume(struct request_queue *q, int err) {}
-extern inline void blk_set_runtime_active(struct request_queue *q) {}
+static inline void blk_set_runtime_active(struct request_queue *q) {}
#endif
/*
--
2.9.0
On Fri, Oct 21, 2016 at 04:19:26PM +0200, Tobias Klauser wrote:
> With compilers which follow the C99 standard (like modern versions of
> gcc and clang), "extern inline" does the opposite thing from older
> versions of gcc (emits code for an externally linkable version of the
> inline function).
>
> "static inline" does the intended behavior in all cases instead.
>
> Description taken from commit 6d91857d4826 ("staging, rtl8192e,
> LLVMLinux: Change extern inline to static inline").
>
> This also fixes the following GCC warning when building with !PM:
> ./include/linux/blkdev.h:1143:20: warning: no previous prototype for 'blk_set_runtime_active' [-Wmissing-prototypes]
>
> Fixes: d07ab6d11477 ("block: Add blk_set_runtime_active()")
> Cc: Mika Westerberg <[email protected]>
Hehe, indeed that "extern" was probably copy pasted from the non-inline
declaration.
Reviewed-by: Mika Westerberg <[email protected]>