From d7f7792edf3d6c99fe5bc5db110533495f5c0b46 Mon Sep 17 00:00:00 2001 From: Thomas Moestl Date: Thu, 4 Apr 2002 23:39:10 +0000 Subject: 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. --- sys/kern/clock_if.m | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 sys/kern/clock_if.m (limited to 'sys/kern/clock_if.m') diff --git a/sys/kern/clock_if.m b/sys/kern/clock_if.m new file mode 100644 index 000000000000..3ddb25eb4bca --- /dev/null +++ b/sys/kern/clock_if.m @@ -0,0 +1,44 @@ +# Copyright (c) 2001 by Thomas Moestl . +# 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 +#include + +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; +}; -- cgit v1.2.3