Early resume Tegra BPMP to fix Xavier clock rate error as follows:
[ 159.017101] of_serial
3110000.serial: calling platform_pm_resume+0x0/0x58 @ 317, parent: cbb
[ 159.025501] of_serial
3110000.serial: platform_pm_resume+0x0/0x58 returned 0 after 14 usecs
[ 159.033694] tegra-i2c
31c0000.i2c: calling platform_pm_resume+0x0/0x58 @ 317, parent: cbb
[ 159.042254] tegra-i2c
31c0000.i2c: failed changing clock rate: -22
[ 159.048216] PM: dpm_run_callback(): platform_pm_resume+0x0/0x58 returns -22
[ 159.055553] tegra-i2c
31c0000.i2c: platform_pm_resume+0x0/0x58 returned -22 after 13072 usecs
[ 159.063875] PM: Device
31c0000.i2c failed to resume: error -22
Signed-off-by: Bitan Biswas <bbiswas@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
return 0;
}
-static SIMPLE_DEV_PM_OPS(tegra_bpmp_pm_ops, NULL, tegra_bpmp_resume);
+static const struct dev_pm_ops tegra_bpmp_pm_ops = {
+ .resume_early = tegra_bpmp_resume,
+};
#if IS_ENABLED(CONFIG_ARCH_TEGRA_186_SOC) || \
IS_ENABLED(CONFIG_ARCH_TEGRA_194_SOC)