drivers/misc/lis3lv02d/lis3lv02d_spi.c: add lis3lv02d device tree init
authorAnilKumar Ch <anilkumar@ti.com>
Wed, 26 Sep 2012 20:58:24 +0000 (13:58 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 26 Sep 2012 21:18:12 +0000 (14:18 -0700)
Add lis3lv02d device tree initialization code/API to take pdata from
device node.  Also remove CONFIG_OF ifdef from the driver, if CONFIG_OF is
not defined then OF APIs returns 0.

[akpm@linux-foundation.org: fix CONFIG_OF=n build[
Signed-off-by: AnilKumar Ch <anilkumar@ti.com>
Cc: Eric Piel <eric.piel@tremplin-utc.net>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: Tony Lindgren <tony@atomide.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/misc/lis3lv02d/lis3lv02d_spi.c

index 4b8ccf2..ccb6475 100644 (file)
@@ -19,6 +19,7 @@
 #include <linux/pm.h>
 #include <linux/of.h>
 #include <linux/of_platform.h>
+#include <linux/of_device.h>
 
 #include "lis3lv02d.h"
 
@@ -87,10 +88,13 @@ static int __devinit lis302dl_spi_probe(struct spi_device *spi)
        lis3_dev.pdata          = spi->dev.platform_data;
 
 #ifdef CONFIG_OF
-       if (of_match_device(lis302dl_spi_dt_ids, &spi->dev))
+       if (of_match_device(lis302dl_spi_dt_ids, &spi->dev)) {
                lis3_dev.of_node = spi->dev.of_node;
+               ret = lis3lv02d_init_dt(&lis3_dev);
+               if (ret)
+                       return ret;
+       }
 #endif
-
        spi_set_drvdata(spi, &lis3_dev);
 
        return lis3lv02d_init_device(&lis3_dev);