aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-omap2/Makefile1
-rw-r--r--arch/arm/mach-omap2/omap-pm-noop.c (renamed from arch/arm/plat-omap/omap-pm-noop.c)4
-rw-r--r--arch/arm/mach-omap2/timer.c2
-rw-r--r--arch/arm/plat-omap/Makefile1
-rw-r--r--arch/arm/plat-omap/dmtimer.c17
-rw-r--r--arch/arm/plat-omap/include/plat/dmtimer.h2
-rw-r--r--drivers/media/platform/omap3isp/ispvideo.c1
7 files changed, 17 insertions, 11 deletions
diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
index e3de5d4a57d6..b118ed5f61a9 100644
--- a/arch/arm/mach-omap2/Makefile
+++ b/arch/arm/mach-omap2/Makefile
@@ -70,6 +70,7 @@ obj-$(CONFIG_ARCH_OMAP4) += pm44xx.o omap-mpuss-lowpower.o
70obj-$(CONFIG_ARCH_OMAP4) += sleep44xx.o 70obj-$(CONFIG_ARCH_OMAP4) += sleep44xx.o
71obj-$(CONFIG_SOC_OMAP5) += omap-mpuss-lowpower.o sleep44xx.o 71obj-$(CONFIG_SOC_OMAP5) += omap-mpuss-lowpower.o sleep44xx.o
72obj-$(CONFIG_PM_DEBUG) += pm-debug.o 72obj-$(CONFIG_PM_DEBUG) += pm-debug.o
73obj-$(CONFIG_OMAP_PM_NOOP) += omap-pm-noop.o
73 74
74obj-$(CONFIG_POWER_AVS_OMAP) += sr_device.o 75obj-$(CONFIG_POWER_AVS_OMAP) += sr_device.o
75obj-$(CONFIG_POWER_AVS_OMAP_CLASS3) += smartreflex-class3.o 76obj-$(CONFIG_POWER_AVS_OMAP_CLASS3) += smartreflex-class3.o
diff --git a/arch/arm/plat-omap/omap-pm-noop.c b/arch/arm/mach-omap2/omap-pm-noop.c
index 198685b894b0..6a3be2bebddb 100644
--- a/arch/arm/plat-omap/omap-pm-noop.c
+++ b/arch/arm/mach-omap2/omap-pm-noop.c
@@ -22,8 +22,8 @@
22#include <linux/device.h> 22#include <linux/device.h>
23#include <linux/platform_device.h> 23#include <linux/platform_device.h>
24 24
25#include "../mach-omap2/omap_device.h" 25#include "omap_device.h"
26#include "../mach-omap2/omap-pm.h" 26#include "omap-pm.h"
27 27
28static bool off_mode_enabled; 28static bool off_mode_enabled;
29static int dummy_context_loss_counter; 29static int dummy_context_loss_counter;
diff --git a/arch/arm/mach-omap2/timer.c b/arch/arm/mach-omap2/timer.c
index 565e5755c9bc..95e447890cd5 100644
--- a/arch/arm/mach-omap2/timer.c
+++ b/arch/arm/mach-omap2/timer.c
@@ -559,6 +559,8 @@ static int __init omap_timer_init(struct omap_hwmod *oh, void *unused)
559 if (timer_dev_attr) 559 if (timer_dev_attr)
560 pdata->timer_capability = timer_dev_attr->timer_capability; 560 pdata->timer_capability = timer_dev_attr->timer_capability;
561 561
562 pdata->get_context_loss_count = omap_pm_get_dev_context_loss_count;
563
562 pdev = omap_device_build(name, id, oh, pdata, sizeof(*pdata), 564 pdev = omap_device_build(name, id, oh, pdata, sizeof(*pdata),
563 NULL, 0, 0); 565 NULL, 0, 0);
564 566
diff --git a/arch/arm/plat-omap/Makefile b/arch/arm/plat-omap/Makefile
index 4bd0ace20e98..50da9bf5d95c 100644
--- a/arch/arm/plat-omap/Makefile
+++ b/arch/arm/plat-omap/Makefile
@@ -19,4 +19,3 @@ obj-y += $(i2c-omap-m) $(i2c-omap-y)
19# OMAP mailbox framework 19# OMAP mailbox framework
20obj-$(CONFIG_OMAP_MBOX_FWK) += mailbox.o 20obj-$(CONFIG_OMAP_MBOX_FWK) += mailbox.o
21 21
22obj-$(CONFIG_OMAP_PM_NOOP) += omap-pm-noop.o
diff --git a/arch/arm/plat-omap/dmtimer.c b/arch/arm/plat-omap/dmtimer.c
index 4a0b30a4ebda..9a0bbc455de7 100644
--- a/arch/arm/plat-omap/dmtimer.c
+++ b/arch/arm/plat-omap/dmtimer.c
@@ -45,8 +45,6 @@
45 45
46#include <mach/hardware.h> 46#include <mach/hardware.h>
47 47
48#include "../mach-omap2/omap-pm.h"
49
50static u32 omap_reserved_systimers; 48static u32 omap_reserved_systimers;
51static LIST_HEAD(omap_timer_list); 49static LIST_HEAD(omap_timer_list);
52static DEFINE_SPINLOCK(dm_timer_lock); 50static DEFINE_SPINLOCK(dm_timer_lock);
@@ -349,7 +347,8 @@ int omap_dm_timer_start(struct omap_dm_timer *timer)
349 omap_dm_timer_enable(timer); 347 omap_dm_timer_enable(timer);
350 348
351 if (!(timer->capability & OMAP_TIMER_ALWON)) { 349 if (!(timer->capability & OMAP_TIMER_ALWON)) {
352 if (omap_pm_get_dev_context_loss_count(&timer->pdev->dev) != 350 if (timer->get_context_loss_count &&
351 timer->get_context_loss_count(&timer->pdev->dev) !=
353 timer->ctx_loss_count) 352 timer->ctx_loss_count)
354 omap_timer_restore_context(timer); 353 omap_timer_restore_context(timer);
355 } 354 }
@@ -378,9 +377,11 @@ int omap_dm_timer_stop(struct omap_dm_timer *timer)
378 377
379 __omap_dm_timer_stop(timer, timer->posted, rate); 378 __omap_dm_timer_stop(timer, timer->posted, rate);
380 379
381 if (!(timer->capability & OMAP_TIMER_ALWON)) 380 if (!(timer->capability & OMAP_TIMER_ALWON)) {
382 timer->ctx_loss_count = 381 if (timer->get_context_loss_count)
383 omap_pm_get_dev_context_loss_count(&timer->pdev->dev); 382 timer->ctx_loss_count =
383 timer->get_context_loss_count(&timer->pdev->dev);
384 }
384 385
385 /* 386 /*
386 * Since the register values are computed and written within 387 * Since the register values are computed and written within
@@ -496,7 +497,8 @@ int omap_dm_timer_set_load_start(struct omap_dm_timer *timer, int autoreload,
496 omap_dm_timer_enable(timer); 497 omap_dm_timer_enable(timer);
497 498
498 if (!(timer->capability & OMAP_TIMER_ALWON)) { 499 if (!(timer->capability & OMAP_TIMER_ALWON)) {
499 if (omap_pm_get_dev_context_loss_count(&timer->pdev->dev) != 500 if (timer->get_context_loss_count &&
501 timer->get_context_loss_count(&timer->pdev->dev) !=
500 timer->ctx_loss_count) 502 timer->ctx_loss_count)
501 omap_timer_restore_context(timer); 503 omap_timer_restore_context(timer);
502 } 504 }
@@ -730,6 +732,7 @@ static int __devinit omap_dm_timer_probe(struct platform_device *pdev)
730 timer->reserved = omap_dm_timer_reserved_systimer(timer->id); 732 timer->reserved = omap_dm_timer_reserved_systimer(timer->id);
731 timer->pdev = pdev; 733 timer->pdev = pdev;
732 timer->capability = pdata->timer_capability; 734 timer->capability = pdata->timer_capability;
735 timer->get_context_loss_count = pdata->get_context_loss_count;
733 736
734 /* Skip pm_runtime_enable for OMAP1 */ 737 /* Skip pm_runtime_enable for OMAP1 */
735 if (!(timer->capability & OMAP_TIMER_NEEDS_RESET)) { 738 if (!(timer->capability & OMAP_TIMER_NEEDS_RESET)) {
diff --git a/arch/arm/plat-omap/include/plat/dmtimer.h b/arch/arm/plat-omap/include/plat/dmtimer.h
index 85868e98c11c..3f5b9cfd9c0b 100644
--- a/arch/arm/plat-omap/include/plat/dmtimer.h
+++ b/arch/arm/plat-omap/include/plat/dmtimer.h
@@ -94,6 +94,7 @@ struct dmtimer_platform_data {
94 /* set_timer_src - Only used for OMAP1 devices */ 94 /* set_timer_src - Only used for OMAP1 devices */
95 int (*set_timer_src)(struct platform_device *pdev, int source); 95 int (*set_timer_src)(struct platform_device *pdev, int source);
96 u32 timer_capability; 96 u32 timer_capability;
97 int (*get_context_loss_count)(struct device *);
97}; 98};
98 99
99int omap_dm_timer_reserve_systimer(int id); 100int omap_dm_timer_reserve_systimer(int id);
@@ -263,6 +264,7 @@ struct omap_dm_timer {
263 unsigned reserved:1; 264 unsigned reserved:1;
264 unsigned posted:1; 265 unsigned posted:1;
265 struct timer_regs context; 266 struct timer_regs context;
267 int (*get_context_loss_count)(struct device *);
266 int ctx_loss_count; 268 int ctx_loss_count;
267 int revision; 269 int revision;
268 u32 capability; 270 u32 capability;
diff --git a/drivers/media/platform/omap3isp/ispvideo.c b/drivers/media/platform/omap3isp/ispvideo.c
index a0b737fecf13..5bd40e6870cc 100644
--- a/drivers/media/platform/omap3isp/ispvideo.c
+++ b/drivers/media/platform/omap3isp/ispvideo.c
@@ -36,7 +36,6 @@
36#include <media/v4l2-ioctl.h> 36#include <media/v4l2-ioctl.h>
37#include <plat/iommu.h> 37#include <plat/iommu.h>
38#include <plat/iovmm.h> 38#include <plat/iovmm.h>
39#include <plat/omap-pm.h>
40 39
41#include "ispvideo.h" 40#include "ispvideo.h"
42#include "isp.h" 41#include "isp.h"