diff options
author | Sebastian Andrzej Siewior <bigeasy@linutronix.de> | 2011-02-23 06:38:20 -0500 |
---|---|---|
committer | Ben Dooks <ben-linux@fluff.org> | 2011-03-21 05:23:57 -0400 |
commit | baa8cab012ff07d6835580b19c2fd93a20627823 (patch) | |
tree | 3a091f70a23ae00a8f50f89bb41a6b9eb596c735 /drivers/i2c | |
parent | 93c92cfdec8c3f8764894b37606c174f68fd9338 (diff) |
i2c-pxa2xx: pass of_node from platform driver to adapter and publish
the of_node will auto-publish devices which are added to the device
tree.
Commit 925bb9c6 aka ("of/i2c: Fix module load order issue caused by
of_i2c.c) moved the of_i2c_register_devices() function from the i2c core
back to the drivers. This patch does the same thing for the pxa driver.
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Dirk Brandewie <dirk.brandewie@gmail.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Diffstat (limited to 'drivers/i2c')
-rw-r--r-- | drivers/i2c/busses/i2c-pxa.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c index 86128363a57f..27b28e78666e 100644 --- a/drivers/i2c/busses/i2c-pxa.c +++ b/drivers/i2c/busses/i2c-pxa.c | |||
@@ -29,6 +29,7 @@ | |||
29 | #include <linux/errno.h> | 29 | #include <linux/errno.h> |
30 | #include <linux/interrupt.h> | 30 | #include <linux/interrupt.h> |
31 | #include <linux/i2c-pxa.h> | 31 | #include <linux/i2c-pxa.h> |
32 | #include <linux/of_i2c.h> | ||
32 | #include <linux/platform_device.h> | 33 | #include <linux/platform_device.h> |
33 | #include <linux/err.h> | 34 | #include <linux/err.h> |
34 | #include <linux/clk.h> | 35 | #include <linux/clk.h> |
@@ -1138,6 +1139,9 @@ static int i2c_pxa_probe(struct platform_device *dev) | |||
1138 | 1139 | ||
1139 | i2c->adap.algo_data = i2c; | 1140 | i2c->adap.algo_data = i2c; |
1140 | i2c->adap.dev.parent = &dev->dev; | 1141 | i2c->adap.dev.parent = &dev->dev; |
1142 | #ifdef CONFIG_OF | ||
1143 | i2c->adap.dev.of_node = dev->dev.of_node; | ||
1144 | #endif | ||
1141 | 1145 | ||
1142 | if (i2c_type == REGS_CE4100) | 1146 | if (i2c_type == REGS_CE4100) |
1143 | ret = i2c_add_adapter(&i2c->adap); | 1147 | ret = i2c_add_adapter(&i2c->adap); |
@@ -1147,6 +1151,7 @@ static int i2c_pxa_probe(struct platform_device *dev) | |||
1147 | printk(KERN_INFO "I2C: Failed to add bus\n"); | 1151 | printk(KERN_INFO "I2C: Failed to add bus\n"); |
1148 | goto eadapt; | 1152 | goto eadapt; |
1149 | } | 1153 | } |
1154 | of_i2c_register_devices(&i2c->adap); | ||
1150 | 1155 | ||
1151 | platform_set_drvdata(dev, i2c); | 1156 | platform_set_drvdata(dev, i2c); |
1152 | 1157 | ||