aboutsummaryrefslogtreecommitdiffstats
path: root/hw/pc.h
diff options
context:
space:
mode:
authorBlue Swirl <blauwirbel@gmail.com>2011-02-13 19:54:40 +0000
committerBlue Swirl <blauwirbel@gmail.com>2011-02-20 09:35:06 +0000
commit64d7e9a421fea0ac50b44541f5521de455e7cd5d (patch)
treee450cd7fd595ef79315ad131dd1d009b81935c69 /hw/pc.h
parentc74b88dffcb2ebfe018e460ac759ae8b1234911d (diff)
i8254: convert to qdev
Convert to qdev. Don't expose PITState. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Diffstat (limited to 'hw/pc.h')
-rw-r--r--hw/pc.h25
1 files changed, 17 insertions, 8 deletions
diff --git a/hw/pc.h b/hw/pc.h
index 60f8c4263..feb8a7a68 100644
--- a/hw/pc.h
+++ b/hw/pc.h
@@ -82,14 +82,23 @@ void isa_irq_handler(void *opaque, int n, int level);
#define PIT_FREQ 1193182
-typedef struct PITState PITState;
+static inline ISADevice *pit_init(int base, int irq)
+{
+ ISADevice *dev;
+
+ dev = isa_create("isa-pit");
+ qdev_prop_set_uint32(&dev->qdev, "iobase", base);
+ qdev_prop_set_uint32(&dev->qdev, "irq", irq);
+ qdev_init_nofail(&dev->qdev);
+
+ return dev;
+}
-PITState *pit_init(int base, qemu_irq irq);
-void pit_set_gate(PITState *pit, int channel, int val);
-int pit_get_gate(PITState *pit, int channel);
-int pit_get_initial_count(PITState *pit, int channel);
-int pit_get_mode(PITState *pit, int channel);
-int pit_get_out(PITState *pit, int channel, int64_t current_time);
+void pit_set_gate(ISADevice *dev, int channel, int val);
+int pit_get_gate(ISADevice *dev, int channel);
+int pit_get_initial_count(ISADevice *dev, int channel);
+int pit_get_mode(ISADevice *dev, int channel);
+int pit_get_out(ISADevice *dev, int channel, int64_t current_time);
void hpet_pit_disable(void);
void hpet_pit_enable(void);
@@ -159,7 +168,7 @@ void piix4_smbus_register_device(SMBusDevice *dev, uint8_t addr);
extern int no_hpet;
/* pcspk.c */
-void pcspk_init(PITState *);
+void pcspk_init(ISADevice *pit);
int pcspk_audio_init(qemu_irq *pic);
/* piix_pci.c */