x86: Fix non-static inlines
authorDenys Vlasenko <dvlasenk@redhat.com>
Fri, 15 Apr 2016 17:00:26 +0000 (19:00 +0200)
committerIngo Molnar <mingo@kernel.org>
Sat, 16 Apr 2016 11:21:40 +0000 (13:21 +0200)
Four instances of incorrect usage of non-static "inline" crept up
in arch/x86, all trivial; cleaning them up:

EVT_TO_HPET_DEV() - made static, it is only used in kernel/hpet.c

Debug version of check_iommu_entries() is an __init function.
Non-debug dummy empty version of it is declared "inline" instead -
which doesn't help to eliminate it (the caller is in a different unit,
inlining doesn't happen).
Switch to non-inlined __init function, which does eliminate it
(by discarding it as part of __init section).

crypto/sha-mb/sha1_mb.c: looks like they just forgot to add "static"
to their two internal inlines, which emitted two unused functions into
vmlinux.

      text     data      bss       dec     hex filename
  95903394 20860288 35991552 152755234 91adc22 vmlinux_before
  95903266 20860288 35991552 152755106 91adba2 vmlinux

Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-kernel@vger.kernel.org
Link: http://lkml.kernel.org/r/1460739626-12179-1-git-send-email-dvlasenk@redhat.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/x86/crypto/sha-mb/sha1_mb.c
arch/x86/kernel/hpet.c
arch/x86/kernel/pci-iommu_table.c

index a8a0224fa0f8a4682f76281034a3172001f50200..fb9c7a84700c8980c7faaf75f2ebce6f8b4aff69 100644 (file)
@@ -102,14 +102,14 @@ static asmlinkage struct job_sha1* (*sha1_job_mgr_submit)(struct sha1_mb_mgr *st
 static asmlinkage struct job_sha1* (*sha1_job_mgr_flush)(struct sha1_mb_mgr *state);
 static asmlinkage struct job_sha1* (*sha1_job_mgr_get_comp_job)(struct sha1_mb_mgr *state);
 
-inline void sha1_init_digest(uint32_t *digest)
+static inline void sha1_init_digest(uint32_t *digest)
 {
        static const uint32_t initial_digest[SHA1_DIGEST_LENGTH] = {SHA1_H0,
                                        SHA1_H1, SHA1_H2, SHA1_H3, SHA1_H4 };
        memcpy(digest, initial_digest, sizeof(initial_digest));
 }
 
-inline uint32_t sha1_pad(uint8_t padblock[SHA1_BLOCK_SIZE * 2],
+static inline uint32_t sha1_pad(uint8_t padblock[SHA1_BLOCK_SIZE * 2],
                         uint32_t total_len)
 {
        uint32_t i = total_len & (SHA1_BLOCK_SIZE - 1);
index a1f0e4a5c47e3239824ac9c61774127e378d4f03..130f2b4b8ecb81738099f5cd7fab0b9e0c03ee36 100644 (file)
@@ -54,7 +54,7 @@ struct hpet_dev {
        char                            name[10];
 };
 
-inline struct hpet_dev *EVT_TO_HPET_DEV(struct clock_event_device *evtdev)
+static inline struct hpet_dev *EVT_TO_HPET_DEV(struct clock_event_device *evtdev)
 {
        return container_of(evtdev, struct hpet_dev, evt);
 }
index 35ccf75696eb8ab22af0e94e6246b5cb3f655b4f..f712dfdf1357f7bf1164d9c03ce2a6789eaf1522 100644 (file)
@@ -72,7 +72,7 @@ void __init check_iommu_entries(struct iommu_table_entry *start,
        }
 }
 #else
-inline void check_iommu_entries(struct iommu_table_entry *start,
+void __init check_iommu_entries(struct iommu_table_entry *start,
                                       struct iommu_table_entry *finish)
 {
 }
This page took 0.028573 seconds and 5 git commands to generate.