From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pf1-f171.google.com (mail-pf1-f171.google.com [209.85.210.171]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7EBED20C029 for ; Thu, 26 Mar 2026 13:39:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.171 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774532375; cv=none; b=n57746dOCSdKbN7tJbooDkNoc932WbQG5sXxiwueHgrbxogvBVia+sjdgpamjChqcruE0fV3cAWcO/PNZlesmpkOJUk6yLs7MfgFzH4Sz9P/5CWT543IA9KibtbvbyRMoEho7lzlkgxWWMDK8xx+bvIcwYYUeIPBGvFaNje58+U= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774532375; c=relaxed/simple; bh=JkgrpngiL+BEeaapm2HsfEabVVknDSBXGysIaqseEg0=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=R3kkZgPA85blmn8+kJ/jhdFv9bar4wd5Az0mKZcyuFei9GEWdQGICL6/rGG6MD2ZTdAm/7G8EEBwH7S598IL4SLd472o2QbJDnXz3QgH64Q/gi6Sik3EsxWOlGwG4WagIwsfNtIHF0YhcSW4WCg629VrlsJjtdJEIFP+k0oFoBg= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=DHmpZeot; arc=none smtp.client-ip=209.85.210.171 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="DHmpZeot" Received: by mail-pf1-f171.google.com with SMTP id d2e1a72fcca58-8299f1ca894so502972b3a.2 for ; Thu, 26 Mar 2026 06:39:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774532374; x=1775137174; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=yGSjpvKZZs8UcqAPmpfnz9AxdNUGLCzJ29ws53Cs8es=; b=DHmpZeotoBgXvuf6VumIs6SBR4Ur6EFfsd5sAnKT60/NpTgZ9XdgAv7dj6ncXW3Ydc aHNXLBTl/Q3EIRjE7/aqGwX1HaLgv6lPXpjSL+ivoRZ/iA2RIM0+qcwjLo82/8SaEsl5 LCA6eMqWR1RqAELVOT5/mYdLh8e+HoiMh2DEF4zVbEVsT4ExxQVJjmNa39DWPPpCWLea MTbibXs0ZBgxc3pahOYsQWNwzxJDT3YsUv9uO/SfvpxkuP3UNrzz99tPfY1WtTuhud4X bVEvJdVfnHKIiI2jcVIRFMIEt2jlLm4gxxvS4dcHB5PLCkRhSXBTIaJkGyCVPp40OLOJ YKjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774532374; x=1775137174; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=yGSjpvKZZs8UcqAPmpfnz9AxdNUGLCzJ29ws53Cs8es=; b=fXXf8pZzMD37D1czFIUAfZxcIpxLtm0yYCN6qz2tl2Pm5OYy17/w2GOYMi0v+RfoXU aWcwV7nzE9KAo6EfuKu/9s1A47XJ0ppWP5mmsBBV3K02MdfB8/Wqie92f6Ujggxi1VOW 0gyUhLnq0VWt2WKUxb/xslprFiXnRRpCXHjSCK6yvzKFgQx8O7QSZw3Vwgmur8mQY1WY Tsdx2keK5vjiGknfLOqte61teWlHFRjVbOPpnPAxYhAw5/50W0hy5EnY9otei8lixJmI FUdKACBlhJVGk1D/ap9ltV4SaZm1xai1V0XxCuouGfs3lTCXWg0VKx8+idsfwjVTMlTV EueQ== X-Forwarded-Encrypted: i=1; AJvYcCUoVQGigO3wsoITgptcLdlq5i/s3xsmHGZufnL/DK4ppXlV626e3VU8+RflX84hFuU2uBC1n2/1iirRxVI=@vger.kernel.org X-Gm-Message-State: AOJu0YyQEcbOezAxXhzU2Cka3fIIiGPUCCjty8Ek80gUoQ770f4Hnd/p kJgZqXyQ0ZIzLwgPiM7g3+5Aa6Jzm2jn8TTNTDkFf+svmGlerH6kVe8S X-Gm-Gg: ATEYQzwF/fZxysKiE34/YkUscdsOoh42jgTKPn6XgMYNiSgrYm/d0NPi2IjZen5FA0n R8fxHbOQQ6w3w850xgiQI1PaJGjwA7FYA84RllJ3WiKeDCHY7zJplbHwyMRwCw1n3a0Kef0Ypk9 zefyFlJjpYVrT8h7OB+qp/KsXvdGLsEjEc5q9CHl77lEprALEPDmy0zuFTJKjYzBosMdzS5glPD x0TvZ9mzRw3vaXLkXhdoAZaZ3UsTGEH/j8oWcIqLH5skzYWzh2o1GIjmy613DpofFpMLLzTFrej ymaswUl/Y+/iqlvNN83Q7wJvSuiHIAcSDCtt075S7hZirDwbpsm8etjzNgL5UoxtztZeL6mJCL+ gnAO6fWl7EGbuF+MnS9ZhSCLIF9oT6KXl5vKQNZcTNBcftwpwqrRCTx6+wmqJ8uu3k0KiMK8RX+ Dhvh0slTIUU9Wpk/5m70fmCGhqQDWbGPuoSCf05TLP X-Received: by 2002:aa7:88c7:0:b0:81f:3afe:281e with SMTP id d2e1a72fcca58-82c6de8c9damr7486345b3a.3.1774532369606; Thu, 26 Mar 2026 06:39:29 -0700 (PDT) Received: from [10.55.234.194] ([129.227.3.138]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-82c7d3ca803sm2841015b3a.50.2026.03.26.06.39.24 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 26 Mar 2026 06:39:28 -0700 (PDT) Message-ID: <4d575f17-5cd5-495c-99a9-176b3393d54d@gmail.com> Date: Thu, 26 Mar 2026 14:39:22 +0100 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 2/2] dt-bindings: Add clock guard DT description To: Krzysztof Kozlowski , Conor Dooley Cc: Rob Herring , Vyacheslav Yurkov , Michael Turquette , Stephen Boyd , Krzysztof Kozlowski , Conor Dooley , linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org, devicetree@vger.kernel.org References: <20260318-feature-clock-guard-v1-0-6137cb4084b7@bruker.com> <20260318-feature-clock-guard-v1-2-6137cb4084b7@bruker.com> <20260318225510.GA639444-robh@kernel.org> <7c7034a7-686a-42c2-bdba-6f31b5179f7c@gmail.com> <20260319-yearly-wrongful-883f7fd86a69@spud> <20260323-sanctuary-semantic-432089feb1c7@spud> <8e7d0c53-aa23-4514-81a5-335a76bb0c45@kernel.org> Content-Language: en-US From: Vyacheslav Yurkov In-Reply-To: <8e7d0c53-aa23-4514-81a5-335a76bb0c45@kernel.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 26.03.2026 11:08, Krzysztof Kozlowski wrote: >> >> DTS example: >> clock_guard: clock_controller_guard { >> compatible = "clock-controller-guard"; >> #clock-cells = <1>; >> clocks = <&h2f_clk 0>, <&clk_fgpa_rx 0>, ; >> clock-names = "h2f_clk0", "clk_fpga_rx", "clk_fpga_tx"; >> gpios = <&fpga_ip 0 GPIO_ACTIVE_HIGH>, <&fpga_ip 1 GPIO_ACTIVE_HIGH>; >> gpio-names = "gpio-input0", "gpio-input1"; >> clock-output-names = "clkctrl-guard"; >> }; >> >> custom_device { >> compatible = "..."; >> ... >> #clock-cells = <1>; >> clocks = <&clock_guard 0>; >> clock-names = "clock-guard"; >> }; > > So a pure SW construct? Device has specific clock inputs but you do not > model them and instead replace with one fake-guard-input. > > I don't see how this represents the hardware at all. > > Maybe some diagrams would help, assuming we still talk about hardware. > > Best regards, > Krzysztof Techincally that's correct, it's a software construct. If this is not a right place to submit such a helper driver, I'd appreciate a hint what subsystem is the right one. I was not sure how to provide a diagram in the mailing list, so I posted in on Github https://github.com/OSS-Keepers/clock-controller-guard/issues/1 It is a driver which models dependencies for other drivers. These are soft or "indirect" dependencies, because we cannot access the FPGA unless the FPGA_PLL_locked, and GPIO is telling us we are good to go. Conor, I think this should answer your question as well. Thanks, Slava