From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754166AbcHVCuO (ORCPT ); Sun, 21 Aug 2016 22:50:14 -0400 Received: from mailout3.samsung.com ([203.254.224.33]:34184 "EHLO mailout3.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754070AbcHVCuJ (ORCPT ); Sun, 21 Aug 2016 22:50:09 -0400 X-AuditID: cbfee68e-f79cb6d000006cfe-43-57ba684a87a8 From: Chanwoo Choi To: s.nawrocki@samsung.com, tomasz.figa@gmail.com Cc: mturquette@baylibre.com, sboyd@codeaurora.org, kgene@kernel.org, k.kozlowski@samsung.com, chanwoo@kernel.org, linux-samsung-soc@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Chanwoo Choi Subject: [PATCH 2/2] clk: samsung: exynos5410: Use samsung_cmu_register_one() to simplify code Date: Mon, 22 Aug 2016 11:49:45 +0900 Message-id: <1471834185-20249-3-git-send-email-cw00.choi@samsung.com> X-Mailer: git-send-email 1.8.0 In-reply-to: <1471834185-20249-1-git-send-email-cw00.choi@samsung.com> References: <1471834185-20249-1-git-send-email-cw00.choi@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrJLMWRmVeSWpSXmKPExsWyRsSkUNcrY1e4wYrvKhYTb1xhsbj+5Tmr xesXhhb9j18zW2x6fI3V4mPPPVaLy7vmsFnMOL+PyeLiKVeLw2/aWS1+nOlmsVi16w+jA4/H +xut7B6X+3qZPHbOusvusWlVJ5vH5iX1Hn1bVjF6fN4kF8AexWWTkpqTWZZapG+XwJVxr3kP c8Eu/oqp5x+yNjCu5u1i5OSQEDCRWPHxBTOELSZx4d56ti5GLg4hgRWMElc+bgRyOMCKpt7x h4gvZZR4/3AxI4TzhVGi9/8dFpBuNgEtif0vboA1iAgYStw8pAQSZhZYwCTRsYkdxBYWSJDY d+ocE4jNIqAq8eD0HbByXgFXid5l7hA3yEl82PMIrJxTwE3i4c4frCC2EFDJ3e1vwW6TEDjH LrHoRC87xBwBiW+TD7FA3CkrsekA1C+SEgdX3GCZwCi8gJFhFaNoakFyQXFSepGRXnFibnFp Xrpecn7uJkZgjJz+96xvB+PNA9aHGAU4GJV4eDO0d4ULsSaWFVfmHmI0BdowkVlKNDkfGIl5 JfGGxmZGFqYmpsZG5pZmSuK8CVI/g4UE0hNLUrNTUwtSi+KLSnNSiw8xMnFwSjUw8vhu2Dyx 4TDjz4NWHupyR/mdY7OL3/0QeN/nfvtGd/y6R6oteqvPXFxid43jGdMc7gN6q+4duhzLl8DZ lLVsVeXPRbqz9XYbLnprkRUSKRF38ejxxVcYr/nmNi9l7F17RKhoxU77CdlvC97I71/v0Lxt 8atS22hNJoGSK/O5fy5aZuuS2nHmlRJLcUaioRZzUXEiAMGhL7eMAgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrGIsWRmVeSWpSXmKPExsVy+t9jAV2vjF3hBlOWyltMvHGFxeL6l+es Fq9fGFr0P37NbLHp8TVWi48991gtLu+aw2Yx4/w+JouLp1wtDr9pZ7X4caabxWLVrj+MDjwe 72+0sntc7utl8tg56y67x6ZVnWwem5fUe/RtWcXo8XmTXAB7VAOjTUZqYkpqkUJqXnJ+SmZe uq2Sd3C8c7ypmYGhrqGlhbmSQl5ibqqtkotPgK5bZg7QnUoKZYk5pUChgMTiYiV9O0wTQkPc dC1gGiN0fUOC4HqMDNBAwhrGjHvNe5gLdvFXTD3/kLWBcTVvFyMHh4SAicTUO/5djJxAppjE hXvr2boYuTiEBJYySrx/uJgRwvnCKNH7/w4LSBWbgJbE/hc32ECaRQQMJW4eUgIJMwssYJLo 2MQOYgsLJEjsO3WOCcRmEVCVeHD6Dlg5r4CrRO8yd4hdchIf9jwCK+cUcJN4uPMHK4gtBFRy d/tbtgmMvAsYGVYxSqQWJBcUJ6XnGuWllusVJ+YWl+al6yXn525iBMfhM+kdjId3uR9iFOBg VOLhfcG6K1yINbGsuDL3EKMEB7OSCK99GlCINyWxsiq1KD++qDQntfgQoynQXROZpUST84Ep Iq8k3tDYxMzI0sjc0MLI2FxJnPfx/3VhQgLpiSWp2ampBalFMH1MHJxSDYxT98l8V391nMkz 2CpyS0HLhcnbWddt/BBRN+eT9kz7xWfNn7ZNmafje7ZKT0balVmzN3lZb2Gi/pdZEh37C+61 eFdN5LvflZDy74HCzPfZlS8+r62/MvfCx19XlrmzruDzCNrFO5/lkNaNVPELxcczF9c+trhq l35VfcXV34sDmlj+pqbGb21TYinOSDTUYi4qTgQA8nFQvtkCAAA= DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch uses the samsung_cmu_register_one() to simplify code and move the pll/mux/div/gate data to initconst section. Signed-off-by: Chanwoo Choi --- drivers/clk/samsung/clk-exynos5410.c | 33 +++++++++++++-------------------- 1 file changed, 13 insertions(+), 20 deletions(-) diff --git a/drivers/clk/samsung/clk-exynos5410.c b/drivers/clk/samsung/clk-exynos5410.c index 54ec486a5e45..5488a4460c15 100644 --- a/drivers/clk/samsung/clk-exynos5410.c +++ b/drivers/clk/samsung/clk-exynos5410.c @@ -230,29 +230,22 @@ static const struct samsung_pll_clock exynos5410_plls[nr_plls] __initconst = { KPLL_CON0, NULL), }; +static const struct samsung_cmu_info cmu __initconst = { + .pll_clks = exynos5410_plls, + .nr_pll_clks = ARRAY_SIZE(exynos5410_plls), + .mux_clks = exynos5410_mux_clks, + .nr_mux_clks = ARRAY_SIZE(exynos5410_mux_clks), + .div_clks = exynos5410_div_clks, + .nr_div_clks = ARRAY_SIZE(exynos5410_div_clks), + .gate_clks = exynos5410_gate_clks, + .nr_gate_clks = ARRAY_SIZE(exynos5410_gate_clks), + .nr_clk_ids = CLK_NR_CLKS, +}; + /* register exynos5410 clocks */ static void __init exynos5410_clk_init(struct device_node *np) { - struct samsung_clk_provider *ctx; - void __iomem *reg_base; - - reg_base = of_iomap(np, 0); - if (!reg_base) - panic("%s: failed to map registers\n", __func__); - - ctx = samsung_clk_init(np, reg_base, CLK_NR_CLKS); - - samsung_clk_register_pll(ctx, exynos5410_plls, - ARRAY_SIZE(exynos5410_plls), reg_base); - - samsung_clk_register_mux(ctx, exynos5410_mux_clks, - ARRAY_SIZE(exynos5410_mux_clks)); - samsung_clk_register_div(ctx, exynos5410_div_clks, - ARRAY_SIZE(exynos5410_div_clks)); - samsung_clk_register_gate(ctx, exynos5410_gate_clks, - ARRAY_SIZE(exynos5410_gate_clks)); - - samsung_clk_of_add_provider(np, ctx); + samsung_cmu_register_one(np, &cmu); pr_debug("Exynos5410: clock setup completed.\n"); } -- 1.9.1