diff options
-rw-r--r-- | drivers/video/logo/logo.c | 7 | ||||
-rw-r--r-- | scripts/mod/modpost.c | 14 |
2 files changed, 5 insertions, 16 deletions
diff --git a/drivers/video/logo/logo.c b/drivers/video/logo/logo.c index 80c03618eb53..2b0f799aa8da 100644 --- a/drivers/video/logo/logo.c +++ b/drivers/video/logo/logo.c | |||
@@ -34,8 +34,11 @@ extern const struct linux_logo logo_superh_vga16; | |||
34 | extern const struct linux_logo logo_superh_clut224; | 34 | extern const struct linux_logo logo_superh_clut224; |
35 | extern const struct linux_logo logo_m32r_clut224; | 35 | extern const struct linux_logo logo_m32r_clut224; |
36 | 36 | ||
37 | 37 | /* logo's are marked __initdata. Use __init_refok to tell | |
38 | const struct linux_logo *fb_find_logo(int depth) | 38 | * modpost that it is intended that this function uses data |
39 | * marked __initdata. | ||
40 | */ | ||
41 | const struct linux_logo * __init_refok fb_find_logo(int depth) | ||
39 | { | 42 | { |
40 | const struct linux_logo *logo = NULL; | 43 | const struct linux_logo *logo = NULL; |
41 | 44 | ||
diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c index 1921c43f3a3e..015c6b0c8031 100644 --- a/scripts/mod/modpost.c +++ b/scripts/mod/modpost.c | |||
@@ -624,14 +624,6 @@ static int strrcmp(const char *s, const char *sub) | |||
624 | * This pattern is identified by | 624 | * This pattern is identified by |
625 | * refsymname = __init_begin, _sinittext, _einittext | 625 | * refsymname = __init_begin, _sinittext, _einittext |
626 | * | 626 | * |
627 | * Pattern 5: | ||
628 | * Logos used in drivers/video/logo reside in __initdata but the | ||
629 | * funtion that references them are EXPORT_SYMBOL() so cannot be | ||
630 | * marker __init. So we whitelist them here. | ||
631 | * The pattern is: | ||
632 | * tosec = .init.data | ||
633 | * fromsec = .text* | ||
634 | * refsymname = logo_ | ||
635 | **/ | 627 | **/ |
636 | static int secref_whitelist(const char *modname, const char *tosec, | 628 | static int secref_whitelist(const char *modname, const char *tosec, |
637 | const char *fromsec, const char *atsym, | 629 | const char *fromsec, const char *atsym, |
@@ -698,12 +690,6 @@ static int secref_whitelist(const char *modname, const char *tosec, | |||
698 | if (strcmp(refsymname, *s) == 0) | 690 | if (strcmp(refsymname, *s) == 0) |
699 | return 1; | 691 | return 1; |
700 | 692 | ||
701 | /* Check for pattern 5 */ | ||
702 | if ((strcmp(tosec, ".init.data") == 0) && | ||
703 | (strncmp(fromsec, ".text", strlen(".text")) == 0) && | ||
704 | (strncmp(refsymname, "logo_", strlen("logo_")) == 0)) | ||
705 | return 1; | ||
706 | |||
707 | return 0; | 693 | return 0; |
708 | } | 694 | } |
709 | 695 | ||