public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Graeme Gregory <gg@slimlogic.co.uk>
To: Laxman Dewangan <ldewangan@nvidia.com>
Cc: sameo@linux.intel.com, swarren@nvidia.com,
	broonie@opensource.wolfsonmicro.com,
	linux-kernel@vger.kernel.org,
	Grant Likely <grant.likely@secretlab.ca>
Subject: Re: [PATCH] mfd: palmas: initialise client->of_node for dummy created client
Date: Tue, 19 Mar 2013 09:23:59 +0000	[thread overview]
Message-ID: <51482EAF.20105@slimlogic.co.uk> (raw)
In-Reply-To: <1363683500-24891-1-git-send-email-ldewangan@nvidia.com>

I discussed this with Grant Likely and we came to the same conclusion
that this was the only way to "fix" the issue. But his concern was
because dummys have a probe/remove of their own this might cause issues
in some cases. His opinion was to do this the probe/remove of the dummys
should also be removed to make them not real devices.

I have added him to CC in case my memory is faulty!

This is a generic issue which will affect all multi address i2c mfds.

Graeme

On 19/03/13 08:58, Laxman Dewangan wrote:
> Palmas device have three different i2c addresses. The device creates
> the two new dummy i2c clients for accessing the register by using
> primary client adapter. This new dummy i2c client have their of_node
> as NULL.
>
> The dummy i2c client is used for registering interrupt and on this,
> it creates irq domain handle. This created irq domain handle has
> their of_node as NULL.
>
> Now when any child of this device is registered through the DT as
> follows:
>          palmas: tps65913@58 {
>          	::::::::::::::::::
>
>          	#interrupt-cells = <2>;
>                 interrupt-controller;
>
>                 palmas_rtc {
>                        compatible = "ti,palmas-rtc";
>                        interrupt-parent = <&palmas>;
>                        interrupts = <8 0>;
>                 };
>                 ::::::::::;;;
>          };
>
> And child driver (palam-rtc in this case) get their irq number as
> 	irq = platform_get_irq(pdev, 0);
>
> The returned irq number is error in this case. The reason is that
> the created irq_domain handle for the palmas interrupt does not have
> valid node and so matching of node fails with palmas node.
>
> Hence initialising the newly dummy created client->of_node with the
> primary clients of_node so that irq_domain handle have proper of_node
> for matching.
>
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> ---
>  drivers/mfd/palmas.c |    1 +
>  1 files changed, 1 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/mfd/palmas.c b/drivers/mfd/palmas.c
> index 73bf76d..a3f2836 100644
> --- a/drivers/mfd/palmas.c
> +++ b/drivers/mfd/palmas.c
> @@ -349,6 +349,7 @@ static int palmas_i2c_probe(struct i2c_client *i2c,
>  				ret = -ENOMEM;
>  				goto err;
>  			}
> +			palmas->i2c_clients[i]->dev.of_node = of_node_get(node);
>  		}
>  		palmas->regmap[i] = devm_regmap_init_i2c(palmas->i2c_clients[i],
>  				&palmas_regmap_config[i]);


  reply	other threads:[~2013-03-19  9:24 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-19  8:58 [PATCH] mfd: palmas: initialise client->of_node for dummy created client Laxman Dewangan
2013-03-19  9:23 ` Graeme Gregory [this message]
2013-03-19 15:44 ` Stephen Warren
     [not found]   ` <20130319165228.GC22168@opensource.wolfsonmicro.com>
2013-03-19 17:10     ` Stephen Warren
     [not found]       ` <20130319172648.GD22168@opensource.wolfsonmicro.com>
2013-03-20 14:39         ` Laxman Dewangan
2013-04-08 12:55           ` Laxman Dewangan
2013-04-08 16:14 ` Samuel Ortiz

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=51482EAF.20105@slimlogic.co.uk \
    --to=gg@slimlogic.co.uk \
    --cc=broonie@opensource.wolfsonmicro.com \
    --cc=grant.likely@secretlab.ca \
    --cc=ldewangan@nvidia.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sameo@linux.intel.com \
    --cc=swarren@nvidia.com \
    /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