Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1703451
| From | Bjorn Helgaas <helgaas@kernel.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH 051/102] PCI: dwc: pcie-qcom: explicitly request exclusive reset control |
| Date | 2017-08-03 23:50 +0200 |
| Message-ID | <uawae-5UG-27@gated-at.bofh.it> (permalink) |
| References | <u4Z5f-1XQ-3@gated-at.bofh.it> <u4Z5h-1XQ-45@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Wed, Jul 19, 2017 at 05:25:55PM +0200, Philipp Zabel wrote:
> Commit a53e35db70d1 ("reset: Ensure drivers are explicit when requesting
> reset lines") started to transition the reset control request API calls
> to explicitly state whether the driver needs exclusive or shared reset
> control behavior. Convert all drivers requesting exclusive resets to the
> explicit API call so the temporary transition helpers can be removed.
>
> No functional changes.
>
> Cc: Stanimir Varbanov <svarbanov@mm-sol.com>
> Cc: Bjorn Helgaas <bhelgaas@google.com>
> Cc: linux-pci@vger.kernel.org
> Cc: linux-arm-msm@vger.kernel.org
> Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Applied to pci/host-qcom for v4.14, thanks!
Stanimir, holler if you see any issues.
> ---
> drivers/pci/dwc/pcie-qcom.c | 40 ++++++++++++++++++++++------------------
> 1 file changed, 22 insertions(+), 18 deletions(-)
>
> diff --git a/drivers/pci/dwc/pcie-qcom.c b/drivers/pci/dwc/pcie-qcom.c
> index 68c5f2ab5bc8f..90f7796a7cffe 100644
> --- a/drivers/pci/dwc/pcie-qcom.c
> +++ b/drivers/pci/dwc/pcie-qcom.c
> @@ -212,23 +212,23 @@ static int qcom_pcie_get_resources_v0(struct qcom_pcie *pcie)
> if (IS_ERR(res->phy_clk))
> return PTR_ERR(res->phy_clk);
>
> - res->pci_reset = devm_reset_control_get(dev, "pci");
> + res->pci_reset = devm_reset_control_get_exclusive(dev, "pci");
> if (IS_ERR(res->pci_reset))
> return PTR_ERR(res->pci_reset);
>
> - res->axi_reset = devm_reset_control_get(dev, "axi");
> + res->axi_reset = devm_reset_control_get_exclusive(dev, "axi");
> if (IS_ERR(res->axi_reset))
> return PTR_ERR(res->axi_reset);
>
> - res->ahb_reset = devm_reset_control_get(dev, "ahb");
> + res->ahb_reset = devm_reset_control_get_exclusive(dev, "ahb");
> if (IS_ERR(res->ahb_reset))
> return PTR_ERR(res->ahb_reset);
>
> - res->por_reset = devm_reset_control_get(dev, "por");
> + res->por_reset = devm_reset_control_get_exclusive(dev, "por");
> if (IS_ERR(res->por_reset))
> return PTR_ERR(res->por_reset);
>
> - res->phy_reset = devm_reset_control_get(dev, "phy");
> + res->phy_reset = devm_reset_control_get_exclusive(dev, "phy");
> return PTR_ERR_OR_ZERO(res->phy_reset);
> }
>
> @@ -393,7 +393,7 @@ static int qcom_pcie_get_resources_v1(struct qcom_pcie *pcie)
> if (IS_ERR(res->slave_bus))
> return PTR_ERR(res->slave_bus);
>
> - res->core = devm_reset_control_get(dev, "core");
> + res->core = devm_reset_control_get_exclusive(dev, "core");
> return PTR_ERR_OR_ZERO(res->core);
> }
>
> @@ -623,51 +623,55 @@ static int qcom_pcie_get_resources_v3(struct qcom_pcie *pcie)
> if (IS_ERR(res->slave_clk))
> return PTR_ERR(res->slave_clk);
>
> - res->axi_m_reset = devm_reset_control_get(dev, "axi_m");
> + res->axi_m_reset = devm_reset_control_get_exclusive(dev, "axi_m");
> if (IS_ERR(res->axi_m_reset))
> return PTR_ERR(res->axi_m_reset);
>
> - res->axi_s_reset = devm_reset_control_get(dev, "axi_s");
> + res->axi_s_reset = devm_reset_control_get_exclusive(dev, "axi_s");
> if (IS_ERR(res->axi_s_reset))
> return PTR_ERR(res->axi_s_reset);
>
> - res->pipe_reset = devm_reset_control_get(dev, "pipe");
> + res->pipe_reset = devm_reset_control_get_exclusive(dev, "pipe");
> if (IS_ERR(res->pipe_reset))
> return PTR_ERR(res->pipe_reset);
>
> - res->axi_m_vmid_reset = devm_reset_control_get(dev, "axi_m_vmid");
> + res->axi_m_vmid_reset = devm_reset_control_get_exclusive(dev,
> + "axi_m_vmid");
> if (IS_ERR(res->axi_m_vmid_reset))
> return PTR_ERR(res->axi_m_vmid_reset);
>
> - res->axi_s_xpu_reset = devm_reset_control_get(dev, "axi_s_xpu");
> + res->axi_s_xpu_reset = devm_reset_control_get_exclusive(dev,
> + "axi_s_xpu");
> if (IS_ERR(res->axi_s_xpu_reset))
> return PTR_ERR(res->axi_s_xpu_reset);
>
> - res->parf_reset = devm_reset_control_get(dev, "parf");
> + res->parf_reset = devm_reset_control_get_exclusive(dev, "parf");
> if (IS_ERR(res->parf_reset))
> return PTR_ERR(res->parf_reset);
>
> - res->phy_reset = devm_reset_control_get(dev, "phy");
> + res->phy_reset = devm_reset_control_get_exclusive(dev, "phy");
> if (IS_ERR(res->phy_reset))
> return PTR_ERR(res->phy_reset);
>
> - res->axi_m_sticky_reset = devm_reset_control_get(dev, "axi_m_sticky");
> + res->axi_m_sticky_reset = devm_reset_control_get_exclusive(dev,
> + "axi_m_sticky");
> if (IS_ERR(res->axi_m_sticky_reset))
> return PTR_ERR(res->axi_m_sticky_reset);
>
> - res->pipe_sticky_reset = devm_reset_control_get(dev, "pipe_sticky");
> + res->pipe_sticky_reset = devm_reset_control_get_exclusive(dev,
> + "pipe_sticky");
> if (IS_ERR(res->pipe_sticky_reset))
> return PTR_ERR(res->pipe_sticky_reset);
>
> - res->pwr_reset = devm_reset_control_get(dev, "pwr");
> + res->pwr_reset = devm_reset_control_get_exclusive(dev, "pwr");
> if (IS_ERR(res->pwr_reset))
> return PTR_ERR(res->pwr_reset);
>
> - res->ahb_reset = devm_reset_control_get(dev, "ahb");
> + res->ahb_reset = devm_reset_control_get_exclusive(dev, "ahb");
> if (IS_ERR(res->ahb_reset))
> return PTR_ERR(res->ahb_reset);
>
> - res->phy_ahb_reset = devm_reset_control_get(dev, "phy_ahb");
> + res->phy_ahb_reset = devm_reset_control_get_exclusive(dev, "phy_ahb");
> if (IS_ERR(res->phy_ahb_reset))
> return PTR_ERR(res->phy_ahb_reset);
>
> --
> 2.11.0
>
Back to linux.kernel | Previous | Next | Find similar | Unroll thread
Re: [PATCH 051/102] PCI: dwc: pcie-qcom: explicitly request exclusive reset control Bjorn Helgaas <helgaas@kernel.org> - 2017-08-03 23:50 +0200
csiph-web