From patchwork Mon Apr 24 06:42:22 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Szyprowski X-Patchwork-Id: 9695679 X-Patchwork-Delegate: sboyd@codeaurora.org Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 8DADD6037F for ; Mon, 24 Apr 2017 06:42:44 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 8230C2654B for ; Mon, 24 Apr 2017 06:42:44 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 76CEA26BE9; Mon, 24 Apr 2017 06:42:44 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=2.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 1AA8C2654B for ; Mon, 24 Apr 2017 06:42:44 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1165704AbdDXGmn (ORCPT ); Mon, 24 Apr 2017 02:42:43 -0400 Received: from mailout1.w1.samsung.com ([210.118.77.11]:49629 "EHLO mailout1.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1165574AbdDXGmk (ORCPT ); Mon, 24 Apr 2017 02:42:40 -0400 Received: from eucas1p2.samsung.com (unknown [182.198.249.207]) by mailout1.w1.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTP id <0OOW007K1IMWP820@mailout1.w1.samsung.com>; Mon, 24 Apr 2017 07:42:32 +0100 (BST) Received: from eusmges2.samsung.com (unknown [203.254.199.241]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20170424064231eucas1p1c2c881634b285fbe80c1bc4b5c17c444~4QkeYwEWM1143411434eucas1p1P; Mon, 24 Apr 2017 06:42:31 +0000 (GMT) Received: from eucas1p1.samsung.com ( [182.198.249.206]) by eusmges2.samsung.com (EUCPMTA) with SMTP id DB.5F.04459.75E9DF85; Mon, 24 Apr 2017 07:42:31 +0100 (BST) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20170424064231eucas1p2edd27880b5adc7c884e00db54c100cc2~4QkdxwmhZ2653226532eucas1p2M; Mon, 24 Apr 2017 06:42:31 +0000 (GMT) X-AuditID: cbfec7f1-f796e6d00000116b-c9-58fd9e578b69 Received: from eusync3.samsung.com ( [203.254.199.213]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id 95.8C.20206.07E9DF85; Mon, 24 Apr 2017 07:42:56 +0100 (BST) Received: from AMDC2765.digital.local ([106.116.147.25]) by eusync3.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTPA id <0OOW00957IMPRV80@eusync3.samsung.com>; Mon, 24 Apr 2017 07:42:30 +0100 (BST) From: Marek Szyprowski To: linux-clk@vger.kernel.org, linux-samsung-soc@vger.kernel.org Cc: Marek Szyprowski , Stephen Boyd , Michael Turquette , Sylwester Nawrocki , Chanwoo Choi , Krzysztof Kozlowski , Bartlomiej Zolnierkiewicz Subject: [PATCH v2 5/6] clk: samsung: exynos-clkout: Convert to the new clk_hw API Date: Mon, 24 Apr 2017 08:42:22 +0200 Message-id: <1493016143-21569-6-git-send-email-m.szyprowski@samsung.com> X-Mailer: git-send-email 1.9.1 In-reply-to: <1493016143-21569-1-git-send-email-m.szyprowski@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrEIsWRmVeSWpSXmKPExsWy7djPc7rh8/5GGCzcJGuxccZ6VovrX56z Wpw/v4Hd4mPPPVaLGef3MVmsPXKX3eLiKVeLw2/aWS1+nOlmceD0eH+jld3jcl8vk8emVZ1s Hn1bVjF6fN4kF8AaxWWTkpqTWZZapG+XwJUx8f5upoJ/QhXLr7UzNzC2CnQxcnJICJhIPL1+ hhnCFpO4cG89WxcjF4eQwFJGiU0nbzBBOJ8ZJWbuOsIM07H02S92EFtIYBmjxNmpDhBFDUwS e78/AytiEzCU6HrbxQZiiwg4SHz+9JoRpIhZYCeTxISfK8ESwgIhEjMfH2YBsVkEVCUOnD7H CGLzCnhIvD+0lR1im5zEyWOTWUFsTgFPiV/7OsEGSQj8ZpNYu+kkkMMB5MhKbDoAdZ2LxJb+ nVC9whKvjm+BsmUkLk/uZoGw+xklmlq1IewZjBLn3vJC2NYSh49fBNvFLMAnMWnbdGaI8bwS HW1CECUeEsuWzWeEsB0lzuzYzwjx/BxGiaeTtzNPYJRZwMiwilEktbQ4Nz212EivODG3uDQv XS85P3cTIzCmT/87/nEH4/sTVocYBTgYlXh4I77/iRBiTSwrrsw9xCjBwawkwiuW+DdCiDcl sbIqtSg/vqg0J7X4EKM0B4uSOC/XqWsRQgLpiSWp2ampBalFMFkmDk6pBkbZM44q5fcWTN9+ 5euRL7+Pa794ktChsKHz0FQ1lsXx71f9t0/gClyyxDA5VLTe65WXLN+32a0ae3Rvuq/teHb4 sKyAeJyOYMpTVf7s0FovIe77QX5WshqTJ84/dX8Ba/a6rBuvzySL7T5as7VxuarCVH6r8/Z5 Gmdtr07KPXTvqqVUuqrTnRtKLMUZiYZazEXFiQBpnTkd5QIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrMLMWRmVeSWpSXmKPExsVy+t/xq7oF8/5GGMx/ZWSxccZ6VovrX56z Wpw/v4Hd4mPPPVaLGef3MVmsPXKX3eLiKVeLw2/aWS1+nOlmceD0eH+jld3jcl8vk8emVZ1s Hn1bVjF6fN4kF8Aa5WaTkZqYklqkkJqXnJ+SmZduqxQa4qZroaSQl5ibaqsUoesbEqSkUJaY UwrkGRmgAQfnAPdgJX27BLeMifd3MxX8E6pYfq2duYGxVaCLkZNDQsBEYumzX+wQtpjEhXvr 2boYuTiEBJYwSmydtIEJwmlikrh8eSErSBWbgKFE19suNhBbRMBB4vOn14wgRcwCu5kkLp58 zAiSEBYIkZi8uQ1sLIuAqsSB0+fA4rwCHhLvD22FWicncfLYZLChnAKeEr/2dYLVCAHVdFxY xDKBkXcBI8MqRpHU0uLc9NxiI73ixNzi0rx0veT83E2MwADfduznlh2MXe+CDzEKcDAq8fBG fP8TIcSaWFZcmXuIUYKDWUmEVyzxb4QQb0piZVVqUX58UWlOavEhRlOgoyYyS4km5wOjL68k 3tDE0NzS0MjYwsLcyEhJnHfqhyvhQgLpiSWp2ampBalFMH1MHJxSDYwNm42OLa9MO2W6RdG/ V06wx21tSOC7ZSeqEhcdvx4rWXptItsEN9dZC/jjbhWz3qnmX2t31KF/1qNG25Wm24pPL/wr e+ei+0mTpMRvXosWCW61a+bJdHr0oHCHvKtZalx71P7kudWZKhwTxLJuJ3ZtMsqSEOL1ZT36 wEyMO84hOT9a0Ta+TImlOCPRUIu5qDgRANgovoKGAgAA X-MTR: 20000000000000000@CPGS X-CMS-MailID: 20170424064231eucas1p2edd27880b5adc7c884e00db54c100cc2 X-Msg-Generator: CA X-Sender-IP: 182.198.249.180 X-Local-Sender: =?UTF-8?B?TWFyZWsgU3p5cHJvd3NraRtTUlBPTC1LZXJuZWwgKFRQKRs=?= =?UTF-8?B?7IK87ISx7KCE7J6QG1NlbmlvciBTb2Z0d2FyZSBFbmdpbmVlcg==?= X-Global-Sender: =?UTF-8?B?TWFyZWsgU3p5cHJvd3NraRtTUlBPTC1LZXJuZWwgKFRQKRtT?= =?UTF-8?B?YW1zdW5nIEVsZWN0cm9uaWNzG1NlbmlvciBTb2Z0d2FyZSBFbmdpbmVlcg==?= X-Sender-Code: =?UTF-8?B?QzEwG0VIURtDMTBDRDAyQ0QwMjczOTI=?= CMS-TYPE: 201P X-HopCount: 7 X-CMS-RootMailID: 20170424064231eucas1p2edd27880b5adc7c884e00db54c100cc2 X-RootMTR: 20170424064231eucas1p2edd27880b5adc7c884e00db54c100cc2 References: <1493016143-21569-1-git-send-email-m.szyprowski@samsung.com> Sender: linux-clk-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-clk@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Clock providers should use the new struct clk_hw based API, so convert Exynos CLKOUT clock provider to the new approach. Signed-off-by: Marek Szyprowski Reviewed-by: Krzysztof Kozlowski --- drivers/clk/samsung/clk-exynos-clkout.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/drivers/clk/samsung/clk-exynos-clkout.c b/drivers/clk/samsung/clk-exynos-clkout.c index 6c6afb87b4ce..a21aea062bae 100644 --- a/drivers/clk/samsung/clk-exynos-clkout.c +++ b/drivers/clk/samsung/clk-exynos-clkout.c @@ -29,10 +29,9 @@ struct exynos_clkout { struct clk_gate gate; struct clk_mux mux; spinlock_t slock; - struct clk_onecell_data data; - struct clk *clk_table[EXYNOS_CLKOUT_NR_CLKS]; void __iomem *reg; u32 pmu_debug_save; + struct clk_hw_onecell_data data; }; static struct exynos_clkout *clkout; @@ -62,7 +61,9 @@ static void __init exynos_clkout_init(struct device_node *node, u32 mux_mask) int ret; int i; - clkout = kzalloc(sizeof(*clkout), GFP_KERNEL); + clkout = kzalloc(sizeof(*clkout) + + sizeof(*clkout->data.hws) * EXYNOS_CLKOUT_NR_CLKS, + GFP_KERNEL); if (!clkout) return; @@ -100,17 +101,16 @@ static void __init exynos_clkout_init(struct device_node *node, u32 mux_mask) clkout->mux.shift = EXYNOS_CLKOUT_MUX_SHIFT; clkout->mux.lock = &clkout->slock; - clkout->clk_table[0] = clk_register_composite(NULL, "clkout", + clkout->data.hws[0] = clk_hw_register_composite(NULL, "clkout", parent_names, parent_count, &clkout->mux.hw, &clk_mux_ops, NULL, NULL, &clkout->gate.hw, &clk_gate_ops, CLK_SET_RATE_PARENT | CLK_SET_RATE_NO_REPARENT); - if (IS_ERR(clkout->clk_table[0])) + if (IS_ERR(clkout->data.hws[0])) goto err_unmap; - clkout->data.clks = clkout->clk_table; - clkout->data.clk_num = EXYNOS_CLKOUT_NR_CLKS; - ret = of_clk_add_provider(node, of_clk_src_onecell_get, &clkout->data); + clkout->data.num = EXYNOS_CLKOUT_NR_CLKS; + ret = of_clk_add_hw_provider(node, of_clk_hw_onecell_get, &clkout->data); if (ret) goto err_clk_unreg; @@ -119,7 +119,7 @@ static void __init exynos_clkout_init(struct device_node *node, u32 mux_mask) return; err_clk_unreg: - clk_unregister(clkout->clk_table[0]); + clk_hw_unregister(clkout->data.hws[0]); err_unmap: iounmap(clkout->reg); clks_put: