Regression: PM: domains: Delete usage of driver_deferred_probe_check_state
Peng Fan
peng.fan at nxp.com
Mon Aug 15 23:21:40 PDT 2022
Hi Saravana,
The following two patches breaks NXP i.MX8ULP, but I think
it may break others use SCMI.
commit 5a46079a96451cfb15e4f5f01f73f7ba24ef851a
Author: Saravana Kannan <mailto:saravanak at google.com>
Date: Wed Jun 1 00:06:57 2022 -0700
PM: domains: Delete usage of driver_deferred_probe_check_state()
Now that fw_devlink=on by default and fw_devlink supports
"power-domains" property, the execution will never get to the point
where driver_deferred_probe_check_state() is called before the supplier
has probed successfully or before deferred probe timeout has expired.
So, delete the call and replace it with -ENODEV.
Tested-by: Geert Uytterhoeven <mailto:geert+renesas at glider.be>
Reviewed-by: Ulf Hansson <mailto:ulf.hansson at linaro.org>
Signed-off-by: Saravana Kannan <mailto:saravanak at google.com>
Link: https://lore.kernel.org/r/20220601070707.3946847-2-saravanak@google.com
Signed-off-by: Greg Kroah-Hartman <mailto:gregkh at linuxfoundation.org>
commit 9cbffc7a59561be950ecc675d19a3d2b45202b2b
Author: Saravana Kannan <mailto:saravanak at google.com>
Date: Wed Jun 1 00:07:05 2022 -0700
driver core: Delete driver_deferred_probe_check_state()
The function is no longer used. So delete it.
Tested-by: Geert Uytterhoeven <mailto:geert+renesas at glider.be>
Signed-off-by: Saravana Kannan <mailto:saravanak at google.com>
Link: https://lore.kernel.org/r/20220601070707.3946847-10-saravanak@google.com
Signed-off-by: Greg Kroah-Hartman <mailto:gregkh at linuxfoundation.org>
The i.MX8ULP mmc device node use
"power-domains = <&scmi_devpd IMX8ULP_PD_USDHC0>;"
The scmi firmware node as below:
firmware {
scmi {
compatible = "arm,scmi-smc";
arm,smc-id = <0xc20000fe>;
#address-cells = <1>;
#size-cells = <0>;
shmem = <&scmi_buf>;
scmi_devpd: protocol at 11 {
reg = <0x11>;
#power-domain-cells = <1>;
};
scmi_sensor: protocol at 15 {
reg = <0x15>;
#thermal-sensor-cells = <1>;
};
};
};
When sdhc driver probe, the scmi power domain provider has not
been registered. So __genpd_dev_pm_attach directly return
-ENODEV.
device_links_check_suppliers should already check suppliers,
but scmi protocol device not have compatible, so
of_link_to_phandle
|-> of_get_compat_node
use the parent node of scmi protocol as supplier if I understand
correct.
I am not sure whether we need to revert the above two patches,
or do you have other suggestions?
Thanks,
Peng.
More information about the linux-arm-kernel
mailing list