aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/i2c
diff options
context:
space:
mode:
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>2011-02-23 06:38:20 -0500
committerBen Dooks <ben-linux@fluff.org>2011-03-21 05:23:57 -0400
commitbaa8cab012ff07d6835580b19c2fd93a20627823 (patch)
tree3a091f70a23ae00a8f50f89bb41a6b9eb596c735 /drivers/i2c
parent93c92cfdec8c3f8764894b37606c174f68fd9338 (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.c5
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