public inbox for linux-i2c@vger.kernel.org
 help / color / mirror / Atom feed
From: Anton Vorontsov <avorontsov-hkdhdckH98+B+jHODAdFcQ@public.gmane.org>
To: linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Cc: David Brownell
	<dbrownell-Rn4VEauK+AKRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>,
	"Steven A. Falco"
	<sfalco-7/gz0mrWfc7QT0dZR+AlfA@public.gmane.org>,
	Grant Likely
	<grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>,
	linuxppc-dev-mnsaURCQ41sdnm+yROfE0A@public.gmane.org,
	i2c-GZX6beZjE8VD60Wz+7aTrA@public.gmane.org,
	David Miller <davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
Subject: [PATCH 3/7] of: fill the archdata for I2C devices
Date: Thu, 16 Oct 2008 21:12:56 +0400	[thread overview]
Message-ID: <20081016171256.GC5515@oksana.dev.rtsoft.ru> (raw)
In-Reply-To: <20081016171222.GA24812-wnGakbxT3iijyJ0x5qLZdcN33GVbZNy3@public.gmane.org>

For I2C devices we just setting the the node pointer in the archdata.
This is needed so that the other code would know device's node.

Signed-off-by: Anton Vorontsov <avorontsov-hkdhdckH98+B+jHODAdFcQ@public.gmane.org>
---
 drivers/of/of_i2c.c |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/drivers/of/of_i2c.c b/drivers/of/of_i2c.c
index 6a98dc8..f9e18ed 100644
--- a/drivers/of/of_i2c.c
+++ b/drivers/of/of_i2c.c
@@ -24,6 +24,7 @@ void of_register_i2c_devices(struct i2c_adapter *adap,
 
 	for_each_child_of_node(adap_node, node) {
 		struct i2c_board_info info = {};
+		struct dev_archdata dev_ad = {};
 		const u32 *addr;
 		int len;
 
@@ -41,6 +42,9 @@ void of_register_i2c_devices(struct i2c_adapter *adap,
 
 		info.addr = *addr;
 
+		dev_archdata_set_node(&dev_ad, node);
+		info.archdata = &dev_ad;
+
 		request_module(info.type);
 
 		result = i2c_new_device(adap, &info);
@@ -51,6 +55,13 @@ void of_register_i2c_devices(struct i2c_adapter *adap,
 			irq_dispose_mapping(info.irq);
 			continue;
 		}
+
+		/*
+		 * Get the node to not lose the dev_archdata->of_node.
+		 * Currently there is no way to put it back, as well as no
+		 * of_unregister_i2c_devices() call.
+		 */
+		of_node_get(node);
 	}
 }
 EXPORT_SYMBOL(of_register_i2c_devices);
-- 
1.5.6.3


_______________________________________________
i2c mailing list
i2c-GZX6beZjE8VD60Wz+7aTrA@public.gmane.org
http://lists.lm-sensors.org/mailman/listinfo/i2c

  parent reply	other threads:[~2008-10-16 17:12 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-16 17:12 [PATCH 0/7 RFC] Handle I2C GPIO controllers with the OF (was: pca9539 I2C gpio expander) Anton Vorontsov
2008-10-16 17:12 ` [PATCH 1/7] powerpc and sparc: introduce dev_archdata node accessors Anton Vorontsov
2008-10-16 22:36   ` David Miller
2008-10-16 23:02     ` Grant Likely
2008-10-16 17:12 ` [PATCH 2/7] i2c: add info->archdata field Anton Vorontsov
2008-10-17  9:21   ` Jean Delvare
     [not found]     ` <20081017112125.1f2c9d94-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2008-10-22  0:27       ` Benjamin Herrenschmidt
2008-10-22  6:50         ` Jean Delvare
     [not found]           ` <20081022085002.0698e2a8-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2008-10-22  7:37             ` Benjamin Herrenschmidt
2008-10-22 10:08               ` Anton Vorontsov
2008-10-22 11:07                 ` Jean Delvare
2008-10-22 12:50                   ` Anton Vorontsov
     [not found] ` <20081016171222.GA24812-wnGakbxT3iijyJ0x5qLZdcN33GVbZNy3@public.gmane.org>
2008-10-16 17:12   ` Anton Vorontsov [this message]
2008-10-22  4:14     ` [PATCH 3/7] of: fill the archdata for I2C devices Grant Likely
2008-10-16 17:12   ` [PATCH 4/7] gpiolib: implement dev_gpiochip_{add, remove} calls Anton Vorontsov
2008-10-17 20:24     ` [PATCH 4/7] gpiolib: implement dev_gpiochip_{add,remove} calls David Brownell
2008-10-17 21:29       ` Anton Vorontsov
2008-10-20  7:29         ` David Brownell
2008-10-20 15:48           ` Anton Vorontsov
     [not found]             ` <20081020154835.GA3234-wnGakbxT3iijyJ0x5qLZdcN33GVbZNy3@public.gmane.org>
2008-10-22  0:29               ` [PATCH 4/7] gpiolib: implement dev_gpiochip_{add, remove} calls Benjamin Herrenschmidt
2008-10-22  1:03                 ` [PATCH 4/7] gpiolib: implement dev_gpiochip_{add,remove} calls Anton Vorontsov
2008-10-22  1:42                   ` Anton Vorontsov
     [not found]                     ` <20081022014243.GA19362-wnGakbxT3iijyJ0x5qLZdcN33GVbZNy3@public.gmane.org>
2008-10-22  2:28                       ` [PATCH 4/7] gpiolib: implement dev_gpiochip_{add, remove} calls Benjamin Herrenschmidt
2008-10-22  4:20                         ` [PATCH 4/7] gpiolib: implement dev_gpiochip_{add,remove} calls Grant Likely
2008-10-22  4:22                         ` David Brownell
2008-10-22 10:36                           ` Anton Vorontsov
2008-10-22 10:46                             ` Anton Vorontsov
2008-10-22 18:32                               ` Anton Vorontsov
2008-10-22 21:04                                 ` David Brownell
2008-10-22 21:22                                   ` Anton Vorontsov
2008-10-22 21:52                                     ` David Brownell
2008-10-22 22:29                                       ` Anton Vorontsov
2008-10-23  5:19                                         ` David Brownell
     [not found]                                   ` <200810221404.52798.david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
2008-10-23  4:45                                     ` [PATCH 4/7] gpiolib: implement dev_gpiochip_{add, remove} calls Benjamin Herrenschmidt
2008-10-23  6:06                                       ` [PATCH 4/7] gpiolib: implement dev_gpiochip_{add,remove} calls David Brownell
2008-10-23  6:15                                 ` David Brownell
2008-10-28 17:45                               ` [PATCH 0/6 RFC] OF-glue devices for I2C/SPI (was: " Anton Vorontsov
2008-10-28 17:53                                 ` Grant Likely
     [not found]                   ` <20081022010347.GA7377-wnGakbxT3iijyJ0x5qLZdcN33GVbZNy3@public.gmane.org>
2008-10-22  2:27                     ` [PATCH 4/7] gpiolib: implement dev_gpiochip_{add, remove} calls Benjamin Herrenschmidt
2008-10-16 17:13 ` [PATCH 5/7] of/gpio: implement of_dev_gpiochip_{add,remove} calls Anton Vorontsov
2008-10-17 20:25   ` David Brownell
2008-10-17 21:13     ` Anton Vorontsov
2008-10-16 17:13 ` [PATCH 6/7] gpio/pca953x: convert to dev_gpiochip_add and make it work with the OF Anton Vorontsov
2008-10-16 17:13 ` [PATCH 7/7] i2c/mcu_mpc8349emitx: convert to the new I2C/OF/GPIO infrastructure Anton Vorontsov
2008-10-17 16:07 ` [PATCH 0/7 RFC] Handle I2C GPIO controllers with the OF (was: pca9539 I2C gpio expander) Steven A. Falco

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20081016171256.GC5515@oksana.dev.rtsoft.ru \
    --to=avorontsov-hkdhdckh98+b+jhodadfcq@public.gmane.org \
    --cc=davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org \
    --cc=dbrownell-Rn4VEauK+AKRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
    --cc=grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org \
    --cc=i2c-GZX6beZjE8VD60Wz+7aTrA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linuxppc-dev-mnsaURCQ41sdnm+yROfE0A@public.gmane.org \
    --cc=sfalco-7/gz0mrWfc7QT0dZR+AlfA@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox