Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 26155C64ED6 for ; Wed, 22 Feb 2023 02:02:42 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230221AbjBVCCl (ORCPT ); Tue, 21 Feb 2023 21:02:41 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38450 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229779AbjBVCCi (ORCPT ); Tue, 21 Feb 2023 21:02:38 -0500 Received: from loongson.cn (mail.loongson.cn [114.242.206.163]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 01C793345F; Tue, 21 Feb 2023 18:02:33 -0800 (PST) Received: from loongson.cn (unknown [10.20.42.35]) by gateway (Coremail) with SMTP id _____8CxEZSzd_Vj+WgDAA--.1475S3; Wed, 22 Feb 2023 10:02:27 +0800 (CST) Received: from [10.20.42.35] (unknown [10.20.42.35]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Dxrb6cd_VjO1I4AA--.42644S3; Wed, 22 Feb 2023 10:02:04 +0800 (CST) Subject: Re: [PATCH v10 2/4] clk: clk-loongson2: add clock controller driver support To: Stephen Boyd , Huacai Chen , Jianmin Lv , Jiaxun Yang , Krzysztof Kozlowski , Michael Turquette , Rob Herring , WANG Xuerui , Yang Li , devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, liupeibao@loongson.cn, loongarch@lists.linux.dev, wanghongliang@loongson.cn References: <20221129034157.15036-1-zhuyinbo@loongson.cn> <20221129034157.15036-2-zhuyinbo@loongson.cn> <31c690a347f858a477bbba9c838984ed.sboyd@kernel.org> <4b5fd886-57ce-01ef-8224-432898b7fb1c@loongson.cn> <8332a1cf44b01f06bdd5db9dc5d7f387.sboyd@kernel.org> <01ee3dc6-a868-fd2b-93aa-11e6bdfcc9df@loongson.cn> <9e8952c9415973dc7276185e3cdf5ae7.sboyd@kernel.org> From: zhuyinbo Message-ID: Date: Wed, 22 Feb 2023 10:02:04 +0800 User-Agent: Mozilla/5.0 (X11; Linux loongarch64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 In-Reply-To: <9e8952c9415973dc7276185e3cdf5ae7.sboyd@kernel.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US X-CM-TRANSID: AQAAf8Dxrb6cd_VjO1I4AA--.42644S3 X-CM-SenderInfo: 52kx5xhqerqz5rrqw2lrqou0/ X-Coremail-Antispam: 1Uk129KBjvJXoW7Kw4xtw45CF1DZw4xJry7ZFb_yoW8AF1Upr ZxZay7KF4qqr42vwnFga1UAas09F43tF17Zw4ftw1DCa4qk345ur4UXFn5CF93Jr43W3yv qr1kta17CFyq9rJanT9S1TB71UUUUjDqnTZGkaVYY2UrUUUUj1kv1TuYvTs0mT0YCTnIWj qI5I8CrVACY4xI64kE6c02F40Ex7xfYxn0WfASr-VFAUDa7-sFnT9fnUUIcSsGvfJTRUUU bDkFc2x0x2IEx4CE42xK8VAvwI8IcIk0rVWrJVCq3wAFIxvE14AKwVWUXVWUAwA2ocxC64 kIII0Yj41l84x0c7CEw4AK67xGY2AK021l84ACjcxK6xIIjxv20xvE14v26ryj6F1UM28E F7xvwVC0I7IYx2IY6xkF7I0E14v26r4j6F4UM28EF7xvwVC2z280aVAFwI0_Cr0_Gr1UM2 8EF7xvwVC2z280aVCY1x0267AKxVW8Jr0_Cr1UM2kKe7AKxVWUAVWUtwAS0I0E0xvYzxvE 52x082IY62kv0487Mc804VCY07AIYIkI8VC2zVCFFI0UMc02F40EFcxC0VAKzVAqx4xG6I 80ewAv7VC0I7IYx2IY67AKxVWUAVWUtwAv7VC2z280aVAFwI0_Jr0_Gr1lOx8S6xCaFVCj c4AY6r1j6r4UM4x0Y48IcVAKI48JMxk0xIA0c2IEe2xFo4CEbIxvr21lc7CjxVAaw2AFwI 0_JF0_Jw1l42xK82IYc2Ij64vIr41l42xK82IY6x8ErcxFaVAv8VWrMxC20s026xCaFVCj c4AY6r1j6r4UMxCIbckI1I0E14v26r126r1DMI8I3I0E5I8CrVAFwI0_Jr0_Jr4lx2IqxV Cjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWUtVW8ZwCIc40Y0x0EwIxGrwCI42IY 6xIIjxv20xvE14v26r1I6r4UMIIF0xvE2Ix0cI8IcVCY1x0267AKxVW8JVWxJwCI42IY6x AIw20EY4v20xvaj40_Jr0_JF4lIxAIcVC2z280aVAFwI0_Jr0_Gr1lIxAIcVC2z280aVCY 1x0267AKxVW8JVW8JrUvcSsGvfC2KfnxnUUI43ZEXa7IU8FAp5UUUUU== Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 在 2023/2/22 上午7:07, Stephen Boyd 写道: > Quoting zhuyinbo (2023-02-19 21:44:51) >> 在 2023/2/18 上午6:15, Stephen Boyd 写道: >>> Quoting zhuyinbo (2023-02-14 23:35:22) >>>> 在 2023/2/11 上午7:42, Stephen Boyd 写道: >>>>>> + >>>>>> +err: >>>>>> + iounmap(loongson2_pll_base); >>>>>> +} >>>>>> + >>>>>> +CLK_OF_DECLARE(loongson2_clk, "loongson,ls2k-clk", loongson2_clocks_init); >>>>> Any reason this can't be a platform driver? >> Your question is that  why I don't use the platform_driver_register to >> register  clk and use CLK_OF_DECLARE ? > Yes. > >> I was  consider other clock controllers of Loongson-2 series may be >> different with 2k1000 and I can add a line >> >> CLK_OF_DECLARE() for compatible other platform in the future. eg. >> >> CLK_OF_DECLARE(loongson2_clk, "loongson,ls2k-clk", loongson2_clocks_init); >> >> +  CLK_OF_DECLARE(xxx1, xxx2,  xxx3);  // for other clock controllers of >> Loongson-2 series >> >>>> For the compatible consideration of other clock controllers of >>>> Loongson-2 series in the future, the way of using dts can be >>>> >>>> better compatible. >>>> >>> Sorry that sentence doesn't make sense to me. The use of dts doesn't >>> require the use of CLK_OF_DECLARE. >> yes, the use of dts doesn't require the use of CLK_OF_DECLARE and can >> use platform_driver_register >> >> but my drvier not use platform_driver_register to register  clk and use >> CLK_OF_DECLARE to match of_clk_init. > of_clk_init() is there to register clks that are needed for early init, > i.e. the clockevent/clocksource or the root interrupt controller > (irqchip). Otherwise, it isn't necessary to register clks via > of_clk_init(). okay, I got it.