linux-stable/drivers
Linus Torvalds 560d4e7738 A couple clk driver fixes, a build fix, and a deadlock fix.
- Mediatek mt7988 has broken PCIe because the wrong parent is used
 
  - Mediatek clk drivers may deadlock when registering their clks because
    the clk provider device is repeatedly runtime PM resumed and
    suspended during probe and clk registration. Resuming the clk
    provider device deadlocks with an ABBA deadlock due to genpd_lock and
    the clk prepare_lock. The fix is to keep the device runtime resumed
    while registering clks.
 
  - Another runtime PM related deadlock, this time with disabling unused
    clks during late init. We get an ABBA deadlock where a device is
    runtime PM resuming (or suspending) while the disabling of unused
    clks is happening in parallel. That runtime PM action calls into the
    clk framework and tries to grab the clk prepare_lock while the
    disabling of unused clks holds the prepare_lock and is waiting for
    that runtime PM action to complete. The fix is to runtime resume all
    the clk provider devices before grabbing the clk prepare_lock during
    disable unused.
 
  - A build fix to provide an empty devm_clk_rate_exclusive_get()
    function when CONFIG_COMMON_CLK=n
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEE9L57QeeUxqYDyoaDrQKIl8bklSUFAmYjG54RHHNib3lkQGtl
 cm5lbC5vcmcACgkQrQKIl8bklSXKbRAAg4F/hgig12lAsBdP/VeARAGJ5gDZXRhQ
 MrTz8f5OQJ9dtiVjUVZzu32POkwukoQsAx6t6lOLLrVebhsETch2bEpWmhv4ChKJ
 daZAxa35cZAZFERtCERVRAOnO101EFUFHYbmymZwL8j9kZur9blFRqgPixB8Qqgi
 zOd5Wb8xqZwy0+IXD9GEP1ZHMeKGTxCblGzuMP5ORShXr0zRue1p4eI/Vu8rQ6xu
 0KJS+hujlVs/43tNMu04HvHCNN7NQYdK2pZveKh9Myw/jAakWQ+afbD10w9X9L28
 Ug/Xx0w9JcMDxaquba0AUEbC2I1wemMZXfwPiheFzb13d3dGmhJ1Af9rIqFg4Y3D
 MBby4fVCzYID7a/5p7rmpUN9A+E/7x3XUVpHkhlURWPgEEvIDSNMrIVQh1i3lr0T
 QLhuExjq0sKnyY2msJQywB5WyFfeYhXHwcL1rbppIg9TaJVsK8WRCMkw40WUx4Pw
 cxYDPqaaDTxyvHfUzWbYw6RaUiEJboFdiZXxtFH0d9hNMHtVB8rbAHUwxOHknDqM
 j18yzSjnglt2YzfAJTxqCKfIuW5G3N7YRuEqg/deqL1+BKKip5LcltGEacnzUmM3
 kacQNHo1skdiEf6oXaNYifdMJVAgnjqOOlP57ipmRaip+16wKOFULXEQ/g/WIVca
 ApVDO1vmsKQ=
 =RLMP
 -----END PGP SIGNATURE-----

Merge tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux

Pull clk fixes from Stephen Boyd:
 "A couple clk driver fixes, a build fix, and a deadlock fix:

   - Mediatek mt7988 has broken PCIe because the wrong parent is used

   - Mediatek clk drivers may deadlock when registering their clks
     because the clk provider device is repeatedly runtime PM resumed
     and suspended during probe and clk registration.

     Resuming the clk provider device deadlocks with an ABBA deadlock
     due to genpd_lock and the clk prepare_lock. The fix is to keep the
     device runtime resumed while registering clks.

   - Another runtime PM related deadlock, this time with disabling
     unused clks during late init.

     We get an ABBA deadlock where a device is runtime PM resuming (or
     suspending) while the disabling of unused clks is happening in
     parallel. That runtime PM action calls into the clk framework and
     tries to grab the clk prepare_lock while the disabling of unused
     clks holds the prepare_lock and is waiting for that runtime PM
     action to complete.

     The fix is to runtime resume all the clk provider devices before
     grabbing the clk prepare_lock during disable unused.

   - A build fix to provide an empty devm_clk_rate_exclusive_get()
     function when CONFIG_COMMON_CLK=n"

* tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
  clk: mediatek: mt7988-infracfg: fix clocks for 2nd PCIe port
  clk: mediatek: Do a runtime PM get on controllers during probe
  clk: Get runtime PM before walking tree for clk_summary
  clk: Get runtime PM before walking tree during disable_unused
  clk: Initialize struct clk_core kref earlier
  clk: Don't hold prepare_lock when calling kref_put()
  clk: Remove prepare_lock hold assertion in __clk_release()
  clk: Provide !COMMON_CLK dummy for devm_clk_rate_exclusive_get()
2024-04-20 10:36:02 -07:00
..
accel
accessibility
acpi
amba
android
ata ata: libata-core: Allow command duration limits detection for ACS-4 drives 2024-04-13 10:42:28 +09:00
atm
auxdisplay
base
bcma
block
bluetooth
bus
cache
cdrom
cdx
char random: handle creditable entropy from atomic process context 2024-04-17 13:53:18 +02:00
clk clk: mediatek: mt7988-infracfg: fix clocks for 2nd PCIe port 2024-04-10 20:50:26 -07:00
clocksource
comedi
connector
counter
cpufreq
cpuidle
crypto
cxl cxl fixes for v6.9-rc4 2024-04-11 16:49:11 -07:00
dax
dca
devfreq
dio
dma
dma-buf
dpll
edac
eisa
extcon
firewire
firmware
fpga
fsi
gnss
gpio gpio: lpc32xx: fix module autoloading 2024-04-12 21:30:58 +02:00
gpu - Fix bo leak on error path during fb init 2024-04-19 10:40:47 +10:00
greybus
hid
hsi
hte
hv hyperv-fixes for v6.9-rc4 2024-04-11 16:23:56 -07:00
hwmon
hwspinlock
hwtracing
i2c
i3c
idle
iio
infiniband
input
interconnect
iommu iommufd for 6.9 first rc 2024-04-19 14:02:21 -07:00
ipack
irqchip
isdn
leds
macintosh
mailbox
mcb
md
media
memory
memstick
message
mfd
misc
mmc
most
mtd
mux
net A little calmer than usual, probably just the timing of sub-tree PRs. 2024-04-18 11:40:54 -07:00
nfc
ntb
nubus
nvdimm
nvme
nvmem
of
opp
parisc
parport
pci
pcmcia
peci
perf
phy
pinctrl
platform platform-drivers-x86 for v6.9-3 2024-04-18 07:15:33 -07:00
pmdomain
pnp
power
powercap
pps
ps3
ptp
pwm pwm: dwc: allow suspend/resume for 16 channels 2024-04-15 17:28:13 +02:00
rapidio
ras
regulator
remoteproc
reset
rpmsg
rtc
s390 s390 updates for 6.9-rc5 2024-04-19 09:59:15 -07:00
sbus
scsi
sh
siox
slimbus
soc
soundwire
spi
spmi
ssb
staging
target
tc
tee
thermal thermal/debugfs: Add missing count increment to thermal_debug_tz_trip_up() 2024-04-19 15:08:19 +02:00
thunderbolt
tty
ufs
uio hyperv-fixes for v6.9-rc4 2024-04-11 16:23:56 -07:00
usb
vdpa
vfio
vhost
video
virt Revert "vmgenid: emit uevent when VMGENID updates" 2024-04-18 14:47:23 +02:00
virtio
w1
watchdog
xen
zorro
Kconfig
Makefile