aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/soc
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2019-02-20 10:19:50 -0800
committerEric Anholt <eric@anholt.net>2019-03-04 15:32:34 -0800
commit7f3d6c8e8f5f041c86c0a9f64e4b4ab7c6373ac2 (patch)
treeb3bc4e12905da5de8cb4d02a91f78075280a2a4a /drivers/soc
parentARM: bcm283x: Switch V3D over to using the PM driver instead of firmware. (diff)
downloadlinux-dev-7f3d6c8e8f5f041c86c0a9f64e4b4ab7c6373ac2.tar.xz
linux-dev-7f3d6c8e8f5f041c86c0a9f64e4b4ab7c6373ac2.zip
soc: bcm: bcm2835-pm: Fix PM_IMAGE_PERI power domain support.
We don't have ASB master/slave regs for this domain, so just skip that step. Signed-off-by: Eric Anholt <eric@anholt.net> Fixes: 670c672608a1 ("soc: bcm: bcm2835-pm: Add support for power domains under a new binding.")
Diffstat (limited to 'drivers/soc')
-rw-r--r--drivers/soc/bcm/bcm2835-power.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/drivers/soc/bcm/bcm2835-power.c b/drivers/soc/bcm/bcm2835-power.c
index 48412957ec7a..4a1b99b773c0 100644
--- a/drivers/soc/bcm/bcm2835-power.c
+++ b/drivers/soc/bcm/bcm2835-power.c
@@ -150,7 +150,12 @@ struct bcm2835_power {
static int bcm2835_asb_enable(struct bcm2835_power *power, u32 reg)
{
- u64 start = ktime_get_ns();
+ u64 start;
+
+ if (!reg)
+ return 0;
+
+ start = ktime_get_ns();
/* Enable the module's async AXI bridges. */
ASB_WRITE(reg, ASB_READ(reg) & ~ASB_REQ_STOP);
@@ -165,7 +170,12 @@ static int bcm2835_asb_enable(struct bcm2835_power *power, u32 reg)
static int bcm2835_asb_disable(struct bcm2835_power *power, u32 reg)
{
- u64 start = ktime_get_ns();
+ u64 start;
+
+ if (!reg)
+ return 0;
+
+ start = ktime_get_ns();
/* Enable the module's async AXI bridges. */
ASB_WRITE(reg, ASB_READ(reg) | ASB_REQ_STOP);