blob: d2d8949be6b78800e6d60ba6cc6a07b9057138aa [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright (C) 1994 by Waldorf Electronics
7 * Copyright (C) 1995 - 2000, 01, 03 by Ralf Baechle
8 * Copyright (C) 1999, 2000 Silicon Graphics, Inc.
Maciej W. Rozycki20d60d92007-10-23 12:43:11 +01009 * Copyright (C) 2007 Maciej W. Rozycki
Linus Torvalds1da177e2005-04-16 15:20:36 -070010 */
11#ifndef _ASM_DELAY_H
12#define _ASM_DELAY_H
13
Ralf Baechle56369192009-02-28 09:44:28 +000014extern void __delay(unsigned int loops);
15extern void __ndelay(unsigned int ns);
16extern void __udelay(unsigned int us);
Maciej W. Rozycki20d60d92007-10-23 12:43:11 +010017
Ralf Baechle39027ff2009-06-12 17:28:00 +010018#define ndelay(ns) __ndelay(ns)
Ralf Baechle56369192009-02-28 09:44:28 +000019#define udelay(us) __udelay(us)
Linus Torvalds1da177e2005-04-16 15:20:36 -070020
Atsushi Nemotoa0f08202005-11-05 02:02:54 +090021/* make sure "usecs *= ..." in udelay do not overflow. */
22#if HZ >= 1000
23#define MAX_UDELAY_MS 1
24#elif HZ <= 200
25#define MAX_UDELAY_MS 5
26#else
27#define MAX_UDELAY_MS (1000 / HZ)
28#endif
29
Linus Torvalds1da177e2005-04-16 15:20:36 -070030#endif /* _ASM_DELAY_H */