diff options
author | tmm <tmm@FreeBSD.org> | 2002-04-04 23:39:10 +0000 |
---|---|---|
committer | tmm <tmm@FreeBSD.org> | 2002-04-04 23:39:10 +0000 |
commit | 91f571835acb430a421ab7ec0fa5a8fff635b0c8 (patch) | |
tree | 734bd8b6a6a2ea0ebcc98eaa281f876fb67ee42d /sys/kern/clock_if.m | |
parent | ef28acc1beeba42f12fe4399ac5869cf5ebe6a7e (diff) | |
download | FreeBSD-src-91f571835acb430a421ab7ec0fa5a8fff635b0c8.zip FreeBSD-src-91f571835acb430a421ab7ec0fa5a8fff635b0c8.tar.gz |
Add a generic implementation of inittodr() and resettodr(), as well as
a set of helper routines to deal with real-time clocks. The generic
functions access the clock diver using a kobj interface. This is intended
to reduce code reduplication and make it easy to support more than one
clock model on a single architecture.
This code is currently only used on sparc64, but it is planned to convert
the code of the other architectures to it later.
Diffstat (limited to 'sys/kern/clock_if.m')
-rw-r--r-- | sys/kern/clock_if.m | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/sys/kern/clock_if.m b/sys/kern/clock_if.m new file mode 100644 index 0000000..3ddb25e --- /dev/null +++ b/sys/kern/clock_if.m @@ -0,0 +1,44 @@ +# Copyright (c) 2001 by Thomas Moestl <tmm@FreeBSD.org>. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +# USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# $FreeBSD$ + +#include <sys/bus.h> +#include <sys/time.h> + +INTERFACE clock; + +# Interface for clock drivers. This is inspired by the NetBSD device-independent +# clock code (by Gordon W. Ross). + +# An EINVAL error return from this call signifies that the clock has an illegal +# setting. +METHOD int gettime { + device_t dev; + struct timespec *ts; +}; + +METHOD int settime { + device_t dev; + struct timespec *ts; +}; |