summaryrefslogtreecommitdiffstats
path: root/tools/testing/selftests/timers
diff options
context:
space:
mode:
authorAlexandre Belloni <alexandre.belloni@bootlin.com>2018-04-19 14:50:28 +0200
committerShuah Khan (Samsung OSG) <shuah@kernel.org>2018-05-30 23:21:51 +0200
commit6d73ceab4d03c25d3a351723c72ad25d4c8cd643 (patch)
tree1eaad23e7cf89f31d08d730bac410a849489370c /tools/testing/selftests/timers
parentselftests: timers: move PIE tests out of rtctest (diff)
downloadlinux-6d73ceab4d03c25d3a351723c72ad25d4c8cd643.tar.xz
linux-6d73ceab4d03c25d3a351723c72ad25d4c8cd643.zip
selftests: timers: rtcpie: restore previous PIE rate
After the test ends, restore the PIE rate to its previous value to be less disruptive. Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Shuah Khan (Samsung OSG) <shuah@kernel.org>
Diffstat (limited to 'tools/testing/selftests/timers')
-rw-r--r--tools/testing/selftests/timers/rtcpie.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/tools/testing/selftests/timers/rtcpie.c b/tools/testing/selftests/timers/rtcpie.c
index ea98b1f6ac17..47b5bad1b393 100644
--- a/tools/testing/selftests/timers/rtcpie.c
+++ b/tools/testing/selftests/timers/rtcpie.c
@@ -28,7 +28,7 @@ static const char default_rtc[] = "/dev/rtc0";
int main(int argc, char **argv)
{
int i, fd, retval, irqcount = 0;
- unsigned long tmp, data;
+ unsigned long tmp, data, old_pie_rate;
const char *rtc = default_rtc;
struct timeval start, end, diff;
@@ -51,7 +51,7 @@ int main(int argc, char **argv)
}
/* Read periodic IRQ rate */
- retval = ioctl(fd, RTC_IRQP_READ, &tmp);
+ retval = ioctl(fd, RTC_IRQP_READ, &old_pie_rate);
if (retval == -1) {
/* not all RTCs support periodic IRQs */
if (errno == EINVAL) {
@@ -61,7 +61,7 @@ int main(int argc, char **argv)
perror("RTC_IRQP_READ ioctl");
exit(errno);
}
- fprintf(stderr, "\nPeriodic IRQ rate is %ldHz.\n", tmp);
+ fprintf(stderr, "\nPeriodic IRQ rate is %ldHz.\n", old_pie_rate);
fprintf(stderr, "Counting 20 interrupts at:");
fflush(stderr);
@@ -124,6 +124,8 @@ int main(int argc, char **argv)
}
done:
+ ioctl(fd, RTC_IRQP_SET, old_pie_rate);
+
fprintf(stderr, "\n\n\t\t\t *** Test complete ***\n");
close(fd);