Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

PCI/pwrctrl: pwrseq: Factor out power on/off code to helpers

In order to allow the pwrctrl core to control the power on/off logic of the
pwrctrl pwrseq driver, move the power on/off code to
pci_pwrctrl_pwrseq_power_{off/on} helper functions.

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com
>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Link: https://patch.msgid.link/20260115-pci-pwrctrl-rework-v5-8-9d26da3ce903@oss.qualcomm.com

authored by

Manivannan Sadhasivam and committed by
Bjorn Helgaas
2045c352 0afc90ce

+20 -4
+20 -4
drivers/pci/pwrctrl/pci-pwrctrl-pwrseq.c
··· 52 52 .validate_device = pwrseq_pwrctrl_qcm_wcn_validate_device, 53 53 }; 54 54 55 + static int pwrseq_pwrctrl_power_on(struct pci_pwrctrl *pwrctrl) 56 + { 57 + struct pwrseq_pwrctrl *pwrseq = container_of(pwrctrl, 58 + struct pwrseq_pwrctrl, pwrctrl); 59 + 60 + return pwrseq_power_on(pwrseq->pwrseq); 61 + } 62 + 63 + static int pwrseq_pwrctrl_power_off(struct pci_pwrctrl *pwrctrl) 64 + { 65 + struct pwrseq_pwrctrl *pwrseq = container_of(pwrctrl, 66 + struct pwrseq_pwrctrl, pwrctrl); 67 + 68 + return pwrseq_power_off(pwrseq->pwrseq); 69 + } 70 + 55 71 static void devm_pwrseq_pwrctrl_power_off(void *data) 56 72 { 57 - struct pwrseq_desc *pwrseq = data; 73 + struct pwrseq_pwrctrl *pwrseq = data; 58 74 59 - pwrseq_power_off(pwrseq); 75 + pwrseq_pwrctrl_power_off(&pwrseq->pwrctrl); 60 76 } 61 77 62 78 static int pwrseq_pwrctrl_probe(struct platform_device *pdev) ··· 101 85 return dev_err_probe(dev, PTR_ERR(pwrseq->pwrseq), 102 86 "Failed to get the power sequencer\n"); 103 87 104 - ret = pwrseq_power_on(pwrseq->pwrseq); 88 + ret = pwrseq_pwrctrl_power_on(&pwrseq->pwrctrl); 105 89 if (ret) 106 90 return dev_err_probe(dev, ret, 107 91 "Failed to power-on the device\n"); 108 92 109 93 ret = devm_add_action_or_reset(dev, devm_pwrseq_pwrctrl_power_off, 110 - pwrseq->pwrseq); 94 + pwrseq); 111 95 if (ret) 112 96 return ret; 113 97