Commit 067a3ddc8876cee8451d6f690a051e413a593fdc
1 parent
c2fb2637
Remove qdev irq sink handling
We have both IRQ sinks and GPIO inputs. These are in principle exactly the same thing, so remove the former. Signed-off-by: Paul Brook <paul@codesourcery.com>
Showing
18 changed files
with
27 additions
and
43 deletions
hw/arm_gic.c
| @@ -721,7 +721,7 @@ static void gic_init(gic_state *s) | @@ -721,7 +721,7 @@ static void gic_init(gic_state *s) | ||
| 721 | { | 721 | { |
| 722 | int i; | 722 | int i; |
| 723 | 723 | ||
| 724 | - qdev_init_irq_sink(&s->busdev.qdev, gic_set_irq, GIC_NIRQ - 32); | 724 | + qdev_init_gpio_in(&s->busdev.qdev, gic_set_irq, GIC_NIRQ - 32); |
| 725 | for (i = 0; i < NCPU; i++) { | 725 | for (i = 0; i < NCPU; i++) { |
| 726 | sysbus_init_irq(&s->busdev, &s->parent_irq[i]); | 726 | sysbus_init_irq(&s->busdev, &s->parent_irq[i]); |
| 727 | } | 727 | } |
hw/armv7m.c
| @@ -186,7 +186,7 @@ qemu_irq *armv7m_init(int flash_size, int sram_size, | @@ -186,7 +186,7 @@ qemu_irq *armv7m_init(int flash_size, int sram_size, | ||
| 186 | cpu_pic = arm_pic_init_cpu(env); | 186 | cpu_pic = arm_pic_init_cpu(env); |
| 187 | sysbus_connect_irq(sysbus_from_qdev(nvic), 0, cpu_pic[ARM_PIC_CPU_IRQ]); | 187 | sysbus_connect_irq(sysbus_from_qdev(nvic), 0, cpu_pic[ARM_PIC_CPU_IRQ]); |
| 188 | for (i = 0; i < 64; i++) { | 188 | for (i = 0; i < 64; i++) { |
| 189 | - pic[i] = qdev_get_irq_sink(nvic, i); | 189 | + pic[i] = qdev_get_gpio_in(nvic, i); |
| 190 | } | 190 | } |
| 191 | 191 | ||
| 192 | image_size = load_elf(kernel_filename, 0, &entry, &lowaddr, NULL); | 192 | image_size = load_elf(kernel_filename, 0, &entry, &lowaddr, NULL); |
hw/axis_dev88.c
| @@ -304,10 +304,10 @@ void axisdev88_init (ram_addr_t ram_size, | @@ -304,10 +304,10 @@ void axisdev88_init (ram_addr_t ram_size, | ||
| 304 | sysbus_connect_irq(s, 0, cpu_irq[0]); | 304 | sysbus_connect_irq(s, 0, cpu_irq[0]); |
| 305 | sysbus_connect_irq(s, 1, cpu_irq[1]); | 305 | sysbus_connect_irq(s, 1, cpu_irq[1]); |
| 306 | for (i = 0; i < 30; i++) { | 306 | for (i = 0; i < 30; i++) { |
| 307 | - irq[i] = qdev_get_irq_sink(dev, i); | 307 | + irq[i] = qdev_get_gpio_in(dev, i); |
| 308 | } | 308 | } |
| 309 | - nmi[0] = qdev_get_irq_sink(dev, 30); | ||
| 310 | - nmi[1] = qdev_get_irq_sink(dev, 31); | 309 | + nmi[0] = qdev_get_gpio_in(dev, 30); |
| 310 | + nmi[1] = qdev_get_gpio_in(dev, 31); | ||
| 311 | 311 | ||
| 312 | etraxfs_dmac = etraxfs_dmac_init(env, 0x30000000, 10); | 312 | etraxfs_dmac = etraxfs_dmac_init(env, 0x30000000, 10); |
| 313 | for (i = 0; i < 10; i++) { | 313 | for (i = 0; i < 10; i++) { |
hw/esp.c
| @@ -684,7 +684,7 @@ static void esp_init1(SysBusDevice *dev) | @@ -684,7 +684,7 @@ static void esp_init1(SysBusDevice *dev) | ||
| 684 | register_savevm("esp", -1, 3, esp_save, esp_load, s); | 684 | register_savevm("esp", -1, 3, esp_save, esp_load, s); |
| 685 | qemu_register_reset(esp_reset, 0, s); | 685 | qemu_register_reset(esp_reset, 0, s); |
| 686 | 686 | ||
| 687 | - qdev_init_irq_sink(&dev->qdev, parent_esp_reset, 1); | 687 | + qdev_init_gpio_in(&dev->qdev, parent_esp_reset, 1); |
| 688 | 688 | ||
| 689 | scsi_bus_new(&dev->qdev, esp_scsi_attach); | 689 | scsi_bus_new(&dev->qdev, esp_scsi_attach); |
| 690 | } | 690 | } |
hw/etraxfs.c
| @@ -90,10 +90,10 @@ void bareetraxfs_init (ram_addr_t ram_size, | @@ -90,10 +90,10 @@ void bareetraxfs_init (ram_addr_t ram_size, | ||
| 90 | /* FIXME: Is there a proper way to signal vectors to the CPU core? */ | 90 | /* FIXME: Is there a proper way to signal vectors to the CPU core? */ |
| 91 | qdev_set_prop_ptr(dev, "interrupt_vector", &env->interrupt_vector); | 91 | qdev_set_prop_ptr(dev, "interrupt_vector", &env->interrupt_vector); |
| 92 | for (i = 0; i < 30; i++) { | 92 | for (i = 0; i < 30; i++) { |
| 93 | - irq[i] = qdev_get_irq_sink(dev, i); | 93 | + irq[i] = qdev_get_gpio_in(dev, i); |
| 94 | } | 94 | } |
| 95 | - nmi[0] = qdev_get_irq_sink(dev, 30); | ||
| 96 | - nmi[1] = qdev_get_irq_sink(dev, 31); | 95 | + nmi[0] = qdev_get_gpio_in(dev, 30); |
| 96 | + nmi[1] = qdev_get_gpio_in(dev, 31); | ||
| 97 | 97 | ||
| 98 | etraxfs_dmac = etraxfs_dmac_init(env, 0x30000000, 10); | 98 | etraxfs_dmac = etraxfs_dmac_init(env, 0x30000000, 10); |
| 99 | for (i = 0; i < 10; i++) { | 99 | for (i = 0; i < 10; i++) { |
hw/etraxfs_pic.c
| @@ -141,7 +141,7 @@ static void etraxfs_pic_init(SysBusDevice *dev) | @@ -141,7 +141,7 @@ static void etraxfs_pic_init(SysBusDevice *dev) | ||
| 141 | int intr_vect_regs; | 141 | int intr_vect_regs; |
| 142 | 142 | ||
| 143 | s->interrupt_vector = qdev_get_prop_ptr(&dev->qdev, "interrupt_vector"); | 143 | s->interrupt_vector = qdev_get_prop_ptr(&dev->qdev, "interrupt_vector"); |
| 144 | - qdev_init_irq_sink(&dev->qdev, irq_handler, 32); | 144 | + qdev_init_gpio_in(&dev->qdev, irq_handler, 32); |
| 145 | sysbus_init_irq(dev, &s->parent_irq); | 145 | sysbus_init_irq(dev, &s->parent_irq); |
| 146 | sysbus_init_irq(dev, &s->parent_nmi); | 146 | sysbus_init_irq(dev, &s->parent_nmi); |
| 147 | 147 |
hw/integratorcp.c
| @@ -378,7 +378,7 @@ static void icp_pic_init(SysBusDevice *dev) | @@ -378,7 +378,7 @@ static void icp_pic_init(SysBusDevice *dev) | ||
| 378 | icp_pic_state *s = FROM_SYSBUS(icp_pic_state, dev); | 378 | icp_pic_state *s = FROM_SYSBUS(icp_pic_state, dev); |
| 379 | int iomemtype; | 379 | int iomemtype; |
| 380 | 380 | ||
| 381 | - qdev_init_irq_sink(&dev->qdev, icp_pic_set_irq, 32); | 381 | + qdev_init_gpio_in(&dev->qdev, icp_pic_set_irq, 32); |
| 382 | sysbus_init_irq(dev, &s->parent_irq); | 382 | sysbus_init_irq(dev, &s->parent_irq); |
| 383 | sysbus_init_irq(dev, &s->parent_fiq); | 383 | sysbus_init_irq(dev, &s->parent_fiq); |
| 384 | iomemtype = cpu_register_io_memory(0, icp_pic_readfn, | 384 | iomemtype = cpu_register_io_memory(0, icp_pic_readfn, |
| @@ -484,7 +484,7 @@ static void integratorcp_init(ram_addr_t ram_size, | @@ -484,7 +484,7 @@ static void integratorcp_init(ram_addr_t ram_size, | ||
| 484 | cpu_pic[ARM_PIC_CPU_IRQ], | 484 | cpu_pic[ARM_PIC_CPU_IRQ], |
| 485 | cpu_pic[ARM_PIC_CPU_FIQ], NULL); | 485 | cpu_pic[ARM_PIC_CPU_FIQ], NULL); |
| 486 | for (i = 0; i < 32; i++) { | 486 | for (i = 0; i < 32; i++) { |
| 487 | - pic[i] = qdev_get_irq_sink(dev, i); | 487 | + pic[i] = qdev_get_gpio_in(dev, i); |
| 488 | } | 488 | } |
| 489 | sysbus_create_simple("integrator_pic", 0xca000000, pic[26]); | 489 | sysbus_create_simple("integrator_pic", 0xca000000, pic[26]); |
| 490 | sysbus_create_varargs("integrator_pit", 0x13000000, | 490 | sysbus_create_varargs("integrator_pit", 0x13000000, |
hw/mpcore.c
| @@ -320,17 +320,17 @@ static void realview_mpcore_init(SysBusDevice *dev) | @@ -320,17 +320,17 @@ static void realview_mpcore_init(SysBusDevice *dev) | ||
| 320 | priv = sysbus_create_simple("arm11mpcore_priv", MPCORE_PRIV_BASE, NULL); | 320 | priv = sysbus_create_simple("arm11mpcore_priv", MPCORE_PRIV_BASE, NULL); |
| 321 | sysbus_pass_irq(dev, sysbus_from_qdev(priv)); | 321 | sysbus_pass_irq(dev, sysbus_from_qdev(priv)); |
| 322 | for (i = 0; i < 32; i++) { | 322 | for (i = 0; i < 32; i++) { |
| 323 | - s->cpuic[i] = qdev_get_irq_sink(priv, i); | 323 | + s->cpuic[i] = qdev_get_gpio_in(priv, i); |
| 324 | } | 324 | } |
| 325 | /* ??? IRQ routing is hardcoded to "normal" mode. */ | 325 | /* ??? IRQ routing is hardcoded to "normal" mode. */ |
| 326 | for (n = 0; n < 4; n++) { | 326 | for (n = 0; n < 4; n++) { |
| 327 | gic = sysbus_create_simple("realview_gic", 0x10040000 + n * 0x10000, | 327 | gic = sysbus_create_simple("realview_gic", 0x10040000 + n * 0x10000, |
| 328 | s->cpuic[10 + n]); | 328 | s->cpuic[10 + n]); |
| 329 | for (i = 0; i < 64; i++) { | 329 | for (i = 0; i < 64; i++) { |
| 330 | - s->rvic[n][i] = qdev_get_irq_sink(gic, i); | 330 | + s->rvic[n][i] = qdev_get_gpio_in(gic, i); |
| 331 | } | 331 | } |
| 332 | } | 332 | } |
| 333 | - qdev_init_irq_sink(&dev->qdev, mpcore_rirq_set_irq, 64); | 333 | + qdev_init_gpio_in(&dev->qdev, mpcore_rirq_set_irq, 64); |
| 334 | } | 334 | } |
| 335 | 335 | ||
| 336 | static void mpcore_register_devices(void) | 336 | static void mpcore_register_devices(void) |
hw/musicpal.c
| @@ -1040,7 +1040,7 @@ static void mv88w8618_pic_init(SysBusDevice *dev) | @@ -1040,7 +1040,7 @@ static void mv88w8618_pic_init(SysBusDevice *dev) | ||
| 1040 | mv88w8618_pic_state *s = FROM_SYSBUS(mv88w8618_pic_state, dev); | 1040 | mv88w8618_pic_state *s = FROM_SYSBUS(mv88w8618_pic_state, dev); |
| 1041 | int iomemtype; | 1041 | int iomemtype; |
| 1042 | 1042 | ||
| 1043 | - qdev_init_irq_sink(&dev->qdev, mv88w8618_pic_set_irq, 32); | 1043 | + qdev_init_gpio_in(&dev->qdev, mv88w8618_pic_set_irq, 32); |
| 1044 | sysbus_init_irq(dev, &s->parent_irq); | 1044 | sysbus_init_irq(dev, &s->parent_irq); |
| 1045 | iomemtype = cpu_register_io_memory(0, mv88w8618_pic_readfn, | 1045 | iomemtype = cpu_register_io_memory(0, mv88w8618_pic_readfn, |
| 1046 | mv88w8618_pic_writefn, s); | 1046 | mv88w8618_pic_writefn, s); |
| @@ -1534,7 +1534,7 @@ static void musicpal_init(ram_addr_t ram_size, | @@ -1534,7 +1534,7 @@ static void musicpal_init(ram_addr_t ram_size, | ||
| 1534 | dev = sysbus_create_simple("mv88w8618_pic", MP_PIC_BASE, | 1534 | dev = sysbus_create_simple("mv88w8618_pic", MP_PIC_BASE, |
| 1535 | cpu_pic[ARM_PIC_CPU_IRQ]); | 1535 | cpu_pic[ARM_PIC_CPU_IRQ]); |
| 1536 | for (i = 0; i < 32; i++) { | 1536 | for (i = 0; i < 32; i++) { |
| 1537 | - pic[i] = qdev_get_irq_sink(dev, i); | 1537 | + pic[i] = qdev_get_gpio_in(dev, i); |
| 1538 | } | 1538 | } |
| 1539 | sysbus_create_varargs("mv88w8618_pit", MP_PIT_BASE, pic[MP_TIMER1_IRQ], | 1539 | sysbus_create_varargs("mv88w8618_pit", MP_PIT_BASE, pic[MP_TIMER1_IRQ], |
| 1540 | pic[MP_TIMER2_IRQ], pic[MP_TIMER3_IRQ], | 1540 | pic[MP_TIMER2_IRQ], pic[MP_TIMER3_IRQ], |
hw/pcnet.c
| @@ -2127,7 +2127,7 @@ static void lance_init(SysBusDevice *dev) | @@ -2127,7 +2127,7 @@ static void lance_init(SysBusDevice *dev) | ||
| 2127 | 2127 | ||
| 2128 | s->dma_opaque = qdev_get_prop_ptr(&dev->qdev, "dma"); | 2128 | s->dma_opaque = qdev_get_prop_ptr(&dev->qdev, "dma"); |
| 2129 | 2129 | ||
| 2130 | - qdev_init_irq_sink(&dev->qdev, parent_lance_reset, 1); | 2130 | + qdev_init_gpio_in(&dev->qdev, parent_lance_reset, 1); |
| 2131 | 2131 | ||
| 2132 | sysbus_init_mmio(dev, 4, s->mmio_index); | 2132 | sysbus_init_mmio(dev, 4, s->mmio_index); |
| 2133 | 2133 |
hw/pl190.c
| @@ -235,7 +235,7 @@ static void pl190_init(SysBusDevice *dev) | @@ -235,7 +235,7 @@ static void pl190_init(SysBusDevice *dev) | ||
| 235 | iomemtype = cpu_register_io_memory(0, pl190_readfn, | 235 | iomemtype = cpu_register_io_memory(0, pl190_readfn, |
| 236 | pl190_writefn, s); | 236 | pl190_writefn, s); |
| 237 | sysbus_init_mmio(dev, 0x1000, iomemtype); | 237 | sysbus_init_mmio(dev, 0x1000, iomemtype); |
| 238 | - qdev_init_irq_sink(&dev->qdev, pl190_set_irq, 32); | 238 | + qdev_init_gpio_in(&dev->qdev, pl190_set_irq, 32); |
| 239 | sysbus_init_irq(dev, &s->irq); | 239 | sysbus_init_irq(dev, &s->irq); |
| 240 | sysbus_init_irq(dev, &s->fiq); | 240 | sysbus_init_irq(dev, &s->fiq); |
| 241 | pl190_reset(s); | 241 | pl190_reset(s); |
hw/qdev.c
| @@ -156,19 +156,6 @@ void qdev_set_netdev(DeviceState *dev, NICInfo *nd) | @@ -156,19 +156,6 @@ void qdev_set_netdev(DeviceState *dev, NICInfo *nd) | ||
| 156 | } | 156 | } |
| 157 | 157 | ||
| 158 | 158 | ||
| 159 | -qemu_irq qdev_get_irq_sink(DeviceState *dev, int n) | ||
| 160 | -{ | ||
| 161 | - assert(n >= 0 && n < dev->num_irq_sink); | ||
| 162 | - return dev->irq_sink[n]; | ||
| 163 | -} | ||
| 164 | - | ||
| 165 | -/* Register device IRQ sinks. */ | ||
| 166 | -void qdev_init_irq_sink(DeviceState *dev, qemu_irq_handler handler, int nirq) | ||
| 167 | -{ | ||
| 168 | - dev->num_irq_sink = nirq; | ||
| 169 | - dev->irq_sink = qemu_allocate_irqs(handler, dev, nirq); | ||
| 170 | -} | ||
| 171 | - | ||
| 172 | /* Get a character (serial) device interface. */ | 159 | /* Get a character (serial) device interface. */ |
| 173 | CharDriverState *qdev_init_chardev(DeviceState *dev) | 160 | CharDriverState *qdev_init_chardev(DeviceState *dev) |
| 174 | { | 161 | { |
hw/qdev.h
| @@ -17,8 +17,6 @@ struct DeviceState { | @@ -17,8 +17,6 @@ struct DeviceState { | ||
| 17 | DeviceType *type; | 17 | DeviceType *type; |
| 18 | BusState *parent_bus; | 18 | BusState *parent_bus; |
| 19 | DeviceProperty *props; | 19 | DeviceProperty *props; |
| 20 | - int num_irq_sink; | ||
| 21 | - qemu_irq *irq_sink; | ||
| 22 | int num_gpio_out; | 20 | int num_gpio_out; |
| 23 | qemu_irq *gpio_out; | 21 | qemu_irq *gpio_out; |
| 24 | int num_gpio_in; | 22 | int num_gpio_in; |
| @@ -55,7 +53,6 @@ void qdev_set_prop_int(DeviceState *dev, const char *name, uint64_t value); | @@ -55,7 +53,6 @@ void qdev_set_prop_int(DeviceState *dev, const char *name, uint64_t value); | ||
| 55 | void qdev_set_prop_ptr(DeviceState *dev, const char *name, void *value); | 53 | void qdev_set_prop_ptr(DeviceState *dev, const char *name, void *value); |
| 56 | void qdev_set_netdev(DeviceState *dev, NICInfo *nd); | 54 | void qdev_set_netdev(DeviceState *dev, NICInfo *nd); |
| 57 | 55 | ||
| 58 | -qemu_irq qdev_get_irq_sink(DeviceState *dev, int n); | ||
| 59 | qemu_irq qdev_get_gpio_in(DeviceState *dev, int n); | 56 | qemu_irq qdev_get_gpio_in(DeviceState *dev, int n); |
| 60 | void qdev_connect_gpio_out(DeviceState *dev, int n, qemu_irq pin); | 57 | void qdev_connect_gpio_out(DeviceState *dev, int n, qemu_irq pin); |
| 61 | 58 | ||
| @@ -77,7 +74,7 @@ struct DeviceInfo { | @@ -77,7 +74,7 @@ struct DeviceInfo { | ||
| 77 | void qdev_register(const char *name, int size, DeviceInfo *info); | 74 | void qdev_register(const char *name, int size, DeviceInfo *info); |
| 78 | 75 | ||
| 79 | /* Register device properties. */ | 76 | /* Register device properties. */ |
| 80 | -void qdev_init_irq_sink(DeviceState *dev, qemu_irq_handler handler, int nirq); | 77 | +/* GPIO inputs also double as IRQ sinks. */ |
| 81 | void qdev_init_gpio_in(DeviceState *dev, qemu_irq_handler handler, int n); | 78 | void qdev_init_gpio_in(DeviceState *dev, qemu_irq_handler handler, int n); |
| 82 | void qdev_init_gpio_out(DeviceState *dev, qemu_irq *pins, int n); | 79 | void qdev_init_gpio_out(DeviceState *dev, qemu_irq *pins, int n); |
| 83 | 80 |
hw/realview.c
| @@ -84,7 +84,7 @@ static void realview_init(ram_addr_t ram_size, | @@ -84,7 +84,7 @@ static void realview_init(ram_addr_t ram_size, | ||
| 84 | cpu_irq[3], NULL); | 84 | cpu_irq[3], NULL); |
| 85 | } | 85 | } |
| 86 | for (n = 0; n < 64; n++) { | 86 | for (n = 0; n < 64; n++) { |
| 87 | - pic[n] = qdev_get_irq_sink(dev, n); | 87 | + pic[n] = qdev_get_gpio_in(dev, n); |
| 88 | } | 88 | } |
| 89 | 89 | ||
| 90 | sysbus_create_simple("pl050_keyboard", 0x10006000, pic[20]); | 90 | sysbus_create_simple("pl050_keyboard", 0x10006000, pic[20]); |
hw/sun4m.c
| @@ -379,7 +379,7 @@ static void lance_init(NICInfo *nd, target_phys_addr_t leaddr, | @@ -379,7 +379,7 @@ static void lance_init(NICInfo *nd, target_phys_addr_t leaddr, | ||
| 379 | s = sysbus_from_qdev(dev); | 379 | s = sysbus_from_qdev(dev); |
| 380 | sysbus_mmio_map(s, 0, leaddr); | 380 | sysbus_mmio_map(s, 0, leaddr); |
| 381 | sysbus_connect_irq(s, 0, irq); | 381 | sysbus_connect_irq(s, 0, irq); |
| 382 | - *reset = qdev_get_irq_sink(dev, 0); | 382 | + *reset = qdev_get_gpio_in(dev, 0); |
| 383 | } | 383 | } |
| 384 | 384 | ||
| 385 | static void sun4m_hw_init(const struct sun4m_hwdef *hwdef, ram_addr_t RAM_size, | 385 | static void sun4m_hw_init(const struct sun4m_hwdef *hwdef, ram_addr_t RAM_size, |
hw/syborg.c
| @@ -58,7 +58,7 @@ static void syborg_init(ram_addr_t ram_size, | @@ -58,7 +58,7 @@ static void syborg_init(ram_addr_t ram_size, | ||
| 58 | dev = sysbus_create_simple("syborg,interrupt", 0xC0000000, | 58 | dev = sysbus_create_simple("syborg,interrupt", 0xC0000000, |
| 59 | cpu_pic[ARM_PIC_CPU_IRQ]); | 59 | cpu_pic[ARM_PIC_CPU_IRQ]); |
| 60 | for (i = 0; i < 64; i++) { | 60 | for (i = 0; i < 64; i++) { |
| 61 | - pic[i] = qdev_get_irq_sink(dev, i); | 61 | + pic[i] = qdev_get_gpio_in(dev, i); |
| 62 | } | 62 | } |
| 63 | 63 | ||
| 64 | sysbus_create_simple("syborg,rtc", 0xC0001000, NULL); | 64 | sysbus_create_simple("syborg,rtc", 0xC0001000, NULL); |
hw/syborg_interrupt.c
| @@ -209,7 +209,7 @@ static void syborg_int_init(SysBusDevice *dev) | @@ -209,7 +209,7 @@ static void syborg_int_init(SysBusDevice *dev) | ||
| 209 | 209 | ||
| 210 | sysbus_init_irq(dev, &s->parent_irq); | 210 | sysbus_init_irq(dev, &s->parent_irq); |
| 211 | s->num_irqs = qdev_get_prop_int(&dev->qdev, "num-interrupts", 64); | 211 | s->num_irqs = qdev_get_prop_int(&dev->qdev, "num-interrupts", 64); |
| 212 | - qdev_init_irq_sink(&dev->qdev, syborg_int_set_irq, s->num_irqs); | 212 | + qdev_init_gpio_in(&dev->qdev, syborg_int_set_irq, s->num_irqs); |
| 213 | iomemtype = cpu_register_io_memory(0, syborg_int_readfn, | 213 | iomemtype = cpu_register_io_memory(0, syborg_int_readfn, |
| 214 | syborg_int_writefn, s); | 214 | syborg_int_writefn, s); |
| 215 | sysbus_init_mmio(dev, 0x1000, iomemtype); | 215 | sysbus_init_mmio(dev, 0x1000, iomemtype); |
hw/versatilepb.c
| @@ -135,7 +135,7 @@ static void vpb_sic_init(SysBusDevice *dev) | @@ -135,7 +135,7 @@ static void vpb_sic_init(SysBusDevice *dev) | ||
| 135 | int iomemtype; | 135 | int iomemtype; |
| 136 | int i; | 136 | int i; |
| 137 | 137 | ||
| 138 | - qdev_init_irq_sink(&dev->qdev, vpb_sic_set_irq, 32); | 138 | + qdev_init_gpio_in(&dev->qdev, vpb_sic_set_irq, 32); |
| 139 | for (i = 0; i < 32; i++) { | 139 | for (i = 0; i < 32; i++) { |
| 140 | sysbus_init_irq(dev, &s->parent[i]); | 140 | sysbus_init_irq(dev, &s->parent[i]); |
| 141 | } | 141 | } |
| @@ -188,12 +188,12 @@ static void versatile_init(ram_addr_t ram_size, | @@ -188,12 +188,12 @@ static void versatile_init(ram_addr_t ram_size, | ||
| 188 | dev = sysbus_create_varargs("pl190", 0x10140000, | 188 | dev = sysbus_create_varargs("pl190", 0x10140000, |
| 189 | cpu_pic[0], cpu_pic[1], NULL); | 189 | cpu_pic[0], cpu_pic[1], NULL); |
| 190 | for (n = 0; n < 32; n++) { | 190 | for (n = 0; n < 32; n++) { |
| 191 | - pic[n] = qdev_get_irq_sink(dev, n); | 191 | + pic[n] = qdev_get_gpio_in(dev, n); |
| 192 | } | 192 | } |
| 193 | dev = sysbus_create_simple("versatilepb_sic", 0x10003000, NULL); | 193 | dev = sysbus_create_simple("versatilepb_sic", 0x10003000, NULL); |
| 194 | for (n = 0; n < 32; n++) { | 194 | for (n = 0; n < 32; n++) { |
| 195 | sysbus_connect_irq(sysbus_from_qdev(dev), n, pic[n]); | 195 | sysbus_connect_irq(sysbus_from_qdev(dev), n, pic[n]); |
| 196 | - sic[n] = qdev_get_irq_sink(dev, n); | 196 | + sic[n] = qdev_get_gpio_in(dev, n); |
| 197 | } | 197 | } |
| 198 | 198 | ||
| 199 | sysbus_create_simple("pl050_keyboard", 0x10006000, sic[3]); | 199 | sysbus_create_simple("pl050_keyboard", 0x10006000, sic[3]); |