linux/drivers/soc
Jon Hunter a83f1fc3f3 soc/tegra: pmc: Don't probe PMC if early initialisation fails
Commit 0259f522e0 ('soc/tegra: pmc: Restore base address on probe
failure') fixes an issue where the PMC base address pointer is not
restored on probe failure. However, this fix creates another problem
where if early initialisation of the PMC driver fails and an initial
mapping for the PMC address space is not created, then when the PMC
device is probed, the PMC base address pointer will not be valid and
this will cause a crash when tegra_pmc_init() is called and attempts
to access a register.

Although the PMC address space is mapped a 2nd time during the probe
and so this could be fixed by populating the base address pointer
earlier during the probe, this adds more complexity to the code.
Moreover, the PMC probe also assumes the the soc data pointer is also
initialised when the device is probed and if not will also lead to a
crash when calling tegra_pmc_init_tsense_reset(). Given that if the
early initialisation does fail then something bad has happen, it seems
acceptable to allow the PMC device probe to fail as well. Therefore, if
the PMC base address pointer or soc data pointer are not valid when
probing the PMC device, WARN and return an error.

Fixes: 0259f522e0 ('soc/tegra: pmc: Restore base address on probe failure')
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2016-06-30 12:23:27 +02:00
..
bcm ARM: bcm2835: clarify RASPBERRYPI_FIRMWARE dependency 2015-12-31 23:44:17 +01:00
brcmstb soc: brcmstb: Unmap sun_top_ctrl_base on errors 2016-04-26 01:13:54 +02:00
dove soc: dove: add legacy support to PMU driver 2015-12-08 13:19:29 +01:00
fsl powerpc: qe_lib-gpio: use gpiochip data pointer 2016-03-30 10:53:04 +02:00
mediatek soc: mtk-pmic-wrap: avoid integer overflow warning 2016-05-19 15:20:24 +02:00
qcom Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2016-05-17 16:26:30 -07:00
renesas soc: renesas: rcar-sysc: Add support for R-Car H3 power areas 2016-04-26 09:56:38 +10:00
rockchip soc: rockchip: power-domain: support qos save and restore 2016-04-21 23:02:16 +02:00
samsung drivers: soc: samsung: Enable COMPILE_TEST 2016-02-25 11:25:40 +09:00
sunxi drivers: soc: sunxi: Fix mask generation for SRAM mapping 2016-01-27 20:29:20 +01:00
tegra soc/tegra: pmc: Don't probe PMC if early initialisation fails 2016-06-30 12:23:27 +02:00
ti soc: TI knav_qmss: fix dma_addr_t printing 2016-02-26 17:53:06 +01:00
versatile soc: versatile: dynamically detect RealView HBI numbers 2016-04-04 10:58:47 +02:00
Kconfig drivers: soc: Add support for Exynos PMU driver 2016-02-25 10:18:07 +09:00
Makefile soc: renesas: Move pm-rcar to drivers/soc/renesas/rcar-sysc 2016-04-22 17:23:13 +10:00