diff options
Diffstat (limited to 'arch/x86/kernel/hpet.c')
| -rw-r--r-- | arch/x86/kernel/hpet.c | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/arch/x86/kernel/hpet.c b/arch/x86/kernel/hpet.c index 7494999141b3..efaf906daf93 100644 --- a/arch/x86/kernel/hpet.c +++ b/arch/x86/kernel/hpet.c | |||
| @@ -440,9 +440,9 @@ static int hpet_legacy_next_event(unsigned long delta, | |||
| 440 | static DEFINE_PER_CPU(struct hpet_dev *, cpu_hpet_dev); | 440 | static DEFINE_PER_CPU(struct hpet_dev *, cpu_hpet_dev); |
| 441 | static struct hpet_dev *hpet_devs; | 441 | static struct hpet_dev *hpet_devs; |
| 442 | 442 | ||
| 443 | void hpet_msi_unmask(unsigned int irq) | 443 | void hpet_msi_unmask(struct irq_data *data) |
| 444 | { | 444 | { |
| 445 | struct hpet_dev *hdev = get_irq_data(irq); | 445 | struct hpet_dev *hdev = data->handler_data; |
| 446 | unsigned int cfg; | 446 | unsigned int cfg; |
| 447 | 447 | ||
| 448 | /* unmask it */ | 448 | /* unmask it */ |
| @@ -451,10 +451,10 @@ void hpet_msi_unmask(unsigned int irq) | |||
| 451 | hpet_writel(cfg, HPET_Tn_CFG(hdev->num)); | 451 | hpet_writel(cfg, HPET_Tn_CFG(hdev->num)); |
| 452 | } | 452 | } |
| 453 | 453 | ||
| 454 | void hpet_msi_mask(unsigned int irq) | 454 | void hpet_msi_mask(struct irq_data *data) |
| 455 | { | 455 | { |
| 456 | struct hpet_dev *hdev = data->handler_data; | ||
| 456 | unsigned int cfg; | 457 | unsigned int cfg; |
| 457 | struct hpet_dev *hdev = get_irq_data(irq); | ||
| 458 | 458 | ||
| 459 | /* mask it */ | 459 | /* mask it */ |
| 460 | cfg = hpet_readl(HPET_Tn_CFG(hdev->num)); | 460 | cfg = hpet_readl(HPET_Tn_CFG(hdev->num)); |
| @@ -462,18 +462,14 @@ void hpet_msi_mask(unsigned int irq) | |||
| 462 | hpet_writel(cfg, HPET_Tn_CFG(hdev->num)); | 462 | hpet_writel(cfg, HPET_Tn_CFG(hdev->num)); |
| 463 | } | 463 | } |
| 464 | 464 | ||
| 465 | void hpet_msi_write(unsigned int irq, struct msi_msg *msg) | 465 | void hpet_msi_write(struct hpet_dev *hdev, struct msi_msg *msg) |
| 466 | { | 466 | { |
| 467 | struct hpet_dev *hdev = get_irq_data(irq); | ||
| 468 | |||
| 469 | hpet_writel(msg->data, HPET_Tn_ROUTE(hdev->num)); | 467 | hpet_writel(msg->data, HPET_Tn_ROUTE(hdev->num)); |
| 470 | hpet_writel(msg->address_lo, HPET_Tn_ROUTE(hdev->num) + 4); | 468 | hpet_writel(msg->address_lo, HPET_Tn_ROUTE(hdev->num) + 4); |
| 471 | } | 469 | } |
| 472 | 470 | ||
| 473 | void hpet_msi_read(unsigned int irq, struct msi_msg *msg) | 471 | void hpet_msi_read(struct hpet_dev *hdev, struct msi_msg *msg) |
| 474 | { | 472 | { |
| 475 | struct hpet_dev *hdev = get_irq_data(irq); | ||
| 476 | |||
| 477 | msg->data = hpet_readl(HPET_Tn_ROUTE(hdev->num)); | 473 | msg->data = hpet_readl(HPET_Tn_ROUTE(hdev->num)); |
| 478 | msg->address_lo = hpet_readl(HPET_Tn_ROUTE(hdev->num) + 4); | 474 | msg->address_lo = hpet_readl(HPET_Tn_ROUTE(hdev->num) + 4); |
| 479 | msg->address_hi = 0; | 475 | msg->address_hi = 0; |
