kernel_optimize_test/drivers/bus
Saravana Kannan d5f13bbb51 drivers: bus: simple-pm-bus: Add support for probing simple bus only devices
commit 98e96cf80045a383fcc47c58dd4e87b3ae587b3e upstream.

fw_devlink could end up creating device links for bus only devices.
However, bus only devices don't get probed and can block probe() or
sync_state() [1] call backs of other devices. To avoid this, probe these
devices using the simple-pm-bus driver.

However, there are instances of devices that are not simple buses (they get
probed by their specific drivers) that also list the "simple-bus" (or other
bus only compatible strings) in their compatible property to automatically
populate their child devices. We still want these devices to get probed by
their specific drivers. So, we make sure this driver only probes devices
that are only buses.

[1] - https://lore.kernel.org/lkml/CAPDyKFo9Bxremkb1dDrr4OcXSpE0keVze94Cm=zrkOVxHHxBmQ@mail.gmail.com/

Fixes: c442a0d187 ("driver core: Set fw_devlink to "permissive" behavior by default")
Cc: stable <stable@vger.kernel.org>
Cc: Rob Herring <robh+dt@kernel.org>
Tested-by: Saravana Kannan <saravanak@google.com>
Tested-by: Ulf Hansson <ulf.hansson@linaro.org>
Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
Tested-by: Damien Le Moal <damien.lemoal@wdc.com>
Signed-off-by: Saravana Kannan <saravanak@google.com>
Link: https://lore.kernel.org/r/20210929000735.585237-2-saravanak@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-10-20 11:45:01 +02:00
..
fsl-mc bus: fsl-mc: fix mmio base address for child DPRCs 2021-09-18 13:40:20 +02:00
mhi bus: mhi: core: Validate channel ID when processing command completions 2021-07-28 14:35:45 +02:00
arm-cci.c
arm-integrator-lm.c bus: arm-integrator-lm: Fix return value check in integrator_ap_lm_probe() 2020-05-26 00:02:42 +02:00
brcmstb_gisb.c bus: brcmstb_gisb: Add support for breakpoint interrupts 2020-09-06 20:10:44 -07:00
bt1-apb.c bus: bt1-apb: Use sysfs_streq instead of strncmp 2020-05-28 16:56:56 +02:00
bt1-axi.c bus: bt1-axi: Use sysfs_streq instead of strncmp 2020-05-28 16:57:12 +02:00
da8xx-mstpri.c
hisi_lpc.c
imx-weim.c
Kconfig bus: cdmm: Add MIPS R5 arch support 2020-07-21 10:25:42 +02:00
Makefile ARM/SoC: drivers for v5.7 2020-06-04 19:56:20 -07:00
mips_cdmm.c mips: cdmm: fix use-after-free in mips_cdmm_bus_discover 2020-12-30 11:53:24 +01:00
moxtet.c
mvebu-mbus.c arch, drivers: replace for_each_membock() with for_each_mem_range() 2020-10-13 18:38:35 -07:00
omap_l3_noc.c bus: omap_l3_noc: mark l3 irqs as IRQF_NO_THREAD 2021-03-30 14:31:56 +02:00
omap_l3_noc.h
omap_l3_smx.c
omap_l3_smx.h
omap-ocp2scp.c
qcom-ebi2.c bus: qcom: Put child node before return 2021-05-14 09:50:13 +02:00
simple-pm-bus.c drivers: bus: simple-pm-bus: Add support for probing simple bus only devices 2021-10-20 11:45:01 +02:00
sun50i-de2.c
sunxi-rsb.c
tegra-aconnect.c
tegra-gmi.c
ti-pwmss.c
ti-sysc.c bus: ti-sysc: Use CLKDM_NOAUTO for dra7 dcan1 for errata i893 2021-10-13 10:04:28 +02:00
ts-nbus.c
uniphier-system-bus.c
vexpress-config.c bus: vexpress-config: Support building as module 2020-05-13 12:42:46 -05:00