Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2ad913babd5d597f9d9d71d9e93dd589d55e66cd
Commit:     2ad913babd5d597f9d9d71d9e93dd589d55e66cd
Parent:     a1f35ba374bc421ab33e40163be2b57995b09962
Author:     Sam Ravnborg <[EMAIL PROTECTED]>
AuthorDate: Mon Jan 21 17:25:37 2008 -0800
Committer:  David S. Miller <[EMAIL PROTECTED]>
CommitDate: Mon Jan 21 22:34:31 2008 -0800

    [SPARC64]: Fix section error in sparcspkr
    
    With a sparc64 defconfig modified to set CONFIG_HOTPLUG=n
    the following error happened during link of vmlinux:
    
    local symbol 0: discarded in section `.devexit.text' from drivers/built-in.o
    local symbol 1: discarded in section `.devexit.text' from drivers/built-in.o
    
    (The error message above is from kbuild.git but it happens in mainline too)
    
    The error happens becase there is a reference from .text/.data to a
    function marked __devexit. With CONFIG_HOTPLUG=n all code marked
    __devexit are discarded and the linker complains.
    
    It was tracked down to sparcspkr.c which were missing __devexit_p()
    around the function pointers.
    
    Unfortunately modpost did not catch this since modpost do not warn
    about references from .data to .devexit from variables named *_driver.
    
    Signed-off-by: Sam Ravnborg <[EMAIL PROTECTED]>
    Signed-off-by: David S. Miller <[EMAIL PROTECTED]>
---
 drivers/input/misc/sparcspkr.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/input/misc/sparcspkr.c b/drivers/input/misc/sparcspkr.c
index a3637d8..fed3c37 100644
--- a/drivers/input/misc/sparcspkr.c
+++ b/drivers/input/misc/sparcspkr.c
@@ -195,7 +195,7 @@ static struct of_platform_driver ebus_beep_driver = {
        .name           = "beep",
        .match_table    = ebus_beep_match,
        .probe          = ebus_beep_probe,
-       .remove         = sparcspkr_remove,
+       .remove         = __devexit_p(sparcspkr_remove),
        .shutdown       = sparcspkr_shutdown,
 };
 
@@ -236,7 +236,7 @@ static struct of_platform_driver isa_beep_driver = {
        .name           = "beep",
        .match_table    = isa_beep_match,
        .probe          = isa_beep_probe,
-       .remove         = sparcspkr_remove,
+       .remove         = __devexit_p(sparcspkr_remove),
        .shutdown       = sparcspkr_shutdown,
 };
 
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to