devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] of_i2c: Honour "status=disabled" property of device
@ 2012-11-28 14:21 Alexander Sverdlin
       [not found] ` <50B61DDA.5090109-uSbOeAmDUekAvxtiuMwx3w@public.gmane.org>
  0 siblings, 1 reply; 6+ messages in thread
From: Alexander Sverdlin @ 2012-11-28 14:21 UTC (permalink / raw)
  To: Jochen Friedrich, Jon Smirl, linux-i2c-u79uwXL29TY76Z2rM5mHXA,
	devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ, Rob Herring,
	Grant Likely
  Cc: alexander sverdlin

From: Alexander Sverdlin <alexander.sverdlin-uSbOeAmDUekAvxtiuMwx3w@public.gmane.org>

of_i2c: Honour "status=disabled" property of device

Currently of_i2c_register_devices() function registers all i2c devices,
independently from their status property in device tree. According to
"ePAPR 1.1" spec, device should only be registered if there is no
"status" property, or it has "ok" (or "okay") value (see
of_device_is_available()). In case of "platform devices",
of_platform_device_create_pdata() checks for "status" and ensures
that disabled devices are not populated. But such check for i2c buses
was missing until now. Fix it.

Signed-off-by: Alexander Sverdlin <alexander.sverdlin-uSbOeAmDUekAvxtiuMwx3w@public.gmane.org>
---
--- linux.orig/drivers/of/of_i2c.c
+++ linux/drivers/of/of_i2c.c
@@ -29,7 +29,7 @@ void of_i2c_register_devices(struct i2c_
 
 	dev_dbg(&adap->dev, "of_i2c: walking child nodes\n");
 
-	for_each_child_of_node(adap->dev.of_node, node) {
+	for_each_available_child_of_node(adap->dev.of_node, node) {
 		struct i2c_board_info info = {};
 		struct dev_archdata dev_ad = {};
 		const __be32 *addr;

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2012-11-29  3:20 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-11-28 14:21 [PATCH] of_i2c: Honour "status=disabled" property of device Alexander Sverdlin
     [not found] ` <50B61DDA.5090109-uSbOeAmDUekAvxtiuMwx3w@public.gmane.org>
2012-11-28 16:16   ` Stephen Warren
     [not found]     ` <50B638CC.6070106-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-11-28 16:51       ` Alexander Sverdlin
     [not found]         ` <50B6412E.7060906-uSbOeAmDUekAvxtiuMwx3w@public.gmane.org>
2012-11-28 17:05           ` Rob Herring
2012-11-28 17:10   ` Wolfram Sang
2012-11-29  3:20   ` Barry Song

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).