Skip to content

Commit 2f0f650

Browse files
committed
Merge branch 'x86-timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 timer updates from Thomas Gleixner: "A rather large series consolidating the HPET code, which was triggered by the attempt to bolt HPET NMI watchdog support on to the existing maze with the usual duct tape and super glue approach. This mainly removes two separate partially redundant storage layers and consolidates them into a single one which provides a consistent view of the different HPET channels and their usage and allows to integrate HPET NMI watchdog support (if it turns out to be feasible) in a non intrusive way" * 'x86-timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (29 commits) x86/hpet: Use channel for legacy clockevent storage x86/hpet: Use common init for legacy clockevent x86/hpet: Carve out shareable parts of init_one_hpet_msi_clockevent() x86/hpet: Consolidate clockevent functions x86/hpet: Wrap legacy clockevent in hpet_channel x86/hpet: Use cached info instead of extra flags x86/hpet: Move clockevents into channels x86/hpet: Rename variables to prepare for switching to channels x86/hpet: Add function to select a /dev/hpet channel x86/hpet: Add mode information to struct hpet_channel x86/hpet: Use cached channel data x86/hpet: Introduce struct hpet_base and struct hpet_channel x86/hpet: Coding style cleanup x86/hpet: Clean up comments x86/hpet: Make naming consistent x86/hpet: Remove not required includes x86/hpet: Decapitalize and rename EVT_TO_HPET_DEV x86/hpet: Simplify counter validation x86/hpet: Separate counter check out of clocksource register code x86/hpet: Shuffle code around for readability sake ...
2 parents 13324c4 + e44252f commit 2f0f650

File tree

3 files changed

+427
-519
lines changed

3 files changed

+427
-519
lines changed

arch/x86/include/asm/hpet.h

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,16 +75,15 @@ extern unsigned int hpet_readl(unsigned int a);
7575
extern void force_hpet_resume(void);
7676

7777
struct irq_data;
78-
struct hpet_dev;
78+
struct hpet_channel;
7979
struct irq_domain;
8080

8181
extern void hpet_msi_unmask(struct irq_data *data);
8282
extern void hpet_msi_mask(struct irq_data *data);
83-
extern void hpet_msi_write(struct hpet_dev *hdev, struct msi_msg *msg);
84-
extern void hpet_msi_read(struct hpet_dev *hdev, struct msi_msg *msg);
83+
extern void hpet_msi_write(struct hpet_channel *hc, struct msi_msg *msg);
8584
extern struct irq_domain *hpet_create_irq_domain(int hpet_id);
8685
extern int hpet_assign_irq(struct irq_domain *domain,
87-
struct hpet_dev *dev, int dev_num);
86+
struct hpet_channel *hc, int dev_num);
8887

8988
#ifdef CONFIG_HPET_EMULATE_RTC
9089

arch/x86/kernel/apic/msi.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -370,14 +370,14 @@ struct irq_domain *hpet_create_irq_domain(int hpet_id)
370370
return d;
371371
}
372372

373-
int hpet_assign_irq(struct irq_domain *domain, struct hpet_dev *dev,
373+
int hpet_assign_irq(struct irq_domain *domain, struct hpet_channel *hc,
374374
int dev_num)
375375
{
376376
struct irq_alloc_info info;
377377

378378
init_irq_alloc_info(&info, NULL);
379379
info.type = X86_IRQ_ALLOC_TYPE_HPET;
380-
info.hpet_data = dev;
380+
info.hpet_data = hc;
381381
info.hpet_id = hpet_dev_id(domain);
382382
info.hpet_index = dev_num;
383383

0 commit comments

Comments
 (0)