aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm64/boot/dts/mediatek/mt2712e.dtsi2
-rw-r--r--drivers/pci/controller/pcie-mediatek.c50
2 files changed, 15 insertions, 37 deletions
diff --git a/arch/arm64/boot/dts/mediatek/mt2712e.dtsi b/arch/arm64/boot/dts/mediatek/mt2712e.dtsi
index 976d92a94738..43307bad3f0d 100644
--- a/arch/arm64/boot/dts/mediatek/mt2712e.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt2712e.dtsi
@@ -819,7 +819,6 @@
819 #size-cells = <2>; 819 #size-cells = <2>;
820 #interrupt-cells = <1>; 820 #interrupt-cells = <1>;
821 ranges; 821 ranges;
822 num-lanes = <1>;
823 interrupt-map-mask = <0 0 0 7>; 822 interrupt-map-mask = <0 0 0 7>;
824 interrupt-map = <0 0 0 1 &pcie_intc0 0>, 823 interrupt-map = <0 0 0 1 &pcie_intc0 0>,
825 <0 0 0 2 &pcie_intc0 1>, 824 <0 0 0 2 &pcie_intc0 1>,
@@ -840,7 +839,6 @@
840 #size-cells = <2>; 839 #size-cells = <2>;
841 #interrupt-cells = <1>; 840 #interrupt-cells = <1>;
842 ranges; 841 ranges;
843 num-lanes = <1>;
844 interrupt-map-mask = <0 0 0 7>; 842 interrupt-map-mask = <0 0 0 7>;
845 interrupt-map = <0 0 0 1 &pcie_intc1 0>, 843 interrupt-map = <0 0 0 1 &pcie_intc1 0>,
846 <0 0 0 2 &pcie_intc1 1>, 844 <0 0 0 2 &pcie_intc1 1>,
diff --git a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controller/pcie-mediatek.c
index 0b6c72804e03..adb6cb15daa2 100644
--- a/drivers/pci/controller/pcie-mediatek.c
+++ b/drivers/pci/controller/pcie-mediatek.c
@@ -915,49 +915,29 @@ static int mtk_pcie_parse_port(struct mtk_pcie *pcie,
915 915
916 /* sys_ck might be divided into the following parts in some chips */ 916 /* sys_ck might be divided into the following parts in some chips */
917 snprintf(name, sizeof(name), "ahb_ck%d", slot); 917 snprintf(name, sizeof(name), "ahb_ck%d", slot);
918 port->ahb_ck = devm_clk_get(dev, name); 918 port->ahb_ck = devm_clk_get_optional(dev, name);
919 if (IS_ERR(port->ahb_ck)) { 919 if (IS_ERR(port->ahb_ck))
920 if (PTR_ERR(port->ahb_ck) == -EPROBE_DEFER) 920 return PTR_ERR(port->ahb_ck);
921 return -EPROBE_DEFER;
922
923 port->ahb_ck = NULL;
924 }
925 921
926 snprintf(name, sizeof(name), "axi_ck%d", slot); 922 snprintf(name, sizeof(name), "axi_ck%d", slot);
927 port->axi_ck = devm_clk_get(dev, name); 923 port->axi_ck = devm_clk_get_optional(dev, name);
928 if (IS_ERR(port->axi_ck)) { 924 if (IS_ERR(port->axi_ck))
929 if (PTR_ERR(port->axi_ck) == -EPROBE_DEFER) 925 return PTR_ERR(port->axi_ck);
930 return -EPROBE_DEFER;
931
932 port->axi_ck = NULL;
933 }
934 926
935 snprintf(name, sizeof(name), "aux_ck%d", slot); 927 snprintf(name, sizeof(name), "aux_ck%d", slot);
936 port->aux_ck = devm_clk_get(dev, name); 928 port->aux_ck = devm_clk_get_optional(dev, name);
937 if (IS_ERR(port->aux_ck)) { 929 if (IS_ERR(port->aux_ck))
938 if (PTR_ERR(port->aux_ck) == -EPROBE_DEFER) 930 return PTR_ERR(port->aux_ck);
939 return -EPROBE_DEFER;
940
941 port->aux_ck = NULL;
942 }
943 931
944 snprintf(name, sizeof(name), "obff_ck%d", slot); 932 snprintf(name, sizeof(name), "obff_ck%d", slot);
945 port->obff_ck = devm_clk_get(dev, name); 933 port->obff_ck = devm_clk_get_optional(dev, name);
946 if (IS_ERR(port->obff_ck)) { 934 if (IS_ERR(port->obff_ck))
947 if (PTR_ERR(port->obff_ck) == -EPROBE_DEFER) 935 return PTR_ERR(port->obff_ck);
948 return -EPROBE_DEFER;
949
950 port->obff_ck = NULL;
951 }
952 936
953 snprintf(name, sizeof(name), "pipe_ck%d", slot); 937 snprintf(name, sizeof(name), "pipe_ck%d", slot);
954 port->pipe_ck = devm_clk_get(dev, name); 938 port->pipe_ck = devm_clk_get_optional(dev, name);
955 if (IS_ERR(port->pipe_ck)) { 939 if (IS_ERR(port->pipe_ck))
956 if (PTR_ERR(port->pipe_ck) == -EPROBE_DEFER) 940 return PTR_ERR(port->pipe_ck);
957 return -EPROBE_DEFER;
958
959 port->pipe_ck = NULL;
960 }
961 941
962 snprintf(name, sizeof(name), "pcie-rst%d", slot); 942 snprintf(name, sizeof(name), "pcie-rst%d", slot);
963 port->reset = devm_reset_control_get_optional_exclusive(dev, name); 943 port->reset = devm_reset_control_get_optional_exclusive(dev, name);