diff options
author | Kevin Hilman <khilman@deeprootsystems.com> | 2009-12-08 18:34:23 -0500 |
---|---|---|
committer | paul <paul@twilight.(none)> | 2009-12-11 19:00:44 -0500 |
commit | d22926677f2244a6b68e7ea21d6c9338659c17aa (patch) | |
tree | f90ca22cdb3728dad85c4afa07f6784003fd27e4 /arch/arm/plat-omap/omap_device.c | |
parent | 5f1b6ef76ff87bb531a9304b36658b8ffaa91b08 (diff) |
OMAP: omap_device: use read_persistent_clock() instead of getnstimeofday()
During suspend and resume, when omap_device deactivation and
activation is happening, the timekeeping subsystem has likely already
been suspended. Thus getnstimeofday() will fail and trigger a WARN().
Use read_persistent_clock() instead of getnstimeofday() to avoid this.
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Diffstat (limited to 'arch/arm/plat-omap/omap_device.c')
-rw-r--r-- | arch/arm/plat-omap/omap_device.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/arm/plat-omap/omap_device.c b/arch/arm/plat-omap/omap_device.c index 54fe0a2f0b24..9a502af14f5b 100644 --- a/arch/arm/plat-omap/omap_device.c +++ b/arch/arm/plat-omap/omap_device.c | |||
@@ -134,12 +134,12 @@ static int _omap_device_activate(struct omap_device *od, u8 ignore_lat) | |||
134 | (od->dev_wakeup_lat <= od->_dev_wakeup_lat_limit)) | 134 | (od->dev_wakeup_lat <= od->_dev_wakeup_lat_limit)) |
135 | break; | 135 | break; |
136 | 136 | ||
137 | getnstimeofday(&a); | 137 | read_persistent_clock(&a); |
138 | 138 | ||
139 | /* XXX check return code */ | 139 | /* XXX check return code */ |
140 | odpl->activate_func(od); | 140 | odpl->activate_func(od); |
141 | 141 | ||
142 | getnstimeofday(&b); | 142 | read_persistent_clock(&b); |
143 | 143 | ||
144 | c = timespec_sub(b, a); | 144 | c = timespec_sub(b, a); |
145 | act_lat = timespec_to_ns(&c) * NSEC_PER_USEC; | 145 | act_lat = timespec_to_ns(&c) * NSEC_PER_USEC; |
@@ -190,12 +190,12 @@ static int _omap_device_deactivate(struct omap_device *od, u8 ignore_lat) | |||
190 | od->_dev_wakeup_lat_limit)) | 190 | od->_dev_wakeup_lat_limit)) |
191 | break; | 191 | break; |
192 | 192 | ||
193 | getnstimeofday(&a); | 193 | read_persistent_clock(&a); |
194 | 194 | ||
195 | /* XXX check return code */ | 195 | /* XXX check return code */ |
196 | odpl->deactivate_func(od); | 196 | odpl->deactivate_func(od); |
197 | 197 | ||
198 | getnstimeofday(&b); | 198 | read_persistent_clock(&b); |
199 | 199 | ||
200 | c = timespec_sub(b, a); | 200 | c = timespec_sub(b, a); |
201 | deact_lat = timespec_to_ns(&c) * NSEC_PER_USEC; | 201 | deact_lat = timespec_to_ns(&c) * NSEC_PER_USEC; |