/* clock.h: proc-specific clocks
 *
 * Copyright (C) 2002 Red Hat, Inc. All Rights Reserved.
 * Written by David Howells (dhowells@redhat.com)
 *
 * Modified by Matsushita Electric Industrial Co., Ltd.
 * Modifications:
 *  23-Feb-2007 MEI Delete define for watchdog timer.
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version
 * 2 of the License, or (at your option) any later version.
 */
#ifndef _ASM_PROC_CLOCK_H
#define _ASM_PROC_CLOCK_H

#include <unit/clock.h>

#endif /* _ASM_PROC_CLOCK_H */
