[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <52AF474F.7080701@wwwdotorg.org>
Date: Mon, 16 Dec 2013 11:32:47 -0700
From: Stephen Warren <swarren@...dotorg.org>
To: Hiroshi Doyu <hdoyu@...dia.com>, swarren@...dia.com,
will.deacon@....com, grant.likely@...aro.org,
thierry.reding@...il.com, robherring2@...il.com, joro@...tes.org
CC: mark.rutland@....com, devicetree@...r.kernel.org,
lorenzo.pieralisi@....com, linux-kernel@...r.kernel.org,
iommu@...ts.linux-foundation.org, galak@...eaurora.org,
linux-tegra@...r.kernel.org, linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCHv7 02/12] iommu/of: introduce a global iommu device list
On 12/12/2013 12:57 AM, Hiroshi Doyu wrote:
> This enables to find an populated IOMMU device via a device node. This
> can be used to see if an dependee IOMMU is populated or not to keep
> correct device population order. Client devices need to wait an IOMMU
> to be populated.
>
> Suggested by Thierry Reding and copied his example code.
> diff --git a/drivers/iommu/of_iommu.c b/drivers/iommu/of_iommu.c
> +static struct iommu *of_find_iommu_by_node(struct device_node *np)
> +{
> + struct iommu *iommu;
> +
> + mutex_lock(&iommus_lock);
> + list_for_each_entry(iommu, &iommus_list, list) {
> + if (iommu->dev->of_node == np) {
> + mutex_unlock(&iommus_lock);
Now that the list is unlocked, the IOMMU could be removed from the list,
and the driver unregistered. Should you do something like
iommu_get(iommu); before the mutex_unlock() call, and call iommu_put()
somewhere (i.e. in the next patch ...)?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists