Re: [RFT PATCH 2/2] arm64: dts: qcom: msm8996-xiaomi: fix missing clock populate

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 1 Sept 2023 at 11:18, Krzysztof Kozlowski
<krzysztof.kozlowski@xxxxxxxxxx> wrote:
>
> Commit 338958e30c68 ("arm64: dts: qcom: msm8996-xiaomi: drop simple-bus
> from clocks") removed "simple-bus" compatible from "clocks" node, but
> one of the clocks - divclk1 - is a gpio-gate-clock, which does not have
> CLK_OF_DECLARE.  This means it will not be instantiated if placed in
> some subnode.  Move the clocks to the root node, so regular devices will
> be populated.

I don't think this is a good idea. We have other fixed clocks under
/clocks. And they have been always working. I think the better way
would be to teach clk-gpio to work with CLK_OF_DECLARE

>
> Reported-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx>
> Closes: https://lore.kernel.org/all/CAA8EJprF==p87oN+RiwAiNeURF1JcHGfL2Ez5zxqYPRRbN-hhg@xxxxxxxxxxxxxx/
> Cc: <stable@xxxxxxxxxxxxxxx>
> Fixes: 338958e30c68 ("arm64: dts: qcom: msm8996-xiaomi: drop simple-bus from clocks")
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
> ---
>  .../boot/dts/qcom/msm8996-xiaomi-common.dtsi  | 32 +++++++++----------
>  .../boot/dts/qcom/msm8996-xiaomi-gemini.dts   | 16 ++++------
>  2 files changed, 22 insertions(+), 26 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/msm8996-xiaomi-common.dtsi b/arch/arm64/boot/dts/qcom/msm8996-xiaomi-common.dtsi
> index bcd2397eb373..06f8ff624181 100644
> --- a/arch/arm64/boot/dts/qcom/msm8996-xiaomi-common.dtsi
> +++ b/arch/arm64/boot/dts/qcom/msm8996-xiaomi-common.dtsi
> @@ -11,26 +11,24 @@
>  #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
>
>  / {
> -       clocks {
> -               divclk1_cdc: divclk1 {
> -                       compatible = "gpio-gate-clock";
> -                       clocks = <&rpmcc RPM_SMD_DIV_CLK1>;
> -                       #clock-cells = <0>;
> -                       enable-gpios = <&pm8994_gpios 15 GPIO_ACTIVE_HIGH>;
> +       divclk1_cdc: divclk1 {
> +               compatible = "gpio-gate-clock";
> +               clocks = <&rpmcc RPM_SMD_DIV_CLK1>;
> +               #clock-cells = <0>;
> +               enable-gpios = <&pm8994_gpios 15 GPIO_ACTIVE_HIGH>;
>
> -                       pinctrl-names = "default";
> -                       pinctrl-0 = <&divclk1_default>;
> -               };
> +               pinctrl-names = "default";
> +               pinctrl-0 = <&divclk1_default>;
> +       };
>
> -               divclk4: divclk4 {
> -                       compatible = "fixed-clock";
> -                       #clock-cells = <0>;
> -                       clock-frequency = <32768>;
> -                       clock-output-names = "divclk4";
> +       divclk4: divclk4 {
> +               compatible = "fixed-clock";
> +               #clock-cells = <0>;
> +               clock-frequency = <32768>;
> +               clock-output-names = "divclk4";
>
> -                       pinctrl-names = "default";
> -                       pinctrl-0 = <&divclk4_pin_a>;
> -               };
> +               pinctrl-names = "default";
> +               pinctrl-0 = <&divclk4_pin_a>;
>         };
>
>         gpio-keys {
> diff --git a/arch/arm64/boot/dts/qcom/msm8996-xiaomi-gemini.dts b/arch/arm64/boot/dts/qcom/msm8996-xiaomi-gemini.dts
> index d1066edaea47..f8e9d90afab0 100644
> --- a/arch/arm64/boot/dts/qcom/msm8996-xiaomi-gemini.dts
> +++ b/arch/arm64/boot/dts/qcom/msm8996-xiaomi-gemini.dts
> @@ -20,16 +20,14 @@ / {
>         qcom,pmic-id = <0x20009 0x2000a 0x00 0x00>;
>         qcom,board-id = <31 0>;
>
> -       clocks {
> -               divclk2_haptics: divclk2 {
> -                       compatible = "fixed-clock";
> -                       #clock-cells = <0>;
> -                       clock-frequency = <32768>;
> -                       clock-output-names = "divclk2";
> +       divclk2_haptics: divclk2 {
> +               compatible = "fixed-clock";
> +               #clock-cells = <0>;
> +               clock-frequency = <32768>;
> +               clock-output-names = "divclk2";
>
> -                       pinctrl-names = "default";
> -                       pinctrl-0 = <&divclk2_pin_a>;
> -               };
> +               pinctrl-names = "default";
> +               pinctrl-0 = <&divclk2_pin_a>;
>         };
>  };
>
> --
> 2.34.1
>


-- 
With best wishes
Dmitry



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux