From af8205b5aee8275aeaf469d7d8bd0f5af4ff6292 Mon Sep 17 00:00:00 2001 From: Grant Likely Date: Tue, 13 Apr 2010 16:12:28 -0700 Subject: [PATCH] --- yaml --- r: 198027 b: refs/heads/master c: d12d42f744f805a9ccc33cd76f04b237cd83ce56 h: refs/heads/master i: 198025: 63b6b22fd1ce51e65676abb2b2d55b100905ca84 198023: 1716a8e50ebbc43099bb5951cb1ca081026ddce6 v: v3 --- [refs] | 2 +- trunk/drivers/i2c/i2c-core.c | 3 +++ trunk/drivers/of/of_i2c.c | 1 + trunk/include/linux/i2c.h | 4 ++++ 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 2a6d1d7600aa..cdebf165cd74 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d706c1b050274b3bf97d7cb0542c0d070c9ccb8b +refs/heads/master: d12d42f744f805a9ccc33cd76f04b237cd83ce56 diff --git a/trunk/drivers/i2c/i2c-core.c b/trunk/drivers/i2c/i2c-core.c index 3202a86f420e..4099b2b8c392 100644 --- a/trunk/drivers/i2c/i2c-core.c +++ b/trunk/drivers/i2c/i2c-core.c @@ -387,6 +387,9 @@ i2c_new_device(struct i2c_adapter *adap, struct i2c_board_info const *info) client->dev.parent = &client->adapter->dev; client->dev.bus = &i2c_bus_type; client->dev.type = &i2c_client_type; +#ifdef CONFIG_OF + client->dev.of_node = info->of_node; +#endif dev_set_name(&client->dev, "%d-%04x", i2c_adapter_id(adap), client->addr); diff --git a/trunk/drivers/of/of_i2c.c b/trunk/drivers/of/of_i2c.c index a3a708e590d0..e690a2aa6fef 100644 --- a/trunk/drivers/of/of_i2c.c +++ b/trunk/drivers/of/of_i2c.c @@ -43,6 +43,7 @@ void of_register_i2c_devices(struct i2c_adapter *adap, info.addr = be32_to_cpup(addr); dev_archdata_set_node(&dev_ad, node); + info.of_node = node; info.archdata = &dev_ad; request_module("%s", info.type); diff --git a/trunk/include/linux/i2c.h b/trunk/include/linux/i2c.h index 0a5da639b327..4f37ff1de7e1 100644 --- a/trunk/include/linux/i2c.h +++ b/trunk/include/linux/i2c.h @@ -34,6 +34,7 @@ #include /* for struct device */ #include /* for completion */ #include +#include /* for struct device_node */ extern struct bus_type i2c_bus_type; @@ -251,6 +252,9 @@ struct i2c_board_info { unsigned short addr; void *platform_data; struct dev_archdata *archdata; +#ifdef CONFIG_OF + struct device_node *of_node; +#endif int irq; };