forked from Minki/linux
[WATCHDOG] sbc_fitpc2_wdt: fix I/O space access technique.
The mdelay function was used between I/O access commands, that causes peak in CPU usage. Fix it by substitution mdelay to msleep. Expand usage on fitPC2 compatible boards according to DMI identification. Signed-off-by: Denis Turischev <denis@compulab.co.il> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
This commit is contained in:
parent
e605d554ec
commit
ef39a1bf3c
@ -396,8 +396,8 @@ config SBC_FITPC2_WATCHDOG
|
||||
tristate "Compulab SBC-FITPC2 watchdog"
|
||||
depends on X86
|
||||
---help---
|
||||
This is the driver for the built-in watchdog timer on the fit-PC2
|
||||
Single-board computer made by Compulab.
|
||||
This is the driver for the built-in watchdog timer on the fit-PC2,
|
||||
fit-PC2i, CM-iAM single-board computers made by Compulab.
|
||||
|
||||
It`s possible to enable watchdog timer either from BIOS (F2) or from booted Linux.
|
||||
When "Watchdog Timer Value" enabled one can set 31-255 s operational range.
|
||||
|
@ -46,9 +46,9 @@ static DEFINE_SPINLOCK(wdt_lock);
|
||||
static void wdt_send_data(unsigned char command, unsigned char data)
|
||||
{
|
||||
outb(command, COMMAND_PORT);
|
||||
mdelay(100);
|
||||
msleep(100);
|
||||
outb(data, DATA_PORT);
|
||||
mdelay(200);
|
||||
msleep(200);
|
||||
}
|
||||
|
||||
static void wdt_enable(void)
|
||||
@ -202,11 +202,10 @@ static int __init fitpc2_wdt_init(void)
|
||||
{
|
||||
int err;
|
||||
|
||||
if (strcmp("SBC-FITPC2", dmi_get_system_info(DMI_BOARD_NAME))) {
|
||||
pr_info("board name is: %s. Should be SBC-FITPC2\n",
|
||||
dmi_get_system_info(DMI_BOARD_NAME));
|
||||
if (!strstr(dmi_get_system_info(DMI_BOARD_NAME), "SBC-FITPC2"))
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
pr_info("%s found\n", dmi_get_system_info(DMI_BOARD_NAME));
|
||||
|
||||
if (!request_region(COMMAND_PORT, 1, WATCHDOG_NAME)) {
|
||||
pr_err("I/O address 0x%04x already in use\n", COMMAND_PORT);
|
||||
|
Loading…
Reference in New Issue
Block a user