From mboxrd@z Thu Jan 1 00:00:00 1970 From: Cho KyongHo Subject: Re: [PATCH v11 15/27] iommu/exynos: use convenient macro to handle gate clocks Date: Tue, 18 Mar 2014 20:03:29 +0900 Message-ID: <20140318200329.cc1dca7541b4b1916e5d9d48@samsung.com> References: <20140314140951.3d443a3096e80297c9fecef0@samsung.com> <5323078E.4060903@samsung.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-reply-to: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: iommu-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org Errors-To: iommu-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org To: Sachin Kamat Cc: Linux DeviceTree , Linux Samsung SOC , Prathyush , Grant Grundler , Tomasz Figa , Linux Kernel , Linux IOMMU , Kukjin Kim , Sylwester Nawrocki , Varun Sethi , Antonios Motakis , Linux ARM Kernel , Rahul Sharma List-Id: linux-samsung-soc@vger.kernel.org On Fri, 14 Mar 2014 22:27:59 +0530, Sachin Kamat wrote: > Hi KyongHo, > > On 14 March 2014 19:13, Tomasz Figa wrote: > > Hi KyongHo, > > > > > > On 14.03.2014 06:09, Cho KyongHo wrote: > >> > >> exynos-iommu driver must care about master H/W's gate clock as well as > >> System MMU's gate clock. To enhance readability of the source code, > >> macros to gate/ungate those clocks are defined. > >> > >> Signed-off-by: Cho KyongHo > >> --- > >> drivers/iommu/exynos-iommu.c | 34 ++++++++++++++++++++++------------ > >> 1 file changed, 22 insertions(+), 12 deletions(-) > >> > >> diff --git a/drivers/iommu/exynos-iommu.c b/drivers/iommu/exynos-iommu.c > >> index 71e77f1..cef62d0 100644 > >> --- a/drivers/iommu/exynos-iommu.c > >> +++ b/drivers/iommu/exynos-iommu.c > >> @@ -101,6 +101,16 @@ > >> #define REG_PB1_SADDR 0x054 > >> #define REG_PB1_EADDR 0x058 > >> > >> +#define __clk_gate_ctrl(data, clk, en) do { \ > >> + if (data->clk) \ > >> + clk_##en##able(data->clk); \ > >> + } while (0) > >> + > >> +#define __sysmmu_clk_enable(data) __clk_gate_ctrl(data, clk, en) > >> +#define __sysmmu_clk_disable(data) __clk_gate_ctrl(data, clk, dis) > >> +#define __master_clk_enable(data) __clk_gate_ctrl(data, clk_master, > >> en) > >> +#define __master_clk_disable(data) __clk_gate_ctrl(data, clk_master, > >> dis) > >> + > > > > > > I'd say that such macros only obfuscate code, without any gains, as you can > > see in diffstat - this patch adds more lines than it removes. > > > > Please drop this change. > > I agree with Tomasz here. > Are you concerning about using macros or more insertions than deletions? The deletions in this patch are only clk_enable() and clk_disable() but they must be "if (!IS_ERR(clk)) clk_enable(clk)" and "if (!IS_ERR(clk)) clk_disable(clk)". I think use of macro is fancier in that case. Thank you. KyongHo.