2012-11-21 09:27:35

by Bongkyu Kim

[permalink] [raw]
Subject: [PATCH] of/i2c: check status property for i2c client

Because of_i2c_register_devices() do not check status property,
all i2c clients are registered.

This patch add checking status property for i2c client.
After this patch, if status property is absent or "okay" or "ok",
i2c client will be registered.

Signed-off-by: Bongkyu Kim <[email protected]>
---
drivers/of/of_i2c.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/of/of_i2c.c b/drivers/of/of_i2c.c
index 3550f3b..2552fc5 100644
--- a/drivers/of/of_i2c.c
+++ b/drivers/of/of_i2c.c
@@ -37,6 +37,9 @@ void of_i2c_register_devices(struct i2c_adapter *adap)

dev_dbg(&adap->dev, "of_i2c: register %s\n", node->full_name);

+ if (!of_device_is_available(node))
+ continue;
+
if (of_modalias_node(node, info.type, sizeof(info.type)) < 0) {
dev_err(&adap->dev, "of_i2c: modalias failure on %s\n",
node->full_name);
--
1.8.0


2012-11-21 13:42:41

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH] of/i2c: check status property for i2c client

On 11/21/2012 02:57 AM, Bongkyu Kim wrote:
> Because of_i2c_register_devices() do not check status property,
> all i2c clients are registered.
>
> This patch add checking status property for i2c client.
> After this patch, if status property is absent or "okay" or "ok",
> i2c client will be registered.
>
> Signed-off-by: Bongkyu Kim <[email protected]>

Applied.

> ---
> drivers/of/of_i2c.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/of/of_i2c.c b/drivers/of/of_i2c.c
> index 3550f3b..2552fc5 100644
> --- a/drivers/of/of_i2c.c
> +++ b/drivers/of/of_i2c.c
> @@ -37,6 +37,9 @@ void of_i2c_register_devices(struct i2c_adapter *adap)
>
> dev_dbg(&adap->dev, "of_i2c: register %s\n", node->full_name);
>
> + if (!of_device_is_available(node))
> + continue;
> +
> if (of_modalias_node(node, info.type, sizeof(info.type)) < 0) {
> dev_err(&adap->dev, "of_i2c: modalias failure on %s\n",
> node->full_name);
>