mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-11 15:40:50 +00:00
acer-wmi: fix section mismatch warnings
Fix following warnings: WARNING: vmlinux.o(.text+0x672615): Section mismatch in reference from the function acer_platform_remove() to the function .exit.text:acer_backlight_exit() WARNING: vmlinux.o(.devinit.text+0x1e859): Section mismatch in reference from the function acer_platform_probe() to the function .init.text:acer_led_init() WARNING: vmlinux.o(.devinit.text+0x1e878): Section mismatch in reference from the function acer_platform_probe() to the function .init.text:acer_backlight_init() Remove __exit annotation from acer_backlight_exit(). We cannot reference a __exit annotated function from non __exit functions. acer_led_init() and acer_backlight_init() where both annotated __init but used from a __devinit function. This would result in an oops should gcc drop their inlining and the module are hot plugged. Fix by annotating acer_led_init() and acer_backlight_init() __devinit. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Cc: Carlos Corbacho <carlos@strangeworlds.co.uk> Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
parent
b95e9e8d94
commit
7560e38565
@ -756,7 +756,7 @@ static struct led_classdev mail_led = {
|
|||||||
.brightness_set = mail_led_set,
|
.brightness_set = mail_led_set,
|
||||||
};
|
};
|
||||||
|
|
||||||
static int __init acer_led_init(struct device *dev)
|
static int __devinit acer_led_init(struct device *dev)
|
||||||
{
|
{
|
||||||
return led_classdev_register(dev, &mail_led);
|
return led_classdev_register(dev, &mail_led);
|
||||||
}
|
}
|
||||||
@ -789,7 +789,7 @@ static struct backlight_ops acer_bl_ops = {
|
|||||||
.update_status = update_bl_status,
|
.update_status = update_bl_status,
|
||||||
};
|
};
|
||||||
|
|
||||||
static int __init acer_backlight_init(struct device *dev)
|
static int __devinit acer_backlight_init(struct device *dev)
|
||||||
{
|
{
|
||||||
struct backlight_device *bd;
|
struct backlight_device *bd;
|
||||||
|
|
||||||
@ -808,7 +808,7 @@ static int __init acer_backlight_init(struct device *dev)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __exit acer_backlight_exit(void)
|
static void acer_backlight_exit(void)
|
||||||
{
|
{
|
||||||
backlight_device_unregister(acer_backlight_device);
|
backlight_device_unregister(acer_backlight_device);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user