time.c revision 199767f8919635c4928607450d9e0abb932109ce
6185db853e024a486ff8837e6784dd290d866112dougm/*-
6185db853e024a486ff8837e6784dd290d866112dougm * Copyright (c) 2000 Benno Rice
6185db853e024a486ff8837e6784dd290d866112dougm * Copyright (c) 2007 Semihalf, Rafal Jaworowski <raj@semihalf.com>
6185db853e024a486ff8837e6784dd290d866112dougm * All rights reserved.
6185db853e024a486ff8837e6784dd290d866112dougm *
6185db853e024a486ff8837e6784dd290d866112dougm * Redistribution and use in source and binary forms, with or without
6185db853e024a486ff8837e6784dd290d866112dougm * modification, are permitted provided that the following conditions
6185db853e024a486ff8837e6784dd290d866112dougm * are met:
6185db853e024a486ff8837e6784dd290d866112dougm * 1. Redistributions of source code must retain the above copyright
6185db853e024a486ff8837e6784dd290d866112dougm * notice, this list of conditions and the following disclaimer.
6185db853e024a486ff8837e6784dd290d866112dougm * 2. Redistributions in binary form must reproduce the above copyright
6185db853e024a486ff8837e6784dd290d866112dougm * notice, this list of conditions and the following disclaimer in the
6185db853e024a486ff8837e6784dd290d866112dougm * documentation and/or other materials provided with the distribution.
6185db853e024a486ff8837e6784dd290d866112dougm *
6185db853e024a486ff8837e6784dd290d866112dougm * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
6185db853e024a486ff8837e6784dd290d866112dougm * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
6185db853e024a486ff8837e6784dd290d866112dougm * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
6185db853e024a486ff8837e6784dd290d866112dougm * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
6185db853e024a486ff8837e6784dd290d866112dougm * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
6185db853e024a486ff8837e6784dd290d866112dougm * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
6185db853e024a486ff8837e6784dd290d866112dougm * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
6185db853e024a486ff8837e6784dd290d866112dougm * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
8d7e41661dc4633488e93b13363137523ce59977jose borrego * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
6185db853e024a486ff8837e6784dd290d866112dougm * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33f5ff17089e3a43e6e730bf80384c233123dbd9Milan Jurik * SUCH DAMAGE.
6185db853e024a486ff8837e6784dd290d866112dougm */
6185db853e024a486ff8837e6784dd290d866112dougm
6185db853e024a486ff8837e6784dd290d866112dougm#include <sys/cdefs.h>
6185db853e024a486ff8837e6784dd290d866112dougm__FBSDID("$FreeBSD$");
6185db853e024a486ff8837e6784dd290d866112dougm
6185db853e024a486ff8837e6784dd290d866112dougm#include <stand.h>
6185db853e024a486ff8837e6784dd290d866112dougm
6185db853e024a486ff8837e6784dd290d866112dougm#include "glue.h"
6185db853e024a486ff8837e6784dd290d866112dougm
6185db853e024a486ff8837e6784dd290d866112dougm/*
6185db853e024a486ff8837e6784dd290d866112dougm * Return the time in seconds since the beginning of the day.
6185db853e024a486ff8837e6784dd290d866112dougm */
6185db853e024a486ff8837e6784dd290d866112dougmtime_t
6185db853e024a486ff8837e6784dd290d866112dougmtime(time_t *tloc)
6185db853e024a486ff8837e6784dd290d866112dougm{
6185db853e024a486ff8837e6784dd290d866112dougm int secs;
6185db853e024a486ff8837e6784dd290d866112dougm
8d7e41661dc4633488e93b13363137523ce59977jose borrego secs = ub_get_timer(0) / 1000;
6185db853e024a486ff8837e6784dd290d866112dougm if (tloc)
6185db853e024a486ff8837e6784dd290d866112dougm *tloc = secs;
6185db853e024a486ff8837e6784dd290d866112dougm
6185db853e024a486ff8837e6784dd290d866112dougm return (secs);
6185db853e024a486ff8837e6784dd290d866112dougm}
6185db853e024a486ff8837e6784dd290d866112dougm
6185db853e024a486ff8837e6784dd290d866112dougmint
6185db853e024a486ff8837e6784dd290d866112dougmgetsecs(void)
6185db853e024a486ff8837e6784dd290d866112dougm{
6185db853e024a486ff8837e6784dd290d866112dougm
6185db853e024a486ff8837e6784dd290d866112dougm return (time(NULL));
6185db853e024a486ff8837e6784dd290d866112dougm}
6185db853e024a486ff8837e6784dd290d866112dougm
6185db853e024a486ff8837e6784dd290d866112dougm/*
6185db853e024a486ff8837e6784dd290d866112dougm * Use U-Boot udelay() function to wait for a given microseconds period
6185db853e024a486ff8837e6784dd290d866112dougm */
6185db853e024a486ff8837e6784dd290d866112dougmvoid
6185db853e024a486ff8837e6784dd290d866112dougmdelay(int usecs)
6185db853e024a486ff8837e6784dd290d866112dougm{
6185db853e024a486ff8837e6784dd290d866112dougm
6185db853e024a486ff8837e6784dd290d866112dougm ub_udelay(usecs);
6185db853e024a486ff8837e6784dd290d866112dougm}
6185db853e024a486ff8837e6784dd290d866112dougm