* [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
* Re: [PATCH] of_i2c: Honour "status=disabled" property of device
[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 17:10 ` Wolfram Sang
2012-11-29 3:20 ` Barry Song
2 siblings, 1 reply; 6+ messages in thread
From: Stephen Warren @ 2012-11-28 16:16 UTC (permalink / raw)
To: Alexander Sverdlin
Cc: Jochen Friedrich, Jon Smirl, linux-i2c-u79uwXL29TY76Z2rM5mHXA,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ, Rob Herring,
Grant Likely, alexander sverdlin
On 11/28/2012 07:21 AM, Alexander Sverdlin wrote:
> 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.
Do SPI and other buses (e.g. MDIO/MDIO mux?) need a similar change?
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] of_i2c: Honour "status=disabled" property of device
[not found] ` <50B638CC.6070106-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
@ 2012-11-28 16:51 ` Alexander Sverdlin
[not found] ` <50B6412E.7060906-uSbOeAmDUekAvxtiuMwx3w@public.gmane.org>
0 siblings, 1 reply; 6+ messages in thread
From: Alexander Sverdlin @ 2012-11-28 16:51 UTC (permalink / raw)
To: Stephen Warren
Cc: Jochen Friedrich, Jon Smirl, linux-i2c-u79uwXL29TY76Z2rM5mHXA,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ, Rob Herring,
Grant Likely, alexander sverdlin
Hi!
On 11/28/2012 05:16 PM, Stephen Warren wrote:
> On 11/28/2012 07:21 AM, Alexander Sverdlin wrote:
>> 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.
>
> Do SPI and other buses (e.g. MDIO/MDIO mux?) need a similar change?
You are right, of_register_spi_devices() and of_mdiobus_register() both have exactly the same issue.
Should it be a follow-up patch, or better to combine them to one patch?
--
Best regards,
Alexander Sverdlin.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] of_i2c: Honour "status=disabled" property of device
[not found] ` <50B6412E.7060906-uSbOeAmDUekAvxtiuMwx3w@public.gmane.org>
@ 2012-11-28 17:05 ` Rob Herring
0 siblings, 0 replies; 6+ messages in thread
From: Rob Herring @ 2012-11-28 17:05 UTC (permalink / raw)
To: Alexander Sverdlin
Cc: Stephen Warren, devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
Rob Herring, linux-i2c-u79uwXL29TY76Z2rM5mHXA, alexander sverdlin,
Jon Smirl, Grant Likely
On 11/28/2012 10:51 AM, Alexander Sverdlin wrote:
> Hi!
>
> On 11/28/2012 05:16 PM, Stephen Warren wrote:
>> On 11/28/2012 07:21 AM, Alexander Sverdlin wrote:
>>> 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.
>>
>> Do SPI and other buses (e.g. MDIO/MDIO mux?) need a similar change?
>
> You are right, of_register_spi_devices() and of_mdiobus_register() both have exactly the same issue.
> Should it be a follow-up patch, or better to combine them to one patch?
Separate please in case there is some reason to revert. Also, I already
have a patch for i2c that does the same thing in my tree. However, your
patch is better, so I'll probably replace it with yours.
Rob
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] of_i2c: Honour "status=disabled" property of device
[not found] ` <50B61DDA.5090109-uSbOeAmDUekAvxtiuMwx3w@public.gmane.org>
2012-11-28 16:16 ` Stephen Warren
@ 2012-11-28 17:10 ` Wolfram Sang
2012-11-29 3:20 ` Barry Song
2 siblings, 0 replies; 6+ messages in thread
From: Wolfram Sang @ 2012-11-28 17:10 UTC (permalink / raw)
To: Alexander Sverdlin
Cc: Jochen Friedrich, Jon Smirl, linux-i2c-u79uwXL29TY76Z2rM5mHXA,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ, Rob Herring,
Grant Likely, alexander sverdlin
[-- Attachment #1: Type: text/plain, Size: 1111 bytes --]
On Wed, Nov 28, 2012 at 03:21:14PM +0100, Alexander Sverdlin wrote:
> 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>
Seems like Rob wants to pick it, so:
Acked-by: Wolfram Sang <w.sang-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
--
Pengutronix e.K. | Wolfram Sang |
Industrial Linux Solutions | http://www.pengutronix.de/ |
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* RE: [PATCH] of_i2c: Honour "status=disabled" property of device
[not found] ` <50B61DDA.5090109-uSbOeAmDUekAvxtiuMwx3w@public.gmane.org>
2012-11-28 16:16 ` Stephen Warren
2012-11-28 17:10 ` Wolfram Sang
@ 2012-11-29 3:20 ` Barry Song
2 siblings, 0 replies; 6+ messages in thread
From: Barry Song @ 2012-11-29 3:20 UTC (permalink / raw)
To: Alexander Sverdlin, Jochen Friedrich, Jon Smirl,
linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org,
Rob Herring, Grant Likely
Cc: alexander sverdlin
> -----Original Message-----
> From: devicetree-discuss
> [mailto:devicetree-discuss-bounces+bs14=csr.com@lists.ozlabs.org] On Behalf
> Of Alexander Sverdlin
> Sent: Wednesday, November 28, 2012 10:21 PM
> To: Jochen Friedrich; Jon Smirl; linux-i2c@vger.kernel.org;
> devicetree-discuss@lists.ozlabs.org; Rob Herring; Grant Likely
> Cc: alexander sverdlin
> Subject: [PATCH] of_i2c: Honour "status=disabled" property of device
>
> From: Alexander Sverdlin <alexander.sverdlin@sysgo.com>
>
> 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@sysgo.com>
> ---
Reviewed-by: Barry Song <Baohua.Song@csr.com>
> --- 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;
Member of the CSR plc group of companies. CSR plc registered in England and Wales, registered number 4187346, registered office Churchill House, Cambridge Business Park, Cowley Road, Cambridge, CB4 0WZ, United Kingdom
More information can be found at www.csr.com. Follow CSR on Twitter at http://twitter.com/CSR_PLC and read our blog at www.csr.com/blog
^ 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).