| From 6b46332b247679d99057ea023976cafc41418f4a Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Fri, 22 Jan 2021 00:23:18 +0800 |
| Subject: PCI: rockchip: Make 'ep-gpios' DT property optional |
| |
| From: Chen-Yu Tsai <wens@csie.org> |
| |
| [ Upstream commit 58adbfb3ebec460e8b58875c682bafd866808e80 ] |
| |
| The Rockchip PCIe controller DT binding clearly states that 'ep-gpios' is |
| an optional property. And indeed there are boards that don't require it. |
| |
| Make the driver follow the binding by using devm_gpiod_get_optional() |
| instead of devm_gpiod_get(). |
| |
| [bhelgaas: tidy whitespace] |
| Link: https://lore.kernel.org/r/20210121162321.4538-2-wens@kernel.org |
| Fixes: e77f847df54c ("PCI: rockchip: Add Rockchip PCIe controller support") |
| Fixes: 956cd99b35a8 ("PCI: rockchip: Separate common code from RC driver") |
| Fixes: 964bac9455be ("PCI: rockchip: Split out rockchip_pcie_parse_dt() to parse DT") |
| Signed-off-by: Chen-Yu Tsai <wens@csie.org> |
| Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> |
| Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/pci/controller/pcie-rockchip.c | 12 ++++++------ |
| 1 file changed, 6 insertions(+), 6 deletions(-) |
| |
| diff --git a/drivers/pci/controller/pcie-rockchip.c b/drivers/pci/controller/pcie-rockchip.c |
| index 904dec0d3a88f..990a00e08bc5b 100644 |
| --- a/drivers/pci/controller/pcie-rockchip.c |
| +++ b/drivers/pci/controller/pcie-rockchip.c |
| @@ -82,7 +82,7 @@ int rockchip_pcie_parse_dt(struct rockchip_pcie *rockchip) |
| } |
| |
| rockchip->mgmt_sticky_rst = devm_reset_control_get_exclusive(dev, |
| - "mgmt-sticky"); |
| + "mgmt-sticky"); |
| if (IS_ERR(rockchip->mgmt_sticky_rst)) { |
| if (PTR_ERR(rockchip->mgmt_sticky_rst) != -EPROBE_DEFER) |
| dev_err(dev, "missing mgmt-sticky reset property in node\n"); |
| @@ -118,11 +118,11 @@ int rockchip_pcie_parse_dt(struct rockchip_pcie *rockchip) |
| } |
| |
| if (rockchip->is_rc) { |
| - rockchip->ep_gpio = devm_gpiod_get(dev, "ep", GPIOD_OUT_HIGH); |
| - if (IS_ERR(rockchip->ep_gpio)) { |
| - dev_err(dev, "missing ep-gpios property in node\n"); |
| - return PTR_ERR(rockchip->ep_gpio); |
| - } |
| + rockchip->ep_gpio = devm_gpiod_get_optional(dev, "ep", |
| + GPIOD_OUT_HIGH); |
| + if (IS_ERR(rockchip->ep_gpio)) |
| + return dev_err_probe(dev, PTR_ERR(rockchip->ep_gpio), |
| + "failed to get ep GPIO\n"); |
| } |
| |
| rockchip->aclk_pcie = devm_clk_get(dev, "aclk"); |
| -- |
| 2.27.0 |
| |