[PATCH v4 1/2] drivers: bus: simple-pm-bus: Add support for probing simple bus only devices
Kevin Hilman
khilman at baylibre.com
Wed Feb 2 11:58:58 PST 2022
Kevin Hilman <khilman at baylibre.com> writes:
> Saravana Kannan <saravanak at google.com> writes:
>
>> On Mon, Jan 31, 2022 at 7:18 PM Kevin Hilman <khilman at baylibre.com> wrote:
>>>
>>> Hi Saravana,
>>>
>>> Saravana Kannan <saravanak at google.com> writes:
>>>
>>> > 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: c442a0d18744 ("driver core: Set fw_devlink to "permissive" behavior by default")
>>> > Signed-off-by: Saravana Kannan <saravanak at google.com>
>>> > Tested-by: Saravana Kannan <saravanak at google.com>
>>> > Tested-by: Ulf Hansson <ulf.hansson at linaro.org>
>>>
>>> This patch landed in stable/linux-5.10.y as commit d5f13bbb5104 and it
>>> broke suspend/resume on at least one TI AM335x board I'm testing on:
>>> upstream dts: arch/arm/boot/dts/am335x-icev2.dts, upstream defconfig:
>>> arch/arm/configs/omap2plus_defconfig.
>>>
>>> Bisecting between vanilla v5.10 (good) and stable/linux-5.10.y (bad)
>>> pointed me to this patch, and I confirmed that reverting just this patch
>>> on top of stable/linux-5.10.y makes it work again.
>>>
>>> Also interesting, this same platform works fine on vanilla v5.15, which
>>> also includes this patch. That suggests that either 1) this patch
>>> should not have been backported to v5.10 stable or 2) there are some
>>> other dependencies that are missing in v5.10.
>>>
>>> Since vanilla v5.10 works fine, I'm leaning towards (1), but if you have
>>> any ideas for deps that need backporting, I'm happy to try.
>>
>> Oh wow! I didn't realize I made so many changes AFTER 5.10! Unless I'm
>> doing something wrong with my git commands.
>> $ git log v5.10..v5.15 --oneline -- drivers/of/property.c
>> $ git log v5.10..v5.15 --oneline --author=saravanak -- drivers/base/
>>
>> If you don't think I got my git command completely wrong, yeah, way
>> too many patches are missing on 5.10. I'd go with the option of
>> dropping this patch on 5.10.
>
> I agree. Could you submit a revert for v5.10 stable? As the patch
> author, it's probably better if it comes from you.
Nevermind, I'm impatient and submitted a revert to stable[1] :)
Kevin
[1] https://lore.kernel.org/stable/20220202195705.3598798-1-khilman@baylibre.com/
More information about the linux-riscv
mailing list