lkml.org 
[lkml]   [2021]   [Oct]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v1 14/15] WIP: PCI: qcom: use pwrseq to power up bus devices
    Date
    Use bus-pwrseq device tree node to power up the devices on the bus. This
    is to be rewritten with the proper code parsing the device tree and
    powering up individual devices.

    Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
    ---
    drivers/pci/controller/dwc/pcie-qcom.c | 13 +++++++++++++
    1 file changed, 13 insertions(+)

    diff --git a/drivers/pci/controller/dwc/pcie-qcom.c b/drivers/pci/controller/dwc/pcie-qcom.c
    index 8a7a300163e5..f398283912c7 100644
    --- a/drivers/pci/controller/dwc/pcie-qcom.c
    +++ b/drivers/pci/controller/dwc/pcie-qcom.c
    @@ -23,6 +23,7 @@
    #include <linux/pm_runtime.h>
    #include <linux/platform_device.h>
    #include <linux/phy/phy.h>
    +#include <linux/pwrseq/consumer.h>
    #include <linux/regulator/consumer.h>
    #include <linux/reset.h>
    #include <linux/slab.h>
    @@ -1467,6 +1468,7 @@ static int qcom_pcie_probe(struct platform_device *pdev)
    struct pcie_port *pp;
    struct dw_pcie *pci;
    struct qcom_pcie *pcie;
    + struct pwrseq *pwrseq;
    int ret;

    pcie = devm_kzalloc(dev, sizeof(*pcie), GFP_KERNEL);
    @@ -1520,6 +1522,17 @@ static int qcom_pcie_probe(struct platform_device *pdev)

    pp->ops = &qcom_pcie_dw_ops;

    + pwrseq = devm_pwrseq_get(dev, "bus");
    + if (IS_ERR(pwrseq)) {
    + ret = PTR_ERR(pwrseq);
    + goto err_pm_runtime_put;
    + }
    + if (pwrseq) {
    + ret = pwrseq_full_power_on(pwrseq);
    + if (ret)
    + goto err_pm_runtime_put;
    + }
    +
    ret = phy_init(pcie->phy);
    if (ret) {
    pm_runtime_disable(&pdev->dev);
    --
    2.33.0
    \
     
     \ /
      Last update: 2021-10-06 05:57    [W:3.095 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site