Re: [PATCH v6 3/7] iommu/exynos: Simplify internal enable/disable functions

From: Joerg Roedel
Date: Thu Nov 10 2016 - 11:40:11 EST


On Tue, Nov 08, 2016 at 02:29:20PM +0100, Marek Szyprowski wrote:
> Remove remaining leftovers of the ref-count related code in the
> __sysmmu_enable/disable functions inline __sysmmu_enable/disable_nocount
> to them. Suspend/resume callbacks now checks if master device is set for
> given SYSMMU controller instead of relying on the activation count.
>
> Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
> ---
> drivers/iommu/exynos-iommu.c | 104 ++++++++++++-------------------------------
> 1 file changed, 29 insertions(+), 75 deletions(-)
>
> diff --git a/drivers/iommu/exynos-iommu.c b/drivers/iommu/exynos-iommu.c
> index 4056228..f45b274 100644
> --- a/drivers/iommu/exynos-iommu.c
> +++ b/drivers/iommu/exynos-iommu.c
> @@ -237,8 +237,8 @@ struct sysmmu_drvdata {
> struct clk *aclk; /* SYSMMU's aclk clock */
> struct clk *pclk; /* SYSMMU's pclk clock */
> struct clk *clk_master; /* master's device clock */
> - int activations; /* number of calls to sysmmu_enable */
> spinlock_t lock; /* lock for modyfying state */
> + int active; /* current status */

Any reason for this being int and not bool? You only assign true/false
later.


Joerg