Merge branches 'acpi-soc', 'acpi-misc', 'acpi-pci' and 'device-properties'
[cascardo/linux.git] / arch / x86 / kvm / i8254.h
index c84990b..2f5af07 100644 (file)
@@ -22,19 +22,18 @@ struct kvm_kpit_channel_state {
 };
 
 struct kvm_kpit_state {
+       /* All members before "struct mutex lock" are protected by the lock. */
        struct kvm_kpit_channel_state channels[3];
        u32 flags;
        bool is_periodic;
        s64 period;                             /* unit: ns */
        struct hrtimer timer;
-       atomic_t pending;                       /* accumulated triggered timers */
-       bool reinject;
-       struct kvm *kvm;
        u32    speaker_data_on;
+
        struct mutex lock;
-       struct kvm_pit *pit;
-       spinlock_t inject_lock;
-       unsigned long irq_ack;
+       atomic_t reinject;
+       atomic_t pending; /* accumulated triggered timers */
+       atomic_t irq_ack;
        struct kvm_irq_ack_notifier irq_ack_notifier;
 };
 
@@ -57,9 +56,11 @@ struct kvm_pit {
 #define KVM_MAX_PIT_INTR_INTERVAL   HZ / 100
 #define KVM_PIT_CHANNEL_MASK       0x3
 
-void kvm_pit_load_count(struct kvm *kvm, int channel, u32 val, int hpet_legacy_start);
 struct kvm_pit *kvm_create_pit(struct kvm *kvm, u32 flags);
 void kvm_free_pit(struct kvm *kvm);
-void kvm_pit_reset(struct kvm_pit *pit);
+
+void kvm_pit_load_count(struct kvm_pit *pit, int channel, u32 val,
+               int hpet_legacy_start);
+void kvm_pit_set_reinject(struct kvm_pit *pit, bool reinject);
 
 #endif