From patchwork Thu Apr 20 13:16:38 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Szyprowski X-Patchwork-Id: 9690409 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 8FD1A6038D for ; Thu, 20 Apr 2017 13:17:53 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 7D74E28409 for ; Thu, 20 Apr 2017 13:17:53 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 723C4283BA; Thu, 20 Apr 2017 13:17:53 +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=unavailable 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 2888228387 for ; Thu, 20 Apr 2017 13:17:53 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S945617AbdDTNRQ (ORCPT ); Thu, 20 Apr 2017 09:17:16 -0400 Received: from mailout2.w1.samsung.com ([210.118.77.12]:62203 "EHLO mailout2.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S942449AbdDTNRJ (ORCPT ); Thu, 20 Apr 2017 09:17:09 -0400 Received: from eucas1p2.samsung.com (unknown [182.198.249.207]) by mailout2.w1.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTP id <0OOP00IBHM8003A0@mailout2.w1.samsung.com>; Thu, 20 Apr 2017 14:16:48 +0100 (BST) Received: from eusmges2.samsung.com (unknown [203.254.199.241]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20170420131647eucas1p120aa286c938c5fb532c3b226674d4583~3HXku3ZH51198711987eucas1p1D; Thu, 20 Apr 2017 13:16:47 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges2.samsung.com (EUCPMTA) with SMTP id 18.D7.04459.FB4B8F85; Thu, 20 Apr 2017 14:16:47 +0100 (BST) Received: from eusmgms1.samsung.com (unknown [182.198.249.179]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20170420131647eucas1p27a8e65eb92f64f872bfce611ac031700~3HXkDP52i2874628746eucas1p2S; Thu, 20 Apr 2017 13:16:47 +0000 (GMT) X-AuditID: cbfec7f1-f796e6d00000116b-5f-58f8b4bff4fb Received: from eusync1.samsung.com ( [203.254.199.211]) by eusmgms1.samsung.com (EUCPMTA) with SMTP id C4.6C.17452.145B8F85; Thu, 20 Apr 2017 14:18:57 +0100 (BST) Received: from AMDC2765.digital.local ([106.116.147.25]) by eusync1.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTPA id <0OOP00C8KM7TNL60@eusync1.samsung.com>; Thu, 20 Apr 2017 14:16:46 +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 3/4] clk: samsung: exynos-clkout: Convert to the new clk_hw API Date: Thu, 20 Apr 2017 15:16:38 +0200 Message-id: <1492694199-9553-4-git-send-email-m.szyprowski@samsung.com> X-Mailer: git-send-email 1.9.1 In-reply-to: <1492694199-9553-1-git-send-email-m.szyprowski@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrAIsWRmVeSWpSXmKPExsWy7djP87r7t/yIMJg5V9Fi44z1rBbXvzxn tTh/fgO7xceee6wWM87vY7JYe+Quu8XFU64Wh9+0s1r8ONPN4sDp8f5GK7vH5b5eJo9NqzrZ PPq2rGL0+LxJLoA1issmJTUnsyy1SN8ugSvj+NpbjAWnhCrOXJ7P2sB4jb+LkZNDQsBE4tOj OewQtpjEhXvr2boYuTiEBJYySqya1csE4XxmlNh+fgkzTMfijeuYQGwhgWWMEkeue0MUNTBJ /P37FyzBJmAo0fW2iw3EFhFwkPj86TUjSBGzwE4miQk/VwIlODiEBQIlGl+ZgdSwCKhKPJ+3 BOwMXgF3iQX/30Itk5M4eWwyK4jNKeAhMXXSHahT/7NJvD5oBDJGQkBWYtMBqHIXiddf1rJA 2MISr45vgSqXkejsOMgEYfczSjS1akPYMxglzr3lhbCtJQ4fvwi2ilmAT2LStunMEON5JTra hCBKPCQuruqFGuko8eXtGlaI12czSnQvu8A+gVFmASPDKkaR1NLi3PTUYiO94sTc4tK8dL3k /NxNjMB4Pv3v+McdjO9PWB1iFOBgVOLhVVjzI0KINbGsuDL3EKMEB7OSCK/vJqAQb0piZVVq UX58UWlOavEhRmkOFiVxXq5T1yKEBNITS1KzU1MLUotgskwcnFINjFVXu+92Buz+rqcqGXPa VeLLUVOGd84BjNMerP99Tltet7XqbP6Ecxucq04xMVcKc6wwvbo2ckrz86Bb150bvNq2vu3h axTtWdFjf/6rAS+3ukCAQOwrvQseRj3aF791sPwTd3os5c+99r6tRMer6gdt0+QCFvRL7Pj5 /NjZ6K6rZxxvzfN6ocRSnJFoqMVcVJwIADeA14vjAgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrALMWRmVeSWpSXmKPExsVy+t/xy7qOW39EGDydKWSxccZ6VovrX56z Wpw/v4Hd4mPPPVaLGef3MVmsPXKX3eLiKVeLw2/aWS1+nOlmceD0eH+jld3jcl8vk8emVZ1s Hn1bVjF6fN4kF8Aa5WaTkZqYklqkkJqXnJ+SmZduqxQa4qZroaSQl5ibaqsUoesbEqSkUJaY UwrkGRmgAQfnAPdgJX27BLeM42tvMRacEqo4c3k+awPjNf4uRk4OCQETicUb1zFB2GISF+6t ZwOxhQSWMEq8nhQKYTcxSTxZqwBiswkYSnS97QKrERFwkPj86TVjFyMXB7PAbiaJiycfAzkc HMIC/hKnT/mA1LAIqEo8n7eEHcTmFXCXWPD/LTPELjmJk8cms4LYnAIeElMn3WGH2OUucWrb KtYJjLwLGBlWMYqklhbnpucWG+oVJ+YWl+al6yXn525iBIb2tmM/N+9gvLQx+BCjAAejEg+v wpofEUKsiWXFlbmHGCU4mJVEeH03AYV4UxIrq1KL8uOLSnNSiw8xmgIdNZFZSjQ5Hxh3eSXx hiaG5paGRsYWFuZGRkrivCUfroQLCaQnlqRmp6YWpBbB9DFxcEo1MCoH/J9TknrF6jLfIqt7 Pp2zDnT8ETknf6V//bKOPPY536+1frOb5nowSz764V4fR87i/emht30kXLXc6k2fTVo9e44M 77oZajWLuprMdz7g9FHXNE6ffKGMw2yhRtCN5O2zc75rnL9RkvP/wbJLzIev+ZgE3H+64ojZ tYLPK003yD5oLZ/6q1GJpTgj0VCLuag4EQCpNJDlgwIAAA== X-MTR: 20000000000000000@CPGS X-CMS-MailID: 20170420131647eucas1p27a8e65eb92f64f872bfce611ac031700 X-Msg-Generator: CA X-Sender-IP: 182.198.249.179 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: 20170420131647eucas1p27a8e65eb92f64f872bfce611ac031700 X-RootMTR: 20170420131647eucas1p27a8e65eb92f64f872bfce611ac031700 References: <1492694199-9553-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: