• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /netgear-WNDR4500-V1.0.1.40_1.0.68/src/linux/linux-2.6/include/asm-i386/mach-default/
1/*
2 *  arch/i386/mach-generic/mach_reboot.h
3 *
4 *  Machine specific reboot functions for generic.
5 *  Split out from reboot.c by Osamu Tomita <tomita@cinet.co.jp>
6 */
7#ifndef _MACH_REBOOT_H
8#define _MACH_REBOOT_H
9
10static inline void kb_wait(void)
11{
12	int i;
13
14	for (i = 0; i < 0x10000; i++)
15		if ((inb_p(0x64) & 0x02) == 0)
16			break;
17}
18
19static inline void mach_reboot(void)
20{
21	int i;
22	for (i = 0; i < 10; i++) {
23		kb_wait();
24		udelay(50);
25		outb(0x60, 0x64);	/* write Controller Command Byte */
26		udelay(50);
27		kb_wait();
28		udelay(50);
29		outb(0x14, 0x60);	/* set "System flag" */
30		udelay(50);
31		kb_wait();
32		udelay(50);
33		outb(0xfe, 0x64);	/* pulse reset low */
34		udelay(50);
35	}
36}
37
38#endif /* !_MACH_REBOOT_H */
39