diff options
Diffstat (limited to 'Documentation/timers/hpet_example.c')
| -rw-r--r-- | Documentation/timers/hpet_example.c | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/Documentation/timers/hpet_example.c b/Documentation/timers/hpet_example.c index f9ce2d9fdfd..9a3e7012c19 100644 --- a/Documentation/timers/hpet_example.c +++ b/Documentation/timers/hpet_example.c @@ -10,7 +10,6 @@ #include <sys/types.h> #include <sys/wait.h> #include <signal.h> -#include <fcntl.h> #include <errno.h> #include <sys/time.h> #include <linux/hpet.h> @@ -24,7 +23,6 @@ extern void hpet_read(int, const char **); #include <sys/poll.h> #include <sys/ioctl.h> -#include <signal.h> struct hpet_command { char *command; @@ -99,6 +97,33 @@ hpet_open_close(int argc, const char **argv) void hpet_info(int argc, const char **argv) { + struct hpet_info info; + int fd; + + if (argc != 1) { + fprintf(stderr, "hpet_info: device-name\n"); + return; + } + + fd = open(argv[0], O_RDONLY); + if (fd < 0) { + fprintf(stderr, "hpet_info: open of %s failed\n", argv[0]); + return; + } + + if (ioctl(fd, HPET_INFO, &info) < 0) { + fprintf(stderr, "hpet_info: failed to get info\n"); + goto out; + } + + fprintf(stderr, "hpet_info: hi_irqfreq 0x%lx hi_flags 0x%lx ", + info.hi_ireqfreq, info.hi_flags); + fprintf(stderr, "hi_hpet %d hi_timer %d\n", + info.hi_hpet, info.hi_timer); + +out: + close(fd); + return; } void |
