From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933405AbcATGio (ORCPT ); Wed, 20 Jan 2016 01:38:44 -0500 Received: from mail-wm0-f68.google.com ([74.125.82.68]:36289 "EHLO mail-wm0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751342AbcATGif (ORCPT ); Wed, 20 Jan 2016 01:38:35 -0500 MIME-Version: 1.0 In-Reply-To: References: <1452219400-32478-1-git-send-email-xuejiancheng@huawei.com> <1452219400-32478-2-git-send-email-xuejiancheng@huawei.com> <20160112221211.GB22188@codeaurora.org> <5695BE65.3070409@huawei.com> <20160113185707.1168.85601@quark.deferred.io> <56979F9F.5080201@huawei.com> <5698A650.5010600@huawei.com> From: Tomeu Vizoso Date: Wed, 20 Jan 2016 07:38:13 +0100 X-Google-Sender-Auth: qzmbSxmj7dR3V93d5-QahadNT7o Message-ID: Subject: Re: [PATCH v5 1/6] clk: hisilicon: add CRG driver for hi3519 soc To: Rob Herring Cc: xuejiancheng , Michael Turquette , Stephen Boyd , Philipp Zabel , Pawel Moll , Mark Rutland , Ian Campbell , Kumar Gala , Russell King - ARM Linux , Kevin Hilman , Arnd Bergmann , Olof Johansson , Wei Xu , Haojian Zhuang , Zhangfei Gao , Bintian Wang , "linux-kernel@vger.kernel.org" , linux-clk , "devicetree@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , yanhaifeng@hisilicon.com, yanghongwei@hisilicon.com, suwenping@hisilicon.com, ml.yang@hisilicon.com, gaofei@hisilicon.com, zhangzhenxing@hisilicon.com, xuejiancheng@hisilicon.com Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 19 January 2016 at 19:20, Rob Herring wrote: > On Fri, Jan 15, 2016 at 1:57 AM, xuejiancheng wrote: >> >> On 2016/1/14 21:16, xuejiancheng wrote: >>> Hi Mike, >>> >>> On 2016/1/14 2:57, Michael Turquette wrote: >>>> Quoting xuejiancheng (2016-01-12 19:03:01) >>>>> Hi Stephen, >>>>> Thank you very much for your reply. >>>>> >>>>> On 2016/1/13 6:12, Stephen Boyd wrote: >>>>>> On 01/08, Jiancheng Xue wrote: >>>>>>> diff --git a/drivers/clk/hisilicon/Kconfig b/drivers/clk/hisilicon/Kconfig >>>>>>> index e434854..b6baebf 100644 >>>>>>> --- a/drivers/clk/hisilicon/Kconfig >>>>>>> +++ b/drivers/clk/hisilicon/Kconfig >>>>>>> @@ -1,3 +1,10 @@ >>>>>>> +config COMMON_CLK_HI3519 >>>>>>> + tristate "Clock Driver for Hi3519" >>>>>> >>>>>> It looks like this has to be bool. Otherwise it needs to be a >>>>>> platform driver and the hisilicon APIs need to be exported and >>>>>> lose their __init markings. >>>>>> >>>>> Yes,it's a problem. I will fix it in next version. Thank you. >>>> >>>> The best solution would be to make this clock driver a real platform >>>> driver. >>>> >>> Now the work clock of the clocksource timer-sp804 is provided by this driver. So >>> it need to be registered early by CLK_OF_DECLARE. If the timer clock is treated >>> as a fixed-clock provider, this driver can be implemented as a platform driver. >>> Then the crg device must be registered before other clock consumer devices.Accordingly >>> the crg device node must be written above all other clock consumer devices node in dts files. >>> I think it is also a dependence. >>> >>> Can you help me understand why it is better to make this driver a platform driver? >>> Thank you very much! >>> >> arch_initcall(customize_machine) >> -->of_platform_populate >> -->of_platform_bus_create >> -->of_amba_device_create >> -->amba_device_add >> -->amba_get_enable_pclk >> The call sequence above shows that the clock of the amba device must be registered before >> amba_device_add. The clock of "arm,pl011" uart is registered in the probe function of the >> platform driver "hi3519-crg". So the platform device "hi3519-crg" must be created before >> the amba device "arm,pl011" uart. > > It is a problem, but Tomeu had a fix to support deferred probes here. > That was part of the on-demand probing series, but maybe it needs to > be applied separately if we are moving clock drivers to platform > drivers. Hi, Marek Szyprowski has kindly taken those two patches as part of a series of him: http://lkml.kernel.org/g/1450868368-5650-1-git-send-email-m.szyprowski@samsung.com I think it would be great if you could test them and report. Thanks, Tomeu From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tomeu Vizoso Subject: Re: [PATCH v5 1/6] clk: hisilicon: add CRG driver for hi3519 soc Date: Wed, 20 Jan 2016 07:38:13 +0100 Message-ID: References: <1452219400-32478-1-git-send-email-xuejiancheng@huawei.com> <1452219400-32478-2-git-send-email-xuejiancheng@huawei.com> <20160112221211.GB22188@codeaurora.org> <5695BE65.3070409@huawei.com> <20160113185707.1168.85601@quark.deferred.io> <56979F9F.5080201@huawei.com> <5698A650.5010600@huawei.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Return-path: In-Reply-To: Sender: linux-clk-owner@vger.kernel.org To: Rob Herring Cc: xuejiancheng , Michael Turquette , Stephen Boyd , Philipp Zabel , Pawel Moll , Mark Rutland , Ian Campbell , Kumar Gala , Russell King - ARM Linux , Kevin Hilman , Arnd Bergmann , Olof Johansson , Wei Xu , Haojian Zhuang , Zhangfei Gao , Bintian Wang , "linux-kernel@vger.kernel.org" , linux-clk , "devicetree@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , yanhaifeng@hisilic List-Id: devicetree@vger.kernel.org On 19 January 2016 at 19:20, Rob Herring wrote: > On Fri, Jan 15, 2016 at 1:57 AM, xuejiancheng wrote: >> >> On 2016/1/14 21:16, xuejiancheng wrote: >>> Hi Mike, >>> >>> On 2016/1/14 2:57, Michael Turquette wrote: >>>> Quoting xuejiancheng (2016-01-12 19:03:01) >>>>> Hi Stephen, >>>>> Thank you very much for your reply. >>>>> >>>>> On 2016/1/13 6:12, Stephen Boyd wrote: >>>>>> On 01/08, Jiancheng Xue wrote: >>>>>>> diff --git a/drivers/clk/hisilicon/Kconfig b/drivers/clk/hisilicon/Kconfig >>>>>>> index e434854..b6baebf 100644 >>>>>>> --- a/drivers/clk/hisilicon/Kconfig >>>>>>> +++ b/drivers/clk/hisilicon/Kconfig >>>>>>> @@ -1,3 +1,10 @@ >>>>>>> +config COMMON_CLK_HI3519 >>>>>>> + tristate "Clock Driver for Hi3519" >>>>>> >>>>>> It looks like this has to be bool. Otherwise it needs to be a >>>>>> platform driver and the hisilicon APIs need to be exported and >>>>>> lose their __init markings. >>>>>> >>>>> Yes,it's a problem. I will fix it in next version. Thank you. >>>> >>>> The best solution would be to make this clock driver a real platform >>>> driver. >>>> >>> Now the work clock of the clocksource timer-sp804 is provided by this driver. So >>> it need to be registered early by CLK_OF_DECLARE. If the timer clock is treated >>> as a fixed-clock provider, this driver can be implemented as a platform driver. >>> Then the crg device must be registered before other clock consumer devices.Accordingly >>> the crg device node must be written above all other clock consumer devices node in dts files. >>> I think it is also a dependence. >>> >>> Can you help me understand why it is better to make this driver a platform driver? >>> Thank you very much! >>> >> arch_initcall(customize_machine) >> -->of_platform_populate >> -->of_platform_bus_create >> -->of_amba_device_create >> -->amba_device_add >> -->amba_get_enable_pclk >> The call sequence above shows that the clock of the amba device must be registered before >> amba_device_add. The clock of "arm,pl011" uart is registered in the probe function of the >> platform driver "hi3519-crg". So the platform device "hi3519-crg" must be created before >> the amba device "arm,pl011" uart. > > It is a problem, but Tomeu had a fix to support deferred probes here. > That was part of the on-demand probing series, but maybe it needs to > be applied separately if we are moving clock drivers to platform > drivers. Hi, Marek Szyprowski has kindly taken those two patches as part of a series of him: http://lkml.kernel.org/g/1450868368-5650-1-git-send-email-m.szyprowski@samsung.com I think it would be great if you could test them and report. Thanks, Tomeu From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: MIME-Version: 1.0 Sender: tomeu.vizoso@gmail.com In-Reply-To: References: <1452219400-32478-1-git-send-email-xuejiancheng@huawei.com> <1452219400-32478-2-git-send-email-xuejiancheng@huawei.com> <20160112221211.GB22188@codeaurora.org> <5695BE65.3070409@huawei.com> <20160113185707.1168.85601@quark.deferred.io> <56979F9F.5080201@huawei.com> <5698A650.5010600@huawei.com> From: Tomeu Vizoso Date: Wed, 20 Jan 2016 07:38:13 +0100 Message-ID: Subject: Re: [PATCH v5 1/6] clk: hisilicon: add CRG driver for hi3519 soc To: Rob Herring Cc: xuejiancheng , Michael Turquette , Stephen Boyd , Philipp Zabel , Pawel Moll , Mark Rutland , Ian Campbell , Kumar Gala , Russell King - ARM Linux , Kevin Hilman , Arnd Bergmann , Olof Johansson , Wei Xu , Haojian Zhuang , Zhangfei Gao , Bintian Wang , "linux-kernel@vger.kernel.org" , linux-clk , "devicetree@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , yanhaifeng@hisilicon.com, yanghongwei@hisilicon.com, suwenping@hisilicon.com, ml.yang@hisilicon.com, gaofei@hisilicon.com, zhangzhenxing@hisilicon.com, xuejiancheng@hisilicon.com Content-Type: text/plain; charset=UTF-8 List-ID: On 19 January 2016 at 19:20, Rob Herring wrote: > On Fri, Jan 15, 2016 at 1:57 AM, xuejiancheng wrote: >> >> On 2016/1/14 21:16, xuejiancheng wrote: >>> Hi Mike, >>> >>> On 2016/1/14 2:57, Michael Turquette wrote: >>>> Quoting xuejiancheng (2016-01-12 19:03:01) >>>>> Hi Stephen, >>>>> Thank you very much for your reply. >>>>> >>>>> On 2016/1/13 6:12, Stephen Boyd wrote: >>>>>> On 01/08, Jiancheng Xue wrote: >>>>>>> diff --git a/drivers/clk/hisilicon/Kconfig b/drivers/clk/hisilicon/Kconfig >>>>>>> index e434854..b6baebf 100644 >>>>>>> --- a/drivers/clk/hisilicon/Kconfig >>>>>>> +++ b/drivers/clk/hisilicon/Kconfig >>>>>>> @@ -1,3 +1,10 @@ >>>>>>> +config COMMON_CLK_HI3519 >>>>>>> + tristate "Clock Driver for Hi3519" >>>>>> >>>>>> It looks like this has to be bool. Otherwise it needs to be a >>>>>> platform driver and the hisilicon APIs need to be exported and >>>>>> lose their __init markings. >>>>>> >>>>> Yes,it's a problem. I will fix it in next version. Thank you. >>>> >>>> The best solution would be to make this clock driver a real platform >>>> driver. >>>> >>> Now the work clock of the clocksource timer-sp804 is provided by this driver. So >>> it need to be registered early by CLK_OF_DECLARE. If the timer clock is treated >>> as a fixed-clock provider, this driver can be implemented as a platform driver. >>> Then the crg device must be registered before other clock consumer devices.Accordingly >>> the crg device node must be written above all other clock consumer devices node in dts files. >>> I think it is also a dependence. >>> >>> Can you help me understand why it is better to make this driver a platform driver? >>> Thank you very much! >>> >> arch_initcall(customize_machine) >> -->of_platform_populate >> -->of_platform_bus_create >> -->of_amba_device_create >> -->amba_device_add >> -->amba_get_enable_pclk >> The call sequence above shows that the clock of the amba device must be registered before >> amba_device_add. The clock of "arm,pl011" uart is registered in the probe function of the >> platform driver "hi3519-crg". So the platform device "hi3519-crg" must be created before >> the amba device "arm,pl011" uart. > > It is a problem, but Tomeu had a fix to support deferred probes here. > That was part of the on-demand probing series, but maybe it needs to > be applied separately if we are moving clock drivers to platform > drivers. Hi, Marek Szyprowski has kindly taken those two patches as part of a series of him: http://lkml.kernel.org/g/1450868368-5650-1-git-send-email-m.szyprowski@samsung.com I think it would be great if you could test them and report. Thanks, Tomeu From mboxrd@z Thu Jan 1 00:00:00 1970 From: tomeu.vizoso@collabora.com (Tomeu Vizoso) Date: Wed, 20 Jan 2016 07:38:13 +0100 Subject: [PATCH v5 1/6] clk: hisilicon: add CRG driver for hi3519 soc In-Reply-To: References: <1452219400-32478-1-git-send-email-xuejiancheng@huawei.com> <1452219400-32478-2-git-send-email-xuejiancheng@huawei.com> <20160112221211.GB22188@codeaurora.org> <5695BE65.3070409@huawei.com> <20160113185707.1168.85601@quark.deferred.io> <56979F9F.5080201@huawei.com> <5698A650.5010600@huawei.com> Message-ID: To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On 19 January 2016 at 19:20, Rob Herring wrote: > On Fri, Jan 15, 2016 at 1:57 AM, xuejiancheng wrote: >> >> On 2016/1/14 21:16, xuejiancheng wrote: >>> Hi Mike, >>> >>> On 2016/1/14 2:57, Michael Turquette wrote: >>>> Quoting xuejiancheng (2016-01-12 19:03:01) >>>>> Hi Stephen, >>>>> Thank you very much for your reply. >>>>> >>>>> On 2016/1/13 6:12, Stephen Boyd wrote: >>>>>> On 01/08, Jiancheng Xue wrote: >>>>>>> diff --git a/drivers/clk/hisilicon/Kconfig b/drivers/clk/hisilicon/Kconfig >>>>>>> index e434854..b6baebf 100644 >>>>>>> --- a/drivers/clk/hisilicon/Kconfig >>>>>>> +++ b/drivers/clk/hisilicon/Kconfig >>>>>>> @@ -1,3 +1,10 @@ >>>>>>> +config COMMON_CLK_HI3519 >>>>>>> + tristate "Clock Driver for Hi3519" >>>>>> >>>>>> It looks like this has to be bool. Otherwise it needs to be a >>>>>> platform driver and the hisilicon APIs need to be exported and >>>>>> lose their __init markings. >>>>>> >>>>> Yes,it's a problem. I will fix it in next version. Thank you. >>>> >>>> The best solution would be to make this clock driver a real platform >>>> driver. >>>> >>> Now the work clock of the clocksource timer-sp804 is provided by this driver. So >>> it need to be registered early by CLK_OF_DECLARE. If the timer clock is treated >>> as a fixed-clock provider, this driver can be implemented as a platform driver. >>> Then the crg device must be registered before other clock consumer devices.Accordingly >>> the crg device node must be written above all other clock consumer devices node in dts files. >>> I think it is also a dependence. >>> >>> Can you help me understand why it is better to make this driver a platform driver? >>> Thank you very much! >>> >> arch_initcall(customize_machine) >> -->of_platform_populate >> -->of_platform_bus_create >> -->of_amba_device_create >> -->amba_device_add >> -->amba_get_enable_pclk >> The call sequence above shows that the clock of the amba device must be registered before >> amba_device_add. The clock of "arm,pl011" uart is registered in the probe function of the >> platform driver "hi3519-crg". So the platform device "hi3519-crg" must be created before >> the amba device "arm,pl011" uart. > > It is a problem, but Tomeu had a fix to support deferred probes here. > That was part of the on-demand probing series, but maybe it needs to > be applied separately if we are moving clock drivers to platform > drivers. Hi, Marek Szyprowski has kindly taken those two patches as part of a series of him: http://lkml.kernel.org/g/1450868368-5650-1-git-send-email-m.szyprowski at samsung.com I think it would be great if you could test them and report. Thanks, Tomeu