6399db88e9e89a26c09ee2baa69248c02c5f1de1
[openwrt/staging/aparcar.git] /
1 From 81f47bb7d51490b62ba2fad6c0be42bf0e4e13a2 Mon Sep 17 00:00:00 2001
2 From: Eric Anholt <eric@anholt.net>
3 Date: Fri, 11 Jan 2019 17:29:10 -0800
4 Subject: [PATCH 562/703] soc: bcm: bcm2835-pm: Fix PM_IMAGE_PERI power domain
5 support.
6
7 We don't have ASB master/slave regs for this domain, so just skip that
8 step.
9
10 Signed-off-by: Eric Anholt <eric@anholt.net>
11 Fixes: 670c672608a1 ("soc: bcm: bcm2835-pm: Add support for power domains under a new binding.")
12 ---
13 drivers/soc/bcm/bcm2835-power.c | 14 ++++++++++++--
14 1 file changed, 12 insertions(+), 2 deletions(-)
15
16 --- a/drivers/soc/bcm/bcm2835-power.c
17 +++ b/drivers/soc/bcm/bcm2835-power.c
18 @@ -150,7 +150,12 @@ struct bcm2835_power {
19
20 static int bcm2835_asb_enable(struct bcm2835_power *power, u32 reg)
21 {
22 - u64 start = ktime_get_ns();
23 + u64 start;
24 +
25 + if (!reg)
26 + return 0;
27 +
28 + start = ktime_get_ns();
29
30 /* Enable the module's async AXI bridges. */
31 ASB_WRITE(reg, ASB_READ(reg) & ~ASB_REQ_STOP);
32 @@ -165,7 +170,12 @@ static int bcm2835_asb_enable(struct bcm
33
34 static int bcm2835_asb_disable(struct bcm2835_power *power, u32 reg)
35 {
36 - u64 start = ktime_get_ns();
37 + u64 start;
38 +
39 + if (!reg)
40 + return 0;
41 +
42 + start = ktime_get_ns();
43
44 /* Enable the module's async AXI bridges. */
45 ASB_WRITE(reg, ASB_READ(reg) | ASB_REQ_STOP);