linux/drivers
Saravana Kannan 3a2dbc510c driver core: fw_devlink: Don't purge child fwnode's consumer links
When a device X is bound successfully to a driver, if it has a child
firmware node Y that doesn't have a struct device created by then, we
delete fwnode links where the child firmware node Y is the supplier. We
did this to avoid blocking the consumers of the child firmware node Y
from deferring probe indefinitely.

While that a step in the right direction, it's better to make the
consumers of the child firmware node Y to be consumers of the device X
because device X is probably implementing whatever functionality is
represented by child firmware node Y. By doing this, we capture the
device dependencies more accurately and ensure better
probe/suspend/resume ordering.

Signed-off-by: Saravana Kannan <saravanak@google.com>
Tested-by: Colin Foster <colin.foster@in-advantage.com>
Tested-by: Sudeep Holla <sudeep.holla@arm.com>
Tested-by: Douglas Anderson <dianders@chromium.org>
Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
Tested-by: Luca Weiss <luca.weiss@fairphone.com> # qcom/sm7225-fairphone-fp4
Link: https://lore.kernel.org/r/20230207014207.1678715-2-saravanak@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-02-08 13:37:54 +01:00
..
accel Fix mismerge due to devnode now taking a 'const *' device 2022-12-16 13:04:15 -06:00
accessibility tty: fix possible null-ptr-defer in spk_ttyio_release 2023-01-19 16:24:04 +01:00
acpi driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
amba driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
android
ata ata: pata_cs5535: Don't build on UML 2023-01-14 07:38:48 +09:00
atm treewide: Convert del_timer*() to timer_shutdown*() 2022-12-25 13:38:09 -08:00
auxdisplay
base driver core: fw_devlink: Don't purge child fwnode's consumer links 2023-02-08 13:37:54 +01:00
bcma driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
block block-6.2-2023-01-20 2023-01-20 12:44:41 -08:00
bluetooth Bluetooth: hci_qca: Fix driver shutdown on closed serdev 2023-01-17 15:59:02 -08:00
bus driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
cdrom
char xen: branch for v6.2-rc4 2023-01-12 17:02:20 -06:00
clk A pile of clk driver updates with a small tracepoint patch to the clk core this 2022-12-13 13:46:07 -08:00
clocksource Updates for timers, timekeeping and drivers: 2022-12-12 12:52:02 -08:00
comedi comedi: adv_pci1760: Fix PWM instruction handling 2023-01-19 17:24:47 +01:00
connector
counter
cpufreq cpufreq: amd-pstate: fix kernel hang issue while amd-pstate unregistering 2023-01-10 20:31:08 +01:00
cpuidle powerpc updates for 6.2 2022-12-19 07:13:33 -06:00
crypto MTD changes: 2023-01-12 05:56:06 -06:00
cxl driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
dax driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
dca
devfreq
dio
dma ptdma: pt_core_execute_cmd() should use spinlock 2023-01-19 18:59:34 +05:30
dma-buf Merge drm/drm-fixes into drm-misc-fixes 2023-01-03 08:32:12 +01:00
edac EDAC/highbank: Fix memory leak in highbank_mc_probe() 2023-01-03 17:03:57 +01:00
eisa driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
extcon Char/Misc driver changes for 6.2-rc1 2022-12-16 03:49:24 -08:00
firewire driver core: make struct device_type.uevent() take a const * 2023-01-27 13:45:36 +01:00
firmware driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
fpga driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
fsi driver core: make struct device_type.devnode() take a const * 2023-01-27 13:45:38 +01:00
gnss
gpio gpiolib: acpi: Add a ignore wakeup quirk for Clevo NL5xRU 2023-01-18 15:29:16 +01:00
gpu driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
greybus driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
hid driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
hsi driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
hte
hv driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
hwmon hwmon updates for v6.2 merge window 2022-12-13 13:09:38 -08:00
hwspinlock
hwtracing driver core: make struct device_type.devnode() take a const * 2023-01-27 13:45:38 +01:00
i2c driver core: make struct device_type.uevent() take a const * 2023-01-27 13:45:36 +01:00
i3c driver core: make struct device_type.uevent() take a const * 2023-01-27 13:45:36 +01:00
idle
iio Char/Misc driver changes for 6.2-rc1 2022-12-16 03:49:24 -08:00
infiniband IB/hfi1: Remove user expected buffer invalidate race 2023-01-10 12:21:50 +02:00
input driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
interconnect interconnect: qcom: rpm: Use _optional func for provider clocks 2023-01-05 17:29:57 +02:00
iommu iommu/mediatek-v1: Fix an error handling path in mtk_iommu_v1_probe() 2023-01-13 13:46:32 +01:00
ipack driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
irqchip RISC-V Patches for the 6.2 Merge Window, Part 1 2022-12-14 15:23:49 -08:00
isdn treewide: Convert del_timer*() to timer_shutdown*() 2022-12-25 13:38:09 -08:00
leds treewide: Convert del_timer*() to timer_shutdown*() 2022-12-25 13:38:09 -08:00
macintosh driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
mailbox - qcom: enable sc8280xp, sm8550 and sm4250 support 2022-12-21 09:31:18 -08:00
mcb driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
md md: fix incorrect declaration about claim_rdev in md_import_device 2023-01-12 10:42:16 -08:00
media driver core: make struct device_type.uevent() take a const * 2023-01-27 13:45:36 +01:00
memory memory: mvebu-devbus: Fix missing clk_disable_unprepare in mvebu_devbus_probe() 2022-12-27 09:54:32 +01:00
memstick driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
message
mfd - New Drivers 2022-12-21 09:19:24 -08:00
misc driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
mmc driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
most
mtd mtd: cfi: allow building spi-intel standalone 2023-01-02 12:08:53 +01:00
mux
net driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
nfc nfc: pn533: Wait for out_urb's completion in pn533_usb_send_frame() 2023-01-09 07:34:13 +00:00
ntb
nubus
nvdimm driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
nvme block-6.2-2023-01-20 2023-01-20 12:44:41 -08:00
nvmem Char/Misc driver changes for 6.2-rc1 2022-12-16 03:49:24 -08:00
of of: device: make of_device_uevent_modalias() take a const device * 2023-01-27 13:45:28 +01:00
opp
parisc parisc: led: Fix potential null-ptr-deref in start_task() 2022-12-17 23:19:38 +01:00
parport
pci driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
pcmcia driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
peci
perf RISC-V Patches for the 6.2 Merge Window, Part 1 2022-12-14 15:23:49 -08:00
phy phy: phy-can-transceiver: Skip warning if no "max-bitrate" 2023-01-18 22:58:05 +05:30
pinctrl pinctrl: rockchip: fix mux route data for rk3568 2023-01-17 14:16:45 +01:00
platform driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
pnp
power power supply and reset changes for the v6.2 series 2022-12-17 08:39:31 -06:00
powercap
pps
ps3
ptp Networking changes for 6.2. 2022-12-13 15:47:48 -08:00
pwm pwm: Changes for v6.2-rc1 2022-12-21 09:41:28 -08:00
rapidio driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
ras
regulator regulator: qcom-rpmh: PM8550 ldo11 regulator is an nldo 2023-01-03 15:54:38 +00:00
remoteproc
reset reset: uniphier-glue: Fix possible null-ptr-deref 2023-01-03 11:30:46 +01:00
rpmsg driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
rtc - New Drivers 2022-12-21 09:19:24 -08:00
s390 driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
sbus
scsi driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
sh maple: remove unneeded maple_bus_uevent() callback. 2023-02-01 14:01:32 +01:00
siox
slimbus driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
soc driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
soundwire driver core: make struct device_type.uevent() take a const * 2023-01-27 13:45:36 +01:00
spi driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
spmi driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
ssb driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
staging driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
target SCSI misc on 20221213 2022-12-14 08:58:51 -08:00
tc
tee driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
thermal thermal: core: call put_device() only after device_register() fails 2023-01-19 21:06:41 +01:00
thunderbolt driver core: make struct device_type.uevent() take a const * 2023-01-27 13:45:36 +01:00
tty driver core: make struct device_type.uevent() take a const * 2023-01-27 13:45:36 +01:00
ufs Merge branch '6.2/scsi-queue' into 6.2/scsi-fixes 2022-12-30 16:29:34 +00:00
uio
usb driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
vdpa vdpa_sim_net: should not drop the multicast/broadcast packet 2022-12-28 05:28:11 -05:00
vfio Driver Core changes for 6.2-rc1 2022-12-16 03:54:54 -08:00
vhost vhost_vdpa: fix the crash in unmap a large memory 2022-12-28 05:28:11 -05:00
video xen: branch for v6.2-rc4 2023-01-12 17:02:20 -06:00
virt Char/Misc driver changes for 6.2-rc1 2022-12-16 03:49:24 -08:00
virtio driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
vlynq
w1 driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
watchdog linux-watchdog 6.2-rc1 tag 2022-12-17 08:34:01 -06:00
xen driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
zorro driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
Kconfig
Makefile