mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-06 09:13:55 -06:00
hw/isa/isa-bus: cleanup irq functions
The irq number is unsigned; we reject negative values. But -1 is used for the isairq array, which is declared unsigned! And since we have a definition for the number of ISA IRQs, use it. Based on a patch by Philippe Mathieu-Daudé. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
14a1bb48ea
commit
3c29e18841
2 changed files with 11 additions and 8 deletions
|
@ -82,24 +82,27 @@ void isa_bus_irqs(ISABus *bus, qemu_irq *irqs)
|
|||
* This function is only for special cases such as the 'ferr', and
|
||||
* temporary use for normal devices until they are converted to qdev.
|
||||
*/
|
||||
qemu_irq isa_get_irq(ISADevice *dev, int isairq)
|
||||
qemu_irq isa_get_irq(ISADevice *dev, unsigned isairq)
|
||||
{
|
||||
assert(!dev || ISA_BUS(qdev_get_parent_bus(DEVICE(dev))) == isabus);
|
||||
if (isairq < 0 || isairq > 15) {
|
||||
if (isairq >= ISA_NUM_IRQS) {
|
||||
hw_error("isa irq %d invalid", isairq);
|
||||
}
|
||||
return isabus->irqs[isairq];
|
||||
}
|
||||
|
||||
void isa_init_irq(ISADevice *dev, qemu_irq *p, int isairq)
|
||||
void isa_init_irq(ISADevice *dev, qemu_irq *p, unsigned isairq)
|
||||
{
|
||||
assert(dev->nirqs < ARRAY_SIZE(dev->isairq));
|
||||
if (isairq >= ISA_NUM_IRQS) {
|
||||
hw_error("isa irq %d invalid", isairq);
|
||||
}
|
||||
dev->isairq[dev->nirqs] = isairq;
|
||||
*p = isa_get_irq(dev, isairq);
|
||||
dev->nirqs++;
|
||||
}
|
||||
|
||||
void isa_connect_gpio_out(ISADevice *isadev, int gpioirq, int isairq)
|
||||
void isa_connect_gpio_out(ISADevice *isadev, int gpioirq, unsigned isairq)
|
||||
{
|
||||
qemu_irq irq;
|
||||
isa_init_irq(isadev, &irq, isairq);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue