Input: tsc2007 - make init/exit platform hw callbacks optional
authorRichard Röjfors <richard.rojfors.ext@mocean-labs.com>
Sat, 25 Jul 2009 06:14:17 +0000 (23:14 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Sun, 26 Jul 2009 18:21:00 +0000 (11:21 -0700)
Make init_platform_hw and exit_platform_hw callbacks optional since
they are not needed on all platforms.

Signed-off-by: Richard Röjfors <richard.rojfors.ext@mocean-labs.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
drivers/input/touchscreen/tsc2007.c

index 75fbd75..8105bf6 100644 (file)
@@ -295,7 +295,8 @@ static int __devinit tsc2007_probe(struct i2c_client *client,
        input_set_abs_params(input_dev, ABS_Y, 0, MAX_12BIT, 0, 0);
        input_set_abs_params(input_dev, ABS_PRESSURE, 0, MAX_12BIT, 0, 0);
 
-       pdata->init_platform_hw();
+       if (pdata->init_platform_hw)
+               pdata->init_platform_hw();
 
        err = request_irq(ts->irq, tsc2007_irq, 0,
                        client->dev.driver->name, ts);
@@ -316,7 +317,8 @@ static int __devinit tsc2007_probe(struct i2c_client *client,
 
  err_free_irq:
        tsc2007_free_irq(ts);
-       pdata->exit_platform_hw();
+       if (pdata->exit_platform_hw)
+               pdata->exit_platform_hw();
  err_free_mem:
        input_free_device(input_dev);
        kfree(ts);
@@ -330,7 +332,8 @@ static int __devexit tsc2007_remove(struct i2c_client *client)
 
        tsc2007_free_irq(ts);
 
-       pdata->exit_platform_hw();
+       if (pdata->exit_platform_hw)
+               pdata->exit_platform_hw();
 
        input_unregister_device(ts->input);
        kfree(ts);