All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
To: Hiroshi DOYU <hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Cc: swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	Felipe Balbi <balbi-l0cyMroinI0@public.gmane.org>,
	Colin Cross <ccross-z5hGa2qSFaRBDgjK7y7TUQ@public.gmane.org>,
	Olof Johansson <olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org>,
	Russell King <linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org>,
	Tony Lindgren <tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>,
	H Hartley Sweeten
	<hsweeten-3FF4nKcrg1dE2c76skzGb0EOCMrvLtNR@public.gmane.org>,
	Jamie Iles <jamie-wmLquQDDieKakBO8gow8eQ@public.gmane.org>,
	Rob Herring <rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCHv3 2/4] ARM: tegra: Add SMMU enabler in AHB
Date: Thu, 26 Apr 2012 13:55:13 -0600	[thread overview]
Message-ID: <4F99A821.2040406@wwwdotorg.org> (raw)
In-Reply-To: <1335352072-4001-2-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>

On 04/25/2012 05:07 AM, Hiroshi DOYU wrote:
> Add extern func, "tegra_ahb_enable_smmu()" to inform AHB that SMMU is
> ready.

> +#ifdef CONFIG_ARCH_TEGRA_3x_SOC
> +static int __tegra_ahb_enable_smmu(struct device *dev, void *data)
...
> +int tegra_ahb_enable_smmu(void)
> +{
> +	return driver_for_each_device(&tegra_ahb_driver.driver, NULL, NULL,
> +				      __tegra_ahb_enable_smmu);
> +}
> +EXPORT_SYMBOL(tegra_ahb_enable_smmu);
> +#endif

That looks like a neat solution to avoid having a global device object.

However, if that driver_for_each_device finds no devices, the function
still succeeds. That doesn't seem right, and doesn't allow e.g. the SMMU
to defer its probe until the AHB driver has completed.

Perhaps add a local int variable to tegra_ahb_enable_smmu(), pass the
address to __tegra_ahb_enable_smmu, and have it increment the int. Then,
after calling driver_for_each_device,:

if (!ahb_device_count)
    return -EPROBE_DEFER
if (WARN_ON(ahb_device_count != 1))
    return -EINVAL;
return 0;

WARNING: multiple messages have this Message-ID (diff)
From: Stephen Warren <swarren@wwwdotorg.org>
To: Hiroshi DOYU <hdoyu@nvidia.com>
Cc: swarren@nvidia.com, linux-tegra@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, Felipe Balbi <balbi@ti.com>,
	Colin Cross <ccross@android.com>, Olof Johansson <olof@lixom.net>,
	Russell King <linux@arm.linux.org.uk>,
	Tony Lindgren <tony@atomide.com>,
	H Hartley Sweeten <hsweeten@visionengravers.com>,
	Jamie Iles <jamie@jamieiles.com>,
	Rob Herring <rob.herring@calxeda.com>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCHv3 2/4] ARM: tegra: Add SMMU enabler in AHB
Date: Thu, 26 Apr 2012 13:55:13 -0600	[thread overview]
Message-ID: <4F99A821.2040406@wwwdotorg.org> (raw)
In-Reply-To: <1335352072-4001-2-git-send-email-hdoyu@nvidia.com>

On 04/25/2012 05:07 AM, Hiroshi DOYU wrote:
> Add extern func, "tegra_ahb_enable_smmu()" to inform AHB that SMMU is
> ready.

> +#ifdef CONFIG_ARCH_TEGRA_3x_SOC
> +static int __tegra_ahb_enable_smmu(struct device *dev, void *data)
...
> +int tegra_ahb_enable_smmu(void)
> +{
> +	return driver_for_each_device(&tegra_ahb_driver.driver, NULL, NULL,
> +				      __tegra_ahb_enable_smmu);
> +}
> +EXPORT_SYMBOL(tegra_ahb_enable_smmu);
> +#endif

That looks like a neat solution to avoid having a global device object.

However, if that driver_for_each_device finds no devices, the function
still succeeds. That doesn't seem right, and doesn't allow e.g. the SMMU
to defer its probe until the AHB driver has completed.

Perhaps add a local int variable to tegra_ahb_enable_smmu(), pass the
address to __tegra_ahb_enable_smmu, and have it increment the int. Then,
after calling driver_for_each_device,:

if (!ahb_device_count)
    return -EPROBE_DEFER
if (WARN_ON(ahb_device_count != 1))
    return -EINVAL;
return 0;

WARNING: multiple messages have this Message-ID (diff)
From: swarren@wwwdotorg.org (Stephen Warren)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCHv3 2/4] ARM: tegra: Add SMMU enabler in AHB
Date: Thu, 26 Apr 2012 13:55:13 -0600	[thread overview]
Message-ID: <4F99A821.2040406@wwwdotorg.org> (raw)
In-Reply-To: <1335352072-4001-2-git-send-email-hdoyu@nvidia.com>

On 04/25/2012 05:07 AM, Hiroshi DOYU wrote:
> Add extern func, "tegra_ahb_enable_smmu()" to inform AHB that SMMU is
> ready.

> +#ifdef CONFIG_ARCH_TEGRA_3x_SOC
> +static int __tegra_ahb_enable_smmu(struct device *dev, void *data)
...
> +int tegra_ahb_enable_smmu(void)
> +{
> +	return driver_for_each_device(&tegra_ahb_driver.driver, NULL, NULL,
> +				      __tegra_ahb_enable_smmu);
> +}
> +EXPORT_SYMBOL(tegra_ahb_enable_smmu);
> +#endif

That looks like a neat solution to avoid having a global device object.

However, if that driver_for_each_device finds no devices, the function
still succeeds. That doesn't seem right, and doesn't allow e.g. the SMMU
to defer its probe until the AHB driver has completed.

Perhaps add a local int variable to tegra_ahb_enable_smmu(), pass the
address to __tegra_ahb_enable_smmu, and have it increment the int. Then,
after calling driver_for_each_device,:

if (!ahb_device_count)
    return -EPROBE_DEFER
if (WARN_ON(ahb_device_count != 1))
    return -EINVAL;
return 0;

  parent reply	other threads:[~2012-04-26 19:55 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-25 11:07 [PATCHv3 1/4] ARM: tegra: Add AHB driver Hiroshi DOYU
2012-04-25 11:07 ` Hiroshi DOYU
2012-04-25 11:07 ` Hiroshi DOYU
2012-04-25 11:07 ` [PATCHv3 2/4] ARM: tegra: Add SMMU enabler in AHB Hiroshi DOYU
2012-04-25 11:07   ` Hiroshi DOYU
     [not found]   ` <1335352072-4001-2-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-04-25 11:29     ` Felipe Balbi
2012-04-25 11:29       ` Felipe Balbi
2012-04-25 11:29       ` Felipe Balbi
     [not found]       ` <20120425112950.GC3564-S8G//mZuvNWo5Im9Ml3/Zg@public.gmane.org>
2012-04-25 15:51         ` Stephen Warren
2012-04-25 15:51           ` Stephen Warren
2012-04-25 15:51           ` Stephen Warren
2012-04-26  5:37           ` Hiroshi Doyu
2012-04-26  5:37             ` Hiroshi Doyu
2012-04-26  5:37             ` Hiroshi Doyu
2012-04-26 19:55     ` Stephen Warren [this message]
2012-04-26 19:55       ` Stephen Warren
2012-04-26 19:55       ` Stephen Warren
2012-04-26 20:26       ` Felipe Balbi
2012-04-26 20:26         ` Felipe Balbi
     [not found]         ` <20120426202610.GA30690-S8G//mZuvNWo5Im9Ml3/Zg@public.gmane.org>
2012-04-26 20:32           ` Stephen Warren
2012-04-26 20:32             ` Stephen Warren
2012-04-26 20:32             ` Stephen Warren
2012-04-26 20:38             ` Felipe Balbi
2012-04-26 20:38               ` Felipe Balbi
2012-04-27  6:48               ` Hiroshi Doyu
2012-04-27  6:48                 ` Hiroshi Doyu
2012-04-27  6:48                 ` Hiroshi Doyu
     [not found]                 ` <20120427.094826.1181797260264746303.hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-04-27  6:55                   ` Hiroshi Doyu
2012-04-27  6:55                     ` Hiroshi Doyu
2012-04-27  6:55                     ` Hiroshi Doyu
2012-04-27 15:49                 ` Stephen Warren
2012-04-27 15:49                   ` Stephen Warren
2012-04-27 15:49                   ` Stephen Warren
     [not found] ` <1335352072-4001-1-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-04-25 11:07   ` [PATCHv3 3/4] iommu/tegra: smmu: Refrain from accessing to AHB registers Hiroshi DOYU
2012-04-25 11:07     ` Hiroshi DOYU
2012-04-25 11:07     ` Hiroshi DOYU
2012-04-26 19:58     ` Stephen Warren
2012-04-26 19:58       ` Stephen Warren
2012-04-25 11:07   ` [PATCHv3 4/4] ARM: dt: tegra: Add device tree support for AHB Hiroshi DOYU
2012-04-25 11:07     ` Hiroshi DOYU
2012-04-25 11:07     ` Hiroshi DOYU
     [not found]     ` <1335352072-4001-4-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-04-26 20:01       ` Stephen Warren
2012-04-26 20:01         ` Stephen Warren
2012-04-26 20:01         ` Stephen Warren
2012-04-26 19:51   ` [PATCHv3 1/4] ARM: tegra: Add AHB driver Stephen Warren
2012-04-26 19:51     ` Stephen Warren
2012-04-26 19:51     ` Stephen Warren
     [not found]     ` <4F99A740.3080407-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-04-26 21:59       ` Russell King - ARM Linux
2012-04-26 21:59         ` Russell King - ARM Linux
2012-04-26 21:59         ` Russell King - ARM Linux
     [not found]         ` <20120426215903.GH24211-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2012-04-27  5:40           ` Hiroshi Doyu
2012-04-27  5:40             ` Hiroshi Doyu
2012-04-27  5:40             ` Hiroshi Doyu
     [not found]             ` <20120427084015.cb7c8e00c7d9a4cd01faa5ae-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-04-30 14:47               ` Arnd Bergmann
2012-04-30 14:47                 ` Arnd Bergmann
2012-04-30 14:47                 ` Arnd Bergmann
2012-04-25 11:25 ` Felipe Balbi
2012-04-25 11:25   ` Felipe Balbi
2012-04-25 11:25   ` Felipe Balbi
     [not found]   ` <20120425112519.GB3564-S8G//mZuvNWo5Im9Ml3/Zg@public.gmane.org>
2012-04-25 13:01     ` Hiroshi Doyu
2012-04-25 13:01       ` Hiroshi Doyu
2012-04-25 13:01       ` Hiroshi Doyu
2012-05-03 16:05 [PATCHv3 1/4] ARM: tegra: Add Tegra " Hiroshi DOYU
2012-05-03 16:05 ` [PATCHv3 2/4] ARM: tegra: Add SMMU enabler in AHB Hiroshi DOYU
2012-05-03 16:05   ` Hiroshi DOYU
     [not found]   ` <1336061147-10245-2-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-05-03 17:43     ` Stephen Warren
2012-05-03 17:43       ` Stephen Warren
2012-05-03 17:43       ` Stephen Warren

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=4F99A821.2040406@wwwdotorg.org \
    --to=swarren-3lzwwm7+weoh9zmkesr00q@public.gmane.org \
    --cc=balbi-l0cyMroinI0@public.gmane.org \
    --cc=ccross-z5hGa2qSFaRBDgjK7y7TUQ@public.gmane.org \
    --cc=hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
    --cc=hsweeten-3FF4nKcrg1dE2c76skzGb0EOCMrvLtNR@public.gmane.org \
    --cc=jamie-wmLquQDDieKakBO8gow8eQ@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org \
    --cc=linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org \
    --cc=rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org \
    --cc=swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
    --cc=tony-4v6yS6AI5VpBDgjK7y7TUQ@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.