diff --git a/drivers/soc/tegra/Kconfig b/drivers/soc/tegra/Kconfig index 073346c1542b..8b6fdb9ad1ea 100644 --- a/drivers/soc/tegra/Kconfig +++ b/drivers/soc/tegra/Kconfig @@ -171,6 +171,7 @@ config SOC_TEGRA_FLOWCTRL config SOC_TEGRA_PMC bool + depends on PM select GENERIC_PINCONF select IRQ_DOMAIN_HIERARCHY select PM_OPP diff --git a/drivers/soc/tegra/cbb/tegra194-cbb.c b/drivers/soc/tegra/cbb/tegra194-cbb.c index 2f69e104c838..69ef929e04f8 100644 --- a/drivers/soc/tegra/cbb/tegra194-cbb.c +++ b/drivers/soc/tegra/cbb/tegra194-cbb.c @@ -2072,20 +2072,15 @@ static int tegra194_cbb_interrupt_enable(struct tegra_cbb *cbb) if (priv->sec_irq) { err = devm_request_irq(dev, priv->sec_irq, tegra194_cbb_err_isr, 0, dev_name(dev), priv); - if (err) { - dev_err(dev, "failed to register interrupt %u: %d\n", priv->sec_irq, err); + if (err) return err; - } } if (priv->nonsec_irq) { err = devm_request_irq(dev, priv->nonsec_irq, tegra194_cbb_err_isr, 0, dev_name(dev), priv); - if (err) { - dev_err(dev, "failed to register interrupt %u: %d\n", priv->nonsec_irq, - err); + if (err) return err; - } } return 0; diff --git a/drivers/soc/tegra/fuse/fuse-tegra.c b/drivers/soc/tegra/fuse/fuse-tegra.c index 78b054d43a42..39654964c35c 100644 --- a/drivers/soc/tegra/fuse/fuse-tegra.c +++ b/drivers/soc/tegra/fuse/fuse-tegra.c @@ -258,6 +258,7 @@ static int tegra_fuse_probe(struct platform_device *pdev) static int __maybe_unused tegra_fuse_runtime_resume(struct device *dev) { + struct tegra_fuse *fuse = dev_get_drvdata(dev); int err; err = clk_prepare_enable(fuse->clk); @@ -271,6 +272,8 @@ static int __maybe_unused tegra_fuse_runtime_resume(struct device *dev) static int __maybe_unused tegra_fuse_runtime_suspend(struct device *dev) { + struct tegra_fuse *fuse = dev_get_drvdata(dev); + clk_disable_unprepare(fuse->clk); return 0; @@ -278,6 +281,7 @@ static int __maybe_unused tegra_fuse_runtime_suspend(struct device *dev) static int __maybe_unused tegra_fuse_suspend(struct device *dev) { + struct tegra_fuse *fuse = dev_get_drvdata(dev); int ret; /* @@ -294,6 +298,7 @@ static int __maybe_unused tegra_fuse_suspend(struct device *dev) static int __maybe_unused tegra_fuse_resume(struct device *dev) { + struct tegra_fuse *fuse = dev_get_drvdata(dev); int ret = 0; if (fuse->soc->clk_suspend_on) diff --git a/drivers/soc/tegra/fuse/fuse-tegra30.c b/drivers/soc/tegra/fuse/fuse-tegra30.c index 524fa1b0cd3d..2fad8b13a3b9 100644 --- a/drivers/soc/tegra/fuse/fuse-tegra30.c +++ b/drivers/soc/tegra/fuse/fuse-tegra30.c @@ -64,28 +64,6 @@ static u32 tegra30_fuse_read(struct tegra_fuse *fuse, unsigned int offset) return value; } -static void __init tegra30_fuse_add_randomness(void) -{ - u32 randomness[12]; - - randomness[0] = tegra_sku_info.sku_id; - randomness[1] = tegra_read_straps(); - randomness[2] = tegra_read_chipid(); - randomness[3] = tegra_sku_info.cpu_process_id << 16; - randomness[3] |= tegra_sku_info.soc_process_id; - randomness[4] = tegra_sku_info.cpu_speedo_id << 16; - randomness[4] |= tegra_sku_info.soc_speedo_id; - randomness[5] = tegra_fuse_read_early(FUSE_VENDOR_CODE); - randomness[6] = tegra_fuse_read_early(FUSE_FAB_CODE); - randomness[7] = tegra_fuse_read_early(FUSE_LOT_CODE_0); - randomness[8] = tegra_fuse_read_early(FUSE_LOT_CODE_1); - randomness[9] = tegra_fuse_read_early(FUSE_WAFER_ID); - randomness[10] = tegra_fuse_read_early(FUSE_X_COORDINATE); - randomness[11] = tegra_fuse_read_early(FUSE_Y_COORDINATE); - - add_device_randomness(randomness, sizeof(randomness)); -} - static void __init tegra30_fuse_init(struct tegra_fuse *fuse) { fuse->read_early = tegra30_fuse_read_early; @@ -95,8 +73,6 @@ static void __init tegra30_fuse_init(struct tegra_fuse *fuse) if (fuse->soc->speedo_init) fuse->soc->speedo_init(&tegra_sku_info); - - tegra30_fuse_add_randomness(); } #endif diff --git a/drivers/soc/tegra/pmc.c b/drivers/soc/tegra/pmc.c index f419a5395545..41ed716d5857 100644 --- a/drivers/soc/tegra/pmc.c +++ b/drivers/soc/tegra/pmc.c @@ -3074,15 +3074,18 @@ static int tegra_pmc_probe(struct platform_device *pdev) } } - err = devm_register_sys_off_handler(&pdev->dev, - SYS_OFF_MODE_RESTART, - SYS_OFF_PRIO_LOW, - tegra_pmc_restart_handler, - pmc); - if (err) { - dev_err(&pdev->dev, "failed to register sys-off handler: %d\n", - err); - return err; + if (dev_to_node(&pdev->dev) == NUMA_NO_NODE) { + err = devm_register_sys_off_handler(&pdev->dev, + SYS_OFF_MODE_RESTART, + SYS_OFF_PRIO_LOW, + tegra_pmc_restart_handler, + pmc); + if (err) { + dev_err(&pdev->dev, + "failed to register sys-off handler: %d\n", + err); + return err; + } } /*