mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-02-19 08:58:32 -05:00
Merge branch 'pci/pwrctrl'
- Rename pwrctrl Kconfig symbols from 'PWRCTL' to 'PWRCTRL' to match the filename paths. Retain old deprecated symbols for compatibility, except for the pwrctrl slot driver (PCI_PWRCTRL_SLOT) (Johan Hovold) - When unregistering pwrctrl, cancel outstanding rescan work before cleaning up data structures to avoid use-after-free issues (Brian Norris) * pci/pwrctrl: arm64: Kconfig: switch to HAVE_PWRCTRL wifi: ath12k: switch to PCI_PWRCTRL_PWRSEQ wifi: ath11k: switch to PCI_PWRCTRL_PWRSEQ PCI/pwrctrl: Rename pwrctrl Kconfig symbols and slot module PCI/pwrctrl: Cancel outstanding rescan work when unregistering
This commit is contained in:
@@ -269,7 +269,7 @@ config ARCH_QCOM
|
||||
bool "Qualcomm Platforms"
|
||||
select GPIOLIB
|
||||
select PINCTRL
|
||||
select HAVE_PWRCTL if PCI
|
||||
select HAVE_PWRCTRL if PCI
|
||||
help
|
||||
This enables support for the ARMv8 based Qualcomm chipsets.
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ config ATH11K_PCI
|
||||
select MHI_BUS
|
||||
select QRTR
|
||||
select QRTR_MHI
|
||||
select PCI_PWRCTL_PWRSEQ if HAVE_PWRCTL
|
||||
select PCI_PWRCTRL_PWRSEQ if HAVE_PWRCTRL
|
||||
help
|
||||
This module adds support for PCIE bus
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ config ATH12K
|
||||
select MHI_BUS
|
||||
select QRTR
|
||||
select QRTR_MHI
|
||||
select PCI_PWRCTL_PWRSEQ if HAVE_PWRCTL
|
||||
select PCI_PWRCTRL_PWRSEQ if HAVE_PWRCTRL
|
||||
help
|
||||
Enable support for Qualcomm Technologies Wi-Fi 7 (IEEE
|
||||
802.11be) family of chipsets, for example WCN7850 and
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
|
||||
config HAVE_PWRCTL
|
||||
config HAVE_PWRCTRL
|
||||
bool
|
||||
|
||||
config PCI_PWRCTL
|
||||
config PCI_PWRCTRL
|
||||
tristate
|
||||
|
||||
config PCI_PWRCTL_PWRSEQ
|
||||
config PCI_PWRCTRL_PWRSEQ
|
||||
tristate
|
||||
select POWER_SEQUENCING
|
||||
select PCI_PWRCTL
|
||||
select PCI_PWRCTRL
|
||||
|
||||
config PCI_PWRCTL_SLOT
|
||||
config PCI_PWRCTRL_SLOT
|
||||
tristate "PCI Power Control driver for PCI slots"
|
||||
select PCI_PWRCTL
|
||||
select PCI_PWRCTRL
|
||||
help
|
||||
Say Y here to enable the PCI Power Control driver to control the power
|
||||
state of PCI slots.
|
||||
@@ -21,3 +21,13 @@ config PCI_PWRCTL_SLOT
|
||||
This is a generic driver that controls the power state of different
|
||||
PCI slots. The voltage regulators powering the rails of the PCI slots
|
||||
are expected to be defined in the devicetree node of the PCI bridge.
|
||||
|
||||
# deprecated
|
||||
config HAVE_PWRCTL
|
||||
bool
|
||||
select HAVE_PWRCTRL
|
||||
|
||||
# deprecated
|
||||
config PCI_PWRCTL_PWRSEQ
|
||||
tristate
|
||||
select PCI_PWRCTRL_PWRSEQ
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
|
||||
obj-$(CONFIG_PCI_PWRCTL) += pci-pwrctrl-core.o
|
||||
obj-$(CONFIG_PCI_PWRCTRL) += pci-pwrctrl-core.o
|
||||
pci-pwrctrl-core-y := core.o
|
||||
|
||||
obj-$(CONFIG_PCI_PWRCTL_PWRSEQ) += pci-pwrctrl-pwrseq.o
|
||||
obj-$(CONFIG_PCI_PWRCTRL_PWRSEQ) += pci-pwrctrl-pwrseq.o
|
||||
|
||||
obj-$(CONFIG_PCI_PWRCTL_SLOT) += pci-pwrctl-slot.o
|
||||
pci-pwrctl-slot-y := slot.o
|
||||
obj-$(CONFIG_PCI_PWRCTRL_SLOT) += pci-pwrctrl-slot.o
|
||||
pci-pwrctrl-slot-y := slot.o
|
||||
|
||||
@@ -101,6 +101,8 @@ EXPORT_SYMBOL_GPL(pci_pwrctrl_device_set_ready);
|
||||
*/
|
||||
void pci_pwrctrl_device_unset_ready(struct pci_pwrctrl *pwrctrl)
|
||||
{
|
||||
cancel_work_sync(&pwrctrl->work);
|
||||
|
||||
/*
|
||||
* We don't have to delete the link here. Typically, this function
|
||||
* is only called when the power control device is being detached. If
|
||||
|
||||
Reference in New Issue
Block a user