8 #include <linux/kernel.h>
9 #include <linux/module.h>
24 switch (io_delay_type) {
26 case CONFIG_IO_DELAY_TYPE_0X80:
27 asm volatile (
"outb %al, $0x80");
29 case CONFIG_IO_DELAY_TYPE_0XED:
30 asm volatile (
"outb %al, $0xed");
32 case CONFIG_IO_DELAY_TYPE_UDELAY:
41 case CONFIG_IO_DELAY_TYPE_NONE:
49 if (io_delay_type == CONFIG_IO_DELAY_TYPE_0X80) {
51 io_delay_type = CONFIG_IO_DELAY_TYPE_0XED;
63 .callback = dmi_io_delay_0xed_port,
64 .ident =
"Compaq Presario V6000",
71 .callback = dmi_io_delay_0xed_port,
72 .ident =
"HP Pavilion dv9000z",
79 .callback = dmi_io_delay_0xed_port,
80 .ident =
"HP Pavilion dv6000",
87 .callback = dmi_io_delay_0xed_port,
88 .ident =
"HP Pavilion tx1000",
95 .callback = dmi_io_delay_0xed_port,
96 .ident =
"Presario F700",
107 if (!io_delay_override)
111 static int __init io_delay_param(
char *
s)
117 io_delay_type = CONFIG_IO_DELAY_TYPE_0X80;
118 else if (!
strcmp(s,
"0xed"))
119 io_delay_type = CONFIG_IO_DELAY_TYPE_0XED;
120 else if (!
strcmp(s,
"udelay"))
121 io_delay_type = CONFIG_IO_DELAY_TYPE_UDELAY;
122 else if (!
strcmp(s,
"none"))
123 io_delay_type = CONFIG_IO_DELAY_TYPE_NONE;
127 io_delay_override = 1;