The remove() methods should not be marked __exit unless we are using
platform_driver_probe() which disables unbinding device from driver
via sysfs.
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Wolfram Sang <wolfram@the-dreams.de>
        return ret;
 }
 
-static int __exit i2c_pxa_remove(struct platform_device *dev)
+static int i2c_pxa_remove(struct platform_device *dev)
 {
        struct pxa_i2c *i2c = platform_get_drvdata(dev);
 
 
 static struct platform_driver i2c_pxa_driver = {
        .probe          = i2c_pxa_probe,
-       .remove         = __exit_p(i2c_pxa_remove),
+       .remove         = i2c_pxa_remove,
        .driver         = {
                .name   = "pxa2xx-i2c",
                .owner  = THIS_MODULE,