Commit 46c529cf authored by Mike Frysinger's avatar Mike Frysinger Committed by Linus Torvalds

twl4030-gpio: remove __devexit markings from remove func

The gpio_twl4030_probe() function calls gpio_twl4030_remove(), and the
former has __devinit, so the latter cannot use __devexit.  Otherwise we
hit the section mismatch warning:

WARNING: drivers/gpio/built-in.o(.devinit.text+0x71a): Section mismatch
	in reference from the function _gpio_twl4030_probe() to the function
	.devexit.text:_gpio_twl4030_remove()
The function __devinit _gpio_twl4030_probe() references a function
	__devexit _gpio_twl4030_remove().
This is often seen when error handling in the init function uses
	functionality in the exit path.
The fix is often to remove the __devexit annotation of
	_gpio_twl4030_remove() so it may be used outside an exit section.
Signed-off-by: default avatarMike Frysinger <vapier@gentoo.org>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent c68d2b15
...@@ -460,7 +460,8 @@ static int __devinit gpio_twl4030_probe(struct platform_device *pdev) ...@@ -460,7 +460,8 @@ static int __devinit gpio_twl4030_probe(struct platform_device *pdev)
return ret; return ret;
} }
static int __devexit gpio_twl4030_remove(struct platform_device *pdev) /* Cannot use __devexit as gpio_twl4030_probe() calls us */
static int gpio_twl4030_remove(struct platform_device *pdev)
{ {
struct twl4030_gpio_platform_data *pdata = pdev->dev.platform_data; struct twl4030_gpio_platform_data *pdata = pdev->dev.platform_data;
int status; int status;
...@@ -493,7 +494,7 @@ static struct platform_driver gpio_twl4030_driver = { ...@@ -493,7 +494,7 @@ static struct platform_driver gpio_twl4030_driver = {
.driver.name = "twl4030_gpio", .driver.name = "twl4030_gpio",
.driver.owner = THIS_MODULE, .driver.owner = THIS_MODULE,
.probe = gpio_twl4030_probe, .probe = gpio_twl4030_probe,
.remove = __devexit_p(gpio_twl4030_remove), .remove = gpio_twl4030_remove,
}; };
static int __init gpio_twl4030_init(void) static int __init gpio_twl4030_init(void)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment