Lines 6-11
Link Here
|
6 |
#include <linux/init.h> |
6 |
#include <linux/init.h> |
7 |
#include <linux/sysdev.h> |
7 |
#include <linux/sysdev.h> |
8 |
#include <linux/pm.h> |
8 |
#include <linux/pm.h> |
|
|
9 |
#include <linux/dmi.h> |
9 |
|
10 |
|
10 |
#include <asm/fixmap.h> |
11 |
#include <asm/fixmap.h> |
11 |
#include <asm/hpet.h> |
12 |
#include <asm/hpet.h> |
Lines 371-376
static int hpet_clocksource_register(void)
Link Here
|
371 |
return 0; |
372 |
return 0; |
372 |
} |
373 |
} |
373 |
|
374 |
|
|
|
375 |
static int __initdata hpet_clockevent_disabled; |
376 |
static int __init hpet_clockevent_disable(const struct dmi_system_id *d) |
377 |
{ |
378 |
printk(KERN_WARNING "%s with broken HPET interrupt detected.\n", d->ident); |
379 |
hpet_clockevent_disabled = 1; |
380 |
return 0; |
381 |
} |
382 |
|
383 |
static struct dmi_system_id __initdata hpet_dmi_table[] = { |
384 |
{ |
385 |
.callback = hpet_clockevent_disable, |
386 |
.ident = "Haier H53", |
387 |
.matches = {DMI_MATCH(DMI_BOARD_NAME, "H53"), |
388 |
DMI_MATCH(DMI_BOARD_VENDOR, "Haier"), |
389 |
}, |
390 |
}, |
391 |
{}, |
392 |
}; |
393 |
|
374 |
/** |
394 |
/** |
375 |
* hpet_enable - Try to setup the HPET timer. Returns 1 on success. |
395 |
* hpet_enable - Try to setup the HPET timer. Returns 1 on success. |
376 |
*/ |
396 |
*/ |
Lines 381-386
int __init hpet_enable(void)
Link Here
|
381 |
if (!is_hpet_capable()) |
401 |
if (!is_hpet_capable()) |
382 |
return 0; |
402 |
return 0; |
383 |
|
403 |
|
|
|
404 |
dmi_check_system(hpet_dmi_table); |
405 |
|
384 |
hpet_set_mapping(); |
406 |
hpet_set_mapping(); |
385 |
|
407 |
|
386 |
/* |
408 |
/* |
Lines 408-414
int __init hpet_enable(void)
Link Here
|
408 |
if (hpet_clocksource_register()) |
430 |
if (hpet_clocksource_register()) |
409 |
goto out_nohpet; |
431 |
goto out_nohpet; |
410 |
|
432 |
|
411 |
if (id & HPET_ID_LEGSUP) { |
433 |
if ((id & HPET_ID_LEGSUP) && !hpet_clockevent_disabled) { |
412 |
hpet_legacy_clockevent_register(); |
434 |
hpet_legacy_clockevent_register(); |
413 |
return 1; |
435 |
return 1; |
414 |
} |
436 |
} |