* [PATCH v2 0/4] lis3: lis3lv02d_i2c: Add device tree support
@ 2012-09-14 8:06 AnilKumar Ch
2012-09-14 8:06 ` [PATCH v2 1/4] lis3: lis3lv02d: remove lis3lv02d driver DT init AnilKumar Ch
` (4 more replies)
0 siblings, 5 replies; 8+ messages in thread
From: AnilKumar Ch @ 2012-09-14 8:06 UTC (permalink / raw)
To: arnd
Cc: gregkh, eric.piel, jic23, greg, akpm, broonie, dmitry.torokhov,
tony, linux-omap, linux-arm-kernel, devicetree-discuss,
grant.likely, AnilKumar Ch
Adds device tree support to lis3lv02d_i2c driver. Along with this
DT init is moved from core driver to individual drivers, with the
current implementation some pdata is missing in lis3lv02d_i2c driver.
Also adds platform data for lis331dlh driver to am335x-EVM. These
patches were tested on AM335x-EVM.
Changes from v1:
- Moved lis3lv02d_init_dt to individual drivers with
some code clean-up.
- Added lis331dlh compatible entry for lis331dlh parts
AnilKumar Ch (4):
lis3: lis3lv02d: remove lis3lv02d driver DT init
lis3: lis3lv02d_spi: Add lis3lv02d device tree init
lis3: lis3lv02d_i2c: Add lis3lv02d device tree init
ARM: dts: AM33XX: Add lis331dlh device tree data to am335x-evm
arch/arm/boot/dts/am335x-evm.dts | 42 ++++++++++++++++++++++++++++++++
drivers/misc/lis3lv02d/lis3lv02d.c | 8 ++----
drivers/misc/lis3lv02d/lis3lv02d.h | 1 +
drivers/misc/lis3lv02d/lis3lv02d_i2c.c | 19 +++++++++++++++
drivers/misc/lis3lv02d/lis3lv02d_spi.c | 8 +++---
5 files changed, 69 insertions(+), 9 deletions(-)
--
1.7.9.5
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2 1/4] lis3: lis3lv02d: remove lis3lv02d driver DT init
2012-09-14 8:06 [PATCH v2 0/4] lis3: lis3lv02d_i2c: Add device tree support AnilKumar Ch
@ 2012-09-14 8:06 ` AnilKumar Ch
[not found] ` <1347610016-10123-1-git-send-email-anilkumar-l0cyMroinI0@public.gmane.org>
` (3 subsequent siblings)
4 siblings, 0 replies; 8+ messages in thread
From: AnilKumar Ch @ 2012-09-14 8:06 UTC (permalink / raw)
To: arnd
Cc: gregkh, eric.piel, jic23, greg, akpm, broonie, dmitry.torokhov,
tony, linux-omap, linux-arm-kernel, devicetree-discuss,
grant.likely, AnilKumar Ch
Remove lis3lv02d driver device tree initialization from core driver
and move it to individual drivers. With the current implementation
some pdata parameters are missing if we use lis3lv02d_init_device()
in lis3lv02d_i2c driver.
Signed-off-by: AnilKumar Ch <anilkumar@ti.com>
---
drivers/misc/lis3lv02d/lis3lv02d.c | 8 ++------
drivers/misc/lis3lv02d/lis3lv02d.h | 1 +
2 files changed, 3 insertions(+), 6 deletions(-)
diff --git a/drivers/misc/lis3lv02d/lis3lv02d.c b/drivers/misc/lis3lv02d/lis3lv02d.c
index 79349ec..026021e 100644
--- a/drivers/misc/lis3lv02d/lis3lv02d.c
+++ b/drivers/misc/lis3lv02d/lis3lv02d.c
@@ -944,7 +944,7 @@ static void lis3lv02d_8b_configure(struct lis3lv02d *lis3,
}
#ifdef CONFIG_OF
-static int lis3lv02d_init_dt(struct lis3lv02d *lis3)
+int lis3lv02d_init_dt(struct lis3lv02d *lis3)
{
struct lis3lv02d_platform_data *pdata;
struct device_node *np = lis3->of_node;
@@ -1084,7 +1084,7 @@ static int lis3lv02d_init_dt(struct lis3lv02d *lis3)
}
#else
-static int lis3lv02d_init_dt(struct lis3lv02d *lis3)
+int lis3lv02d_init_dt(struct lis3lv02d *lis3)
{
return 0;
}
@@ -1100,10 +1100,6 @@ int lis3lv02d_init_device(struct lis3lv02d *lis3)
irq_handler_t thread_fn;
int irq_flags = 0;
- err = lis3lv02d_init_dt(lis3);
- if (err < 0)
- return err;
-
lis3->whoami = lis3lv02d_read_8(lis3, WHO_AM_I);
switch (lis3->whoami) {
diff --git a/drivers/misc/lis3lv02d/lis3lv02d.h b/drivers/misc/lis3lv02d/lis3lv02d.h
index 4cf0779..b5505fa 100644
--- a/drivers/misc/lis3lv02d/lis3lv02d.h
+++ b/drivers/misc/lis3lv02d/lis3lv02d.h
@@ -326,5 +326,6 @@ void lis3lv02d_joystick_disable(struct lis3lv02d *lis3);
void lis3lv02d_poweroff(struct lis3lv02d *lis3);
int lis3lv02d_poweron(struct lis3lv02d *lis3);
int lis3lv02d_remove_fs(struct lis3lv02d *lis3);
+int lis3lv02d_init_dt(struct lis3lv02d *lis3);
extern struct lis3lv02d lis3_dev;
--
1.7.9.5
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v2 2/4] lis3: lis3lv02d_spi: Add lis3lv02d device tree init
[not found] ` <1347610016-10123-1-git-send-email-anilkumar-l0cyMroinI0@public.gmane.org>
@ 2012-09-14 8:06 ` AnilKumar Ch
0 siblings, 0 replies; 8+ messages in thread
From: AnilKumar Ch @ 2012-09-14 8:06 UTC (permalink / raw)
To: arnd-r2nGTMty4D4
Cc: dmitry.torokhov-Re5JQEeQqe8AvxtiuMwx3w,
eric.piel-VkQ1JFuSMpfAbQlEx87xDw,
gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E,
jic23-KWPb1pKIrIJaa/9Udqfwiw, greg-U8xfFu+wG4EAvxtiuMwx3w,
akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b,
linux-omap-u79uwXL29TY76Z2rM5mHXA,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
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.
Signed-off-by: AnilKumar Ch <anilkumar-l0cyMroinI0@public.gmane.org>
---
drivers/misc/lis3lv02d/lis3lv02d_spi.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/drivers/misc/lis3lv02d/lis3lv02d_spi.c b/drivers/misc/lis3lv02d/lis3lv02d_spi.c
index 23f3986..e1db6f4 100644
--- a/drivers/misc/lis3lv02d/lis3lv02d_spi.c
+++ b/drivers/misc/lis3lv02d/lis3lv02d_spi.c
@@ -84,10 +84,12 @@ static int __devinit lis302dl_spi_probe(struct spi_device *spi)
lis3_dev.ac = lis3lv02d_axis_normal;
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;
-#endif
+ ret = lis3lv02d_init_dt(&lis3_dev);
+ if (ret)
+ return ret;
+ }
spi_set_drvdata(spi, &lis3_dev);
--
1.7.9.5
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v2 3/4] lis3: lis3lv02d_i2c: Add lis3lv02d device tree init
2012-09-14 8:06 [PATCH v2 0/4] lis3: lis3lv02d_i2c: Add device tree support AnilKumar Ch
2012-09-14 8:06 ` [PATCH v2 1/4] lis3: lis3lv02d: remove lis3lv02d driver DT init AnilKumar Ch
[not found] ` <1347610016-10123-1-git-send-email-anilkumar-l0cyMroinI0@public.gmane.org>
@ 2012-09-14 8:06 ` AnilKumar Ch
2012-09-14 8:06 ` [PATCH v2 4/4] ARM: dts: AM33XX: Add lis331dlh device tree data to am335x-evm AnilKumar Ch
2012-09-14 15:31 ` [PATCH v2 0/4] lis3: lis3lv02d_i2c: Add device tree support Arnd Bergmann
4 siblings, 0 replies; 8+ messages in thread
From: AnilKumar Ch @ 2012-09-14 8:06 UTC (permalink / raw)
To: arnd
Cc: gregkh, eric.piel, jic23, greg, akpm, broonie, dmitry.torokhov,
tony, linux-omap, linux-arm-kernel, devicetree-discuss,
grant.likely, AnilKumar Ch
Add lis3lv02d device tree initialization code/API to take pdata
from device node. Also adds device tree init matching table
support to lis3lv02d_i2c driver. If the driver data is passed
from device tree, then this driver picks up platform data
from device node through common/generic lis3lv02d.c driver.
Signed-off-by: AnilKumar Ch <anilkumar@ti.com>
---
drivers/misc/lis3lv02d/lis3lv02d_i2c.c | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/drivers/misc/lis3lv02d/lis3lv02d_i2c.c b/drivers/misc/lis3lv02d/lis3lv02d_i2c.c
index 15255eb..56b5124 100644
--- a/drivers/misc/lis3lv02d/lis3lv02d_i2c.c
+++ b/drivers/misc/lis3lv02d/lis3lv02d_i2c.c
@@ -31,6 +31,9 @@
#include <linux/i2c.h>
#include <linux/pm_runtime.h>
#include <linux/delay.h>
+#include <linux/of.h>
+#include <linux/of_platform.h>
+
#include "lis3lv02d.h"
#define DRV_NAME "lis3lv02d_i2c"
@@ -102,12 +105,27 @@ static int lis3_i2c_init(struct lis3lv02d *lis3)
static union axis_conversion lis3lv02d_axis_map =
{ .as_array = { LIS3_DEV_X, LIS3_DEV_Y, LIS3_DEV_Z } };
+static struct of_device_id lis3lv02d_i2c_dt_ids[] = {
+ { .compatible = "st,lis3lv02d-i2c" },
+ { .compatible = "st,lis331dlh-i2c" },
+ {}
+};
+MODULE_DEVICE_TABLE(of, lis3lv02d_i2c_dt_ids);
+
static int __devinit lis3lv02d_i2c_probe(struct i2c_client *client,
const struct i2c_device_id *id)
{
int ret = 0;
struct lis3lv02d_platform_data *pdata = client->dev.platform_data;
+ if (of_match_device(lis3lv02d_i2c_dt_ids, &client->dev)) {
+ lis3_dev.of_node = client->dev.of_node;
+ ret = lis3lv02d_init_dt(&lis3_dev);
+ if (ret)
+ return ret;
+ pdata = lis3_dev.pdata;
+ }
+
if (pdata) {
if ((pdata->driver_features & LIS3_USE_BLOCK_READ) &&
(i2c_check_functionality(client->adapter,
@@ -255,6 +273,7 @@ static struct i2c_driver lis3lv02d_i2c_driver = {
.name = DRV_NAME,
.owner = THIS_MODULE,
.pm = &lis3_pm_ops,
+ .of_match_table = of_match_ptr(lis3lv02d_i2c_dt_ids),
},
.probe = lis3lv02d_i2c_probe,
.remove = __devexit_p(lis3lv02d_i2c_remove),
--
1.7.9.5
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v2 4/4] ARM: dts: AM33XX: Add lis331dlh device tree data to am335x-evm
2012-09-14 8:06 [PATCH v2 0/4] lis3: lis3lv02d_i2c: Add device tree support AnilKumar Ch
` (2 preceding siblings ...)
2012-09-14 8:06 ` [PATCH v2 3/4] lis3: lis3lv02d_i2c: " AnilKumar Ch
@ 2012-09-14 8:06 ` AnilKumar Ch
2012-09-14 15:31 ` [PATCH v2 0/4] lis3: lis3lv02d_i2c: Add device tree support Arnd Bergmann
4 siblings, 0 replies; 8+ messages in thread
From: AnilKumar Ch @ 2012-09-14 8:06 UTC (permalink / raw)
To: arnd
Cc: gregkh, eric.piel, jic23, greg, akpm, broonie, dmitry.torokhov,
tony, linux-omap, linux-arm-kernel, devicetree-discuss,
grant.likely, AnilKumar Ch
Add lis331dlh device tree data to am335x-evm.dts. In AM335x EVM
lis331dlh accelerometer is connected to I2C2 bus. So this patch
change the status of I2C2 node to "okay" to use I2C2 bus. Also
added all the required platform data to am335x-evm.
Signed-off-by: AnilKumar Ch <anilkumar@ti.com>
---
arch/arm/boot/dts/am335x-evm.dts | 42 ++++++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)
diff --git a/arch/arm/boot/dts/am335x-evm.dts b/arch/arm/boot/dts/am335x-evm.dts
index 9fb59c5..890f955 100644
--- a/arch/arm/boot/dts/am335x-evm.dts
+++ b/arch/arm/boot/dts/am335x-evm.dts
@@ -47,6 +47,15 @@
};
};
+ i2c2: i2c@4802a000 {
+ status = "okay";
+ clock-frequency = <400000>;
+
+ lis331dlh: lis331dlh@18 {
+ reg = <0x18>;
+ };
+ };
+
dcan1: d_can@481d0000 {
status = "okay";
pinctrl-names = "default";
@@ -61,6 +70,39 @@
regulator-max-microvolt = <5000000>;
regulator-boot-on;
};
+
+ lis3_reg: fixedregulator@1 {
+ compatible = "regulator-fixed";
+ regulator-name = "lis3_reg";
+ regulator-boot-on;
+ };
+};
+
+&lis331dlh {
+ compatible = "st,lis331dlh-i2c";
+ Vdd-supply = <&lis3_reg>;
+ Vdd_IO-supply = <&lis3_reg>;
+
+ st,click-single-x;
+ st,click-single-y;
+ st,click-single-z;
+ st,click-thresh-x = <10>;
+ st,click-thresh-y = <10>;
+ st,click-thresh-z = <10>;
+ st,irq1-click;
+ st,irq2-click;
+ st,wakeup-x-lo;
+ st,wakeup-x-hi;
+ st,wakeup-y-lo;
+ st,wakeup-y-hi;
+ st,wakeup-z-lo;
+ st,wakeup-z-hi;
+ st,min-limit-x = <120>;
+ st,min-limit-y = <120>;
+ st,min-limit-z = <140>;
+ st,max-limit-x = <550>;
+ st,max-limit-y = <550>;
+ st,max-limit-z = <750>;
};
/include/ "tps65910.dtsi"
--
1.7.9.5
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v2 0/4] lis3: lis3lv02d_i2c: Add device tree support
2012-09-14 8:06 [PATCH v2 0/4] lis3: lis3lv02d_i2c: Add device tree support AnilKumar Ch
` (3 preceding siblings ...)
2012-09-14 8:06 ` [PATCH v2 4/4] ARM: dts: AM33XX: Add lis331dlh device tree data to am335x-evm AnilKumar Ch
@ 2012-09-14 15:31 ` Arnd Bergmann
2012-09-14 19:51 ` Andrew Morton
4 siblings, 1 reply; 8+ messages in thread
From: Arnd Bergmann @ 2012-09-14 15:31 UTC (permalink / raw)
To: AnilKumar Ch
Cc: gregkh, eric.piel, jic23, greg, akpm, broonie, dmitry.torokhov,
tony, linux-omap, linux-arm-kernel, devicetree-discuss,
grant.likely
On Friday 14 September 2012, AnilKumar Ch wrote:
> Adds device tree support to lis3lv02d_i2c driver. Along with this
> DT init is moved from core driver to individual drivers, with the
> current implementation some pdata is missing in lis3lv02d_i2c driver.
>
> Also adds platform data for lis331dlh driver to am335x-EVM. These
> patches were tested on AM335x-EVM.
>
No further comments on this version besides the ones I already gave
on v1.
Arnd
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 0/4] lis3: lis3lv02d_i2c: Add device tree support
2012-09-14 15:31 ` [PATCH v2 0/4] lis3: lis3lv02d_i2c: Add device tree support Arnd Bergmann
@ 2012-09-14 19:51 ` Andrew Morton
2012-09-14 20:01 ` Arnd Bergmann
0 siblings, 1 reply; 8+ messages in thread
From: Andrew Morton @ 2012-09-14 19:51 UTC (permalink / raw)
To: Arnd Bergmann
Cc: AnilKumar Ch, gregkh, eric.piel, jic23, greg, broonie,
dmitry.torokhov, tony, linux-omap, linux-arm-kernel,
devicetree-discuss, grant.likely
On Fri, 14 Sep 2012 15:31:36 +0000
Arnd Bergmann <arnd@arndb.de> wrote:
> On Friday 14 September 2012, AnilKumar Ch wrote:
> > Adds device tree support to lis3lv02d_i2c driver. Along with this
> > DT init is moved from core driver to individual drivers, with the
> > current implementation some pdata is missing in lis3lv02d_i2c driver.
> >
> > Also adds platform data for lis331dlh driver to am335x-EVM. These
> > patches were tested on AM335x-EVM.
> >
>
> No further comments on this version besides the ones I already gave
> on v1.
My linux-arm-kernel subscription died so I don't know what your v1
comments said. Were they fatal?
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 0/4] lis3: lis3lv02d_i2c: Add device tree support
2012-09-14 19:51 ` Andrew Morton
@ 2012-09-14 20:01 ` Arnd Bergmann
0 siblings, 0 replies; 8+ messages in thread
From: Arnd Bergmann @ 2012-09-14 20:01 UTC (permalink / raw)
To: Andrew Morton
Cc: AnilKumar Ch, gregkh, eric.piel, jic23, greg, broonie,
dmitry.torokhov, tony, linux-omap, linux-arm-kernel,
devicetree-discuss, grant.likely
On Friday 14 September 2012, Andrew Morton wrote:
> On Fri, 14 Sep 2012 15:31:36 +0000
> Arnd Bergmann <arnd@arndb.de> wrote:
>
> > On Friday 14 September 2012, AnilKumar Ch wrote:
> > > Adds device tree support to lis3lv02d_i2c driver. Along with this
> > > DT init is moved from core driver to individual drivers, with the
> > > current implementation some pdata is missing in lis3lv02d_i2c driver.
> > >
> > > Also adds platform data for lis331dlh driver to am335x-EVM. These
> > > patches were tested on AM335x-EVM.
> > >
> >
> > No further comments on this version besides the ones I already gave
> > on v1.
>
> My linux-arm-kernel subscription died so I don't know what your v1
> comments said. Were they fatal?
>
Just details. AnilKumar just said in that thread that he'd do a version 3
based on the earlier discussion once I was done looking at v2, so I replied
here to say that there is nothing new to add.
Arnd
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2012-09-14 20:02 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-14 8:06 [PATCH v2 0/4] lis3: lis3lv02d_i2c: Add device tree support AnilKumar Ch
2012-09-14 8:06 ` [PATCH v2 1/4] lis3: lis3lv02d: remove lis3lv02d driver DT init AnilKumar Ch
[not found] ` <1347610016-10123-1-git-send-email-anilkumar-l0cyMroinI0@public.gmane.org>
2012-09-14 8:06 ` [PATCH v2 2/4] lis3: lis3lv02d_spi: Add lis3lv02d device tree init AnilKumar Ch
2012-09-14 8:06 ` [PATCH v2 3/4] lis3: lis3lv02d_i2c: " AnilKumar Ch
2012-09-14 8:06 ` [PATCH v2 4/4] ARM: dts: AM33XX: Add lis331dlh device tree data to am335x-evm AnilKumar Ch
2012-09-14 15:31 ` [PATCH v2 0/4] lis3: lis3lv02d_i2c: Add device tree support Arnd Bergmann
2012-09-14 19:51 ` Andrew Morton
2012-09-14 20:01 ` Arnd Bergmann
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).