From 175fb4a3cc2b8373fe9266e1aba7e66925ec7da4 Mon Sep 17 00:00:00 2001 From: Tao Huang Date: Wed, 8 Nov 2023 17:39:47 +0800 Subject: [PATCH 1/5] regulator: core: Ensure debugfs is fully initialized regulator->debugfs is NULL when sysfs_create_link_nowarn() return -EEXIST, and triggering the following warning: [ 2.426974] debugfs: File 'uA_load' in directory '/' already present! [ 2.426983] debugfs: File 'min_uV' in directory '/' already present! [ 2.426991] debugfs: File 'max_uV' in directory '/' already present! [ 2.426999] debugfs: File 'constraint_flags' in directory '/' already present! Fixes: 08880713ceec ("regulator: core: Streamline debugfs operations") Fixes: 2715bb11cfff ("regulator: core: Fix more error checking for debugfs_create_dir()") Signed-off-by: Tao Huang Change-Id: Iab0b91cacba410705a643d7198eee4f70e1108d5 --- drivers/regulator/core.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c index f3e98005038f..55dafde400df 100644 --- a/drivers/regulator/core.c +++ b/drivers/regulator/core.c @@ -1924,6 +1924,8 @@ static struct regulator *create_regulator(struct regulator_dev *rdev, if (err != -EEXIST) regulator->debugfs = debugfs_create_dir(supply_name, rdev->debugfs); + else + regulator->debugfs = ERR_PTR(err); if (IS_ERR(regulator->debugfs)) rdev_dbg(rdev, "Failed to create debugfs directory\n"); From 168ce8b0e9496fcbdcb71650bac14264486b2400 Mon Sep 17 00:00:00 2001 From: Sandy Huang Date: Fri, 22 Dec 2023 16:33:42 +0800 Subject: [PATCH 2/5] arm64: dts: rockchip: rk3588: move hdmi phy clk to hdmiphy hdmi0/1 depend on the hdptxphy_hdmi_clk0/1, but hdptxphy_hdmi_clk0/1 is a subdev at hdmiphy and less corresponding driver, this will lead to hdmi driver probe will be delayed 10 seconds after add the following commit: commit: 4a032827daa8 ("of: property: Simplify of_link_to_phandle") Signed-off-by: Sandy Huang Change-Id: I36ce464860c578eb113de82f089c4637eb47b0fc --- arch/arm64/boot/dts/rockchip/rk3588.dtsi | 4 +++- arch/arm64/boot/dts/rockchip/rk3588s.dtsi | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/arch/arm64/boot/dts/rockchip/rk3588.dtsi b/arch/arm64/boot/dts/rockchip/rk3588.dtsi index fa4a7e35099e..a1cd73706474 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588.dtsi @@ -377,7 +377,7 @@ <&cru DCLK_VOP2>, <&cru DCLK_VOP3>, <&hclk_vo1>, - <&hdptxphy_hdmi_clk1>; + <&hdptxphy_hdmi1>; clock-names = "pclk", "hpd", "earc", @@ -769,6 +769,8 @@ reg = <0x0 0xfed70000 0x0 0x2000>; clocks = <&cru CLK_USB2PHY_HDPTXRXPHY_REF>, <&cru PCLK_HDPTX1>; clock-names = "ref", "apb"; + clock-output-names = "clk_hdmiphy_pixel1"; + #clock-cells = <0>; resets = <&cru SRST_HDPTX1>, <&cru SRST_P_HDPTX1>, <&cru SRST_HDPTX1_INIT>, <&cru SRST_HDPTX1_CMN>, <&cru SRST_HDPTX1_LANE>, <&cru SRST_HDPTX1_ROPLL>, diff --git a/arch/arm64/boot/dts/rockchip/rk3588s.dtsi b/arch/arm64/boot/dts/rockchip/rk3588s.dtsi index c154a3a03f0a..74a66206db62 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588s.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588s.dtsi @@ -5102,7 +5102,7 @@ <&cru DCLK_VOP2>, <&cru DCLK_VOP3>, <&hclk_vo1>, - <&hdptxphy_hdmi_clk0>; + <&hdptxphy_hdmi0>; clock-names = "pclk", "hpd", "earc", @@ -6720,6 +6720,8 @@ reg = <0x0 0xfed60000 0x0 0x2000>; clocks = <&cru CLK_USB2PHY_HDPTXRXPHY_REF>, <&cru PCLK_HDPTX0>; clock-names = "ref", "apb"; + clock-output-names = "clk_hdmiphy_pixel0"; + #clock-cells = <0>; resets = <&cru SRST_HDPTX0>, <&cru SRST_P_HDPTX0>, <&cru SRST_HDPTX0_INIT>, <&cru SRST_HDPTX0_CMN>, <&cru SRST_HDPTX0_LANE>, <&cru SRST_HDPTX0_ROPLL>, From 99744db3e35239660026a7598f49c0cfc354c16b Mon Sep 17 00:00:00 2001 From: Sandy Huang Date: Fri, 22 Dec 2023 17:00:56 +0800 Subject: [PATCH 3/5] phy: rockchip-samsung-hdptx-hdmi: move hdmi phy clk register at hdmiphy move hdmi phy clk register at hdmiphy and get clock name by property: clock-output-names Signed-off-by: Sandy Huang Change-Id: Ica0ce0537b9b520623f9c4b21de6da3bf8e4ac5e --- .../rockchip/phy-rockchip-samsung-hdptx-hdmi.c | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/drivers/phy/rockchip/phy-rockchip-samsung-hdptx-hdmi.c b/drivers/phy/rockchip/phy-rockchip-samsung-hdptx-hdmi.c index 15f361facdf3..b414bf8747d7 100644 --- a/drivers/phy/rockchip/phy-rockchip-samsung-hdptx-hdmi.c +++ b/drivers/phy/rockchip/phy-rockchip-samsung-hdptx-hdmi.c @@ -2151,21 +2151,11 @@ static int rockchip_hdptx_phy_clk_register(struct rockchip_hdptx_phy *hdptx) { struct device *dev = hdptx->dev; struct device_node *np = dev->of_node; - struct device_node *clk_np; - struct platform_device *pdev; struct clk_init_data init = {}; struct clk *refclk; const char *parent_name; int ret; - clk_np = of_get_child_by_name(np, "clk-port"); - if (!clk_np) - return 0; - - pdev = of_platform_device_create(clk_np, NULL, dev); - if (!pdev) - return 0; - refclk = devm_clk_get(dev, "ref"); if (IS_ERR(refclk)) { dev_err(dev, "failed to get ref clock\n"); @@ -2177,10 +2167,6 @@ static int rockchip_hdptx_phy_clk_register(struct rockchip_hdptx_phy *hdptx) init.parent_names = &parent_name; init.num_parents = 1; init.flags = CLK_GET_RATE_NOCACHE; - if (!hdptx->id) - init.name = "clk_hdmiphy_pixel0"; - else - init.name = "clk_hdmiphy_pixel1"; init.ops = &hdptx_phy_clk_ops; /* optional override of the clock name */ @@ -2188,14 +2174,14 @@ static int rockchip_hdptx_phy_clk_register(struct rockchip_hdptx_phy *hdptx) hdptx->hw.init = &init; - hdptx->dclk = devm_clk_register(&pdev->dev, &hdptx->hw); + hdptx->dclk = devm_clk_register(hdptx->dev, &hdptx->hw); if (IS_ERR(hdptx->dclk)) { ret = PTR_ERR(hdptx->dclk); dev_err(dev, "failed to register clock: %d\n", ret); return ret; } - ret = of_clk_add_provider(clk_np, of_clk_src_simple_get, hdptx->dclk); + ret = of_clk_add_provider(np, of_clk_src_simple_get, hdptx->dclk); if (ret) { dev_err(dev, "failed to register OF clock provider: %d\n", ret); return ret; From 80601d55baf2a990287eab13ff108cbcab490b74 Mon Sep 17 00:00:00 2001 From: Sandy Huang Date: Fri, 22 Dec 2023 17:02:41 +0800 Subject: [PATCH 4/5] arm64: dts: rockchip: rk3588-nvr: update hdmi phy clk hdmi phy clk move to hdmi phy devices at the following commit, so update the clock at display_subsystem. commit: 23301555f50b ("arm64: dts: rockchip: rk3588: move hdmi phy clk to hdmiphy") Signed-off-by: Sandy Huang Change-Id: I4e14e6436d3ac2ae19941038ac7259361c66a4bb --- arch/arm64/boot/dts/rockchip/rk3588-nvr.dtsi | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/arch/arm64/boot/dts/rockchip/rk3588-nvr.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-nvr.dtsi index fc3f759b646f..612b466cebed 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-nvr.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588-nvr.dtsi @@ -130,7 +130,7 @@ }; &display_subsystem { - clocks = <&hdptxphy_hdmi_clk0>, <&hdptxphy_hdmi_clk1>; + clocks = <&hdptxphy_hdmi0>, <&hdptxphy_hdmi0>; clock-names = "hdmi0_phy_pll", "hdmi1_phy_pll"; }; @@ -149,14 +149,6 @@ status = "okay"; }; -&hdptxphy_hdmi_clk0 { - status = "okay"; -}; - -&hdptxphy_hdmi_clk1 { - status = "okay"; -}; - &iep { status = "okay"; }; From fa7c72a7cf204c801ce1a87b03b611baf03b0ed5 Mon Sep 17 00:00:00 2001 From: Sandy Huang Date: Fri, 22 Dec 2023 17:03:30 +0800 Subject: [PATCH 5/5] arm64: dts: rockchip: rk3588: remove unused sub node hdptxphy_hdmi_clk0/1 we use hdptxphy_hdmi0/1 instead of hdptxphy_hdmi_clk0/1 after the following commit, so the sub node hdptxphy_hdmi_clk0/1 is unused an remove it: commit: 23301555f50b ("arm64: dts: rockchip: rk3588: move hdmi phy clk to hdmiphy") Signed-off-by: Sandy Huang Change-Id: Ifb8246fd682d54c48276e6fa615d662cb55f9fba --- arch/arm64/boot/dts/rockchip/rk3588.dtsi | 5 ----- arch/arm64/boot/dts/rockchip/rk3588s.dtsi | 5 ----- 2 files changed, 10 deletions(-) diff --git a/arch/arm64/boot/dts/rockchip/rk3588.dtsi b/arch/arm64/boot/dts/rockchip/rk3588.dtsi index a1cd73706474..c75f3d6dcf10 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588.dtsi @@ -780,11 +780,6 @@ rockchip,grf = <&hdptxphy1_grf>; #phy-cells = <0>; status = "disabled"; - - hdptxphy_hdmi_clk1: clk-port { - #clock-cells = <0>; - status = "okay"; - }; }; diff --git a/arch/arm64/boot/dts/rockchip/rk3588s.dtsi b/arch/arm64/boot/dts/rockchip/rk3588s.dtsi index 74a66206db62..81bb417def49 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588s.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588s.dtsi @@ -6731,11 +6731,6 @@ rockchip,grf = <&hdptxphy0_grf>; #phy-cells = <0>; status = "disabled"; - - hdptxphy_hdmi_clk0: clk-port { - #clock-cells = <0>; - status = "okay"; - }; }; usbdp_phy0: phy@fed80000 {