Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752211AbbBRQyn (ORCPT ); Wed, 18 Feb 2015 11:54:43 -0500 Received: from mail-we0-f171.google.com ([74.125.82.171]:44498 "EHLO mail-we0-f171.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751728AbbBRQym (ORCPT ); Wed, 18 Feb 2015 11:54:42 -0500 MIME-Version: 1.0 In-Reply-To: <1424276101-30137-5-git-send-email-lee.jones@linaro.org> References: <1424276101-30137-1-git-send-email-lee.jones@linaro.org> <1424276101-30137-5-git-send-email-lee.jones@linaro.org> From: Rob Herring Date: Wed, 18 Feb 2015 10:54:20 -0600 Message-ID: Subject: Re: [PATCH v2 4/4] clk: dt: Introduce always-on clock domain documentation To: Lee Jones Cc: "linux-arm-kernel@lists.infradead.org" , "linux-kernel@vger.kernel.org" , Mike Turquette , Stephen Boyd , kernel@stlinux.com, "devicetree@vger.kernel.org" Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3047 Lines: 77 On Wed, Feb 18, 2015 at 10:15 AM, Lee Jones wrote: > Signed-off-by: Lee Jones > --- > .../devicetree/bindings/clock/clk-domain.txt | 35 ++++++++++++++++++++++ > 1 file changed, 35 insertions(+) > create mode 100644 Documentation/devicetree/bindings/clock/clk-domain.txt > > diff --git a/Documentation/devicetree/bindings/clock/clk-domain.txt b/Documentation/devicetree/bindings/clock/clk-domain.txt > new file mode 100644 > index 0000000..b86772f5 > --- /dev/null > +++ b/Documentation/devicetree/bindings/clock/clk-domain.txt > @@ -0,0 +1,35 @@ > +Always-on Clock Domain > + > +Some hardware is contains bunches of clocks which must never be > +turned off. If drivers a) fail to obtain a reference to any of > +these or b) give up a previously obtained reference during suspend, > +the common clk framework will attempt to disable them and the > +hardware can fail irrecoverably. Usually, the only way to recover > +from these failures is to restart. How is (b) not a bug? While I think we need something here, I worry that this will be abused to be a list of clocks you have not gotten around to managing. We cannot be changing the DT every time the kernel starts managing a clock. I think this should operate more as always on until claimed. But then you get into drivers having to be aware that the clock started enabled. Also, I feel like we are using DT to work around kernel policy (of turning off clocks). If the policy was to leave on clocks, then we would be trying to put a list of clocks to disable in DT. Rob > + > +To avoid either of these two scenarios from catastrophically > +disabling an otherwise perfectly healthy running system, we have > +implemented a clock domain where clocks are consumed and references > +are taken, thus preventing them from being shut down by the > +framework. > + > +We use the generic clock bindings found in: > + Documentation/devicetree/bindings/clock/clock-bindings.txt > + > +Required properties: > +- compatible : Must be "always-on-clk-domain" > + > +Example: > + > +clk-domain { > + compatible = "always-on-clk-domain"; > + clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>, > + <&clk_s_c0_flexgen CLK_COMPO_DVP>, > + <&clk_s_c0_flexgen CLK_MMC_1>, > + <&clk_s_c0_flexgen CLK_ICN_SBC>, > + <&clk_s_c0_flexgen CLK_ICN_LMI>, > + <&clk_s_c0_flexgen CLK_ICN_CPU>, > + <&clk_s_c0_flexgen CLK_TX_ICN_DMU>, > + <&clk_s_a0_flexgen CLK_IC_LMI0>, > + <&clk_m_a9>; > +}; > -- > 1.9.1 > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/