diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-04-15 20:35:19 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-04-15 20:35:19 -0400 |
commit | 9a8e5d41124a7352e554581333d4d9689dc1526b (patch) | |
tree | 88e74fe2cdca5ca2d1d5424a728ade00a12f05d3 /drivers | |
parent | 12e993b89464707398e4209bd99983e376454985 (diff) | |
parent | 708e5978dfee0090a27c5531ce3b017dd6d190a2 (diff) |
Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm
Pull ARM fixes from Russell King:
"Nothing too disasterous, the biggest thing being the removal of the
regulator support for vcore in the AMBA driver; only one SoC was using
this and it got broken during the last merge window, which then
started causing problems for other people. Mutual agreement was
reached for it to be removed."
* 'fixes' of git://git.linaro.org/people/rmk/linux-arm:
ARM: 7386/1: jump_label: fixup for rename to static_key
ARM: 7384/1: ThumbEE: Disable userspace TEEHBR access for !CONFIG_ARM_THUMBEE
ARM: 7382/1: mm: truncate memory banks to fit in 4GB space for classic MMU
ARM: 7359/2: smp_twd: Only wait for reprogramming on active cpus
ARM: 7383/1: nommu: populate vectors page from paging_init
ARM: 7381/1: nommu: fix typo in mm/Kconfig
ARM: 7380/1: DT: do not add a zero-sized memory property
ARM: 7379/1: DT: fix atags_to_fdt() second call site
ARM: 7366/3: amba: Remove AMBA level regulator support
ARM: 7377/1: vic: re-read status register before dispatching each IRQ handler
ARM: 7368/1: fault.c: correct how the tsk->[maj|min]_flt gets incremented
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/amba/bus.c | 42 | ||||
-rw-r--r-- | drivers/mfd/db8500-prcmu.c | 1 | ||||
-rw-r--r-- | drivers/spi/spi-pl022.c | 2 |
3 files changed, 2 insertions, 43 deletions
diff --git a/drivers/amba/bus.c b/drivers/amba/bus.c index 01c2cf4efcdd..cc273226dbd0 100644 --- a/drivers/amba/bus.c +++ b/drivers/amba/bus.c | |||
@@ -247,8 +247,7 @@ static int amba_pm_restore(struct device *dev) | |||
247 | /* | 247 | /* |
248 | * Hooks to provide runtime PM of the pclk (bus clock). It is safe to | 248 | * Hooks to provide runtime PM of the pclk (bus clock). It is safe to |
249 | * enable/disable the bus clock at runtime PM suspend/resume as this | 249 | * enable/disable the bus clock at runtime PM suspend/resume as this |
250 | * does not result in loss of context. However, disabling vcore power | 250 | * does not result in loss of context. |
251 | * would do, so we leave that to the driver. | ||
252 | */ | 251 | */ |
253 | static int amba_pm_runtime_suspend(struct device *dev) | 252 | static int amba_pm_runtime_suspend(struct device *dev) |
254 | { | 253 | { |
@@ -354,39 +353,6 @@ static void amba_put_disable_pclk(struct amba_device *pcdev) | |||
354 | clk_put(pclk); | 353 | clk_put(pclk); |
355 | } | 354 | } |
356 | 355 | ||
357 | static int amba_get_enable_vcore(struct amba_device *pcdev) | ||
358 | { | ||
359 | struct regulator *vcore = regulator_get(&pcdev->dev, "vcore"); | ||
360 | int ret; | ||
361 | |||
362 | pcdev->vcore = vcore; | ||
363 | |||
364 | if (IS_ERR(vcore)) { | ||
365 | /* It is OK not to supply a vcore regulator */ | ||
366 | if (PTR_ERR(vcore) == -ENODEV) | ||
367 | return 0; | ||
368 | return PTR_ERR(vcore); | ||
369 | } | ||
370 | |||
371 | ret = regulator_enable(vcore); | ||
372 | if (ret) { | ||
373 | regulator_put(vcore); | ||
374 | pcdev->vcore = ERR_PTR(-ENODEV); | ||
375 | } | ||
376 | |||
377 | return ret; | ||
378 | } | ||
379 | |||
380 | static void amba_put_disable_vcore(struct amba_device *pcdev) | ||
381 | { | ||
382 | struct regulator *vcore = pcdev->vcore; | ||
383 | |||
384 | if (!IS_ERR(vcore)) { | ||
385 | regulator_disable(vcore); | ||
386 | regulator_put(vcore); | ||
387 | } | ||
388 | } | ||
389 | |||
390 | /* | 356 | /* |
391 | * These are the device model conversion veneers; they convert the | 357 | * These are the device model conversion veneers; they convert the |
392 | * device model structures to our more specific structures. | 358 | * device model structures to our more specific structures. |
@@ -399,10 +365,6 @@ static int amba_probe(struct device *dev) | |||
399 | int ret; | 365 | int ret; |
400 | 366 | ||
401 | do { | 367 | do { |
402 | ret = amba_get_enable_vcore(pcdev); | ||
403 | if (ret) | ||
404 | break; | ||
405 | |||
406 | ret = amba_get_enable_pclk(pcdev); | 368 | ret = amba_get_enable_pclk(pcdev); |
407 | if (ret) | 369 | if (ret) |
408 | break; | 370 | break; |
@@ -420,7 +382,6 @@ static int amba_probe(struct device *dev) | |||
420 | pm_runtime_put_noidle(dev); | 382 | pm_runtime_put_noidle(dev); |
421 | 383 | ||
422 | amba_put_disable_pclk(pcdev); | 384 | amba_put_disable_pclk(pcdev); |
423 | amba_put_disable_vcore(pcdev); | ||
424 | } while (0); | 385 | } while (0); |
425 | 386 | ||
426 | return ret; | 387 | return ret; |
@@ -442,7 +403,6 @@ static int amba_remove(struct device *dev) | |||
442 | pm_runtime_put_noidle(dev); | 403 | pm_runtime_put_noidle(dev); |
443 | 404 | ||
444 | amba_put_disable_pclk(pcdev); | 405 | amba_put_disable_pclk(pcdev); |
445 | amba_put_disable_vcore(pcdev); | ||
446 | 406 | ||
447 | return ret; | 407 | return ret; |
448 | } | 408 | } |
diff --git a/drivers/mfd/db8500-prcmu.c b/drivers/mfd/db8500-prcmu.c index ebc1e8658226..5be32489714f 100644 --- a/drivers/mfd/db8500-prcmu.c +++ b/drivers/mfd/db8500-prcmu.c | |||
@@ -2788,6 +2788,7 @@ static struct regulator_init_data db8500_regulators[DB8500_NUM_REGULATORS] = { | |||
2788 | .constraints = { | 2788 | .constraints = { |
2789 | .name = "db8500-vape", | 2789 | .name = "db8500-vape", |
2790 | .valid_ops_mask = REGULATOR_CHANGE_STATUS, | 2790 | .valid_ops_mask = REGULATOR_CHANGE_STATUS, |
2791 | .always_on = true, | ||
2791 | }, | 2792 | }, |
2792 | .consumer_supplies = db8500_vape_consumers, | 2793 | .consumer_supplies = db8500_vape_consumers, |
2793 | .num_consumer_supplies = ARRAY_SIZE(db8500_vape_consumers), | 2794 | .num_consumer_supplies = ARRAY_SIZE(db8500_vape_consumers), |
diff --git a/drivers/spi/spi-pl022.c b/drivers/spi/spi-pl022.c index 96f0da66b185..09c925aaf320 100644 --- a/drivers/spi/spi-pl022.c +++ b/drivers/spi/spi-pl022.c | |||
@@ -2195,7 +2195,6 @@ static int pl022_runtime_suspend(struct device *dev) | |||
2195 | struct pl022 *pl022 = dev_get_drvdata(dev); | 2195 | struct pl022 *pl022 = dev_get_drvdata(dev); |
2196 | 2196 | ||
2197 | clk_disable(pl022->clk); | 2197 | clk_disable(pl022->clk); |
2198 | amba_vcore_disable(pl022->adev); | ||
2199 | 2198 | ||
2200 | return 0; | 2199 | return 0; |
2201 | } | 2200 | } |
@@ -2204,7 +2203,6 @@ static int pl022_runtime_resume(struct device *dev) | |||
2204 | { | 2203 | { |
2205 | struct pl022 *pl022 = dev_get_drvdata(dev); | 2204 | struct pl022 *pl022 = dev_get_drvdata(dev); |
2206 | 2205 | ||
2207 | amba_vcore_enable(pl022->adev); | ||
2208 | clk_enable(pl022->clk); | 2206 | clk_enable(pl022->clk); |
2209 | 2207 | ||
2210 | return 0; | 2208 | return 0; |