Input: usb1400_ts - add __devinit/__devexit section annotations
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Thu, 5 Jan 2012 06:18:22 +0000 (22:18 -0800)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Thu, 5 Jan 2012 06:19:47 +0000 (22:19 -0800)
Add __devinit/__devexit sections annotations so parts of code could be
discarded after completing driver initialization.

Acked-by: Marek Vasut <marek.vasut@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
drivers/input/touchscreen/ucb1400_ts.c

index 0066568fbd7bfecb9298a3231fbdaffad7664399..4ac30ca9c3b471a9a4ce3e0dc4608d6f5760c3e2 100644 (file)
@@ -299,7 +299,7 @@ static void ucb1400_ts_close(struct input_dev *idev)
  * Try to probe our interrupt, rather than relying on lots of
  * hard-coded machine dependencies.
  */
-static int ucb1400_ts_detect_irq(struct ucb1400_ts *ucb)
+static int __devinit ucb1400_ts_detect_irq(struct ucb1400_ts *ucb)
 {
        unsigned long mask, timeout;
 
@@ -342,7 +342,7 @@ static int ucb1400_ts_detect_irq(struct ucb1400_ts *ucb)
        return 0;
 }
 
-static int ucb1400_ts_probe(struct platform_device *dev)
+static int __devinit ucb1400_ts_probe(struct platform_device *dev)
 {
        int error, x_res, y_res;
        u16 fcsr;
@@ -416,15 +416,15 @@ err_free_devs:
        input_free_device(ucb->ts_idev);
 err:
        return error;
-
 }
 
-static int ucb1400_ts_remove(struct platform_device *dev)
+static int __devexit ucb1400_ts_remove(struct platform_device *dev)
 {
        struct ucb1400_ts *ucb = dev->dev.platform_data;
 
        free_irq(ucb->irq, ucb);
        input_unregister_device(ucb->ts_idev);
+
        return 0;
 }
 
@@ -450,7 +450,7 @@ static SIMPLE_DEV_PM_OPS(ucb1400_ts_pm_ops, NULL, ucb1400_ts_resume);
 
 static struct platform_driver ucb1400_ts_driver = {
        .probe  = ucb1400_ts_probe,
-       .remove = ucb1400_ts_remove,
+       .remove = __devexit_p(ucb1400_ts_remove),
        .driver = {
                .name   = "ucb1400_ts",
                .owner  = THIS_MODULE,