Skip to content

Commit

Permalink
hw/isa/piix4: Resolve global instance variable
Browse files Browse the repository at this point in the history
Now that piix4_set_irq's opaque parameter references own PIIX4State,
piix4_dev becomes redundant.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Message-Id: <20220217101924.15347-6-shentey@gmail.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
  • Loading branch information
shentok authored and philmd committed Mar 8, 2022
1 parent 19b82e3 commit 34e5784
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 9 deletions.
10 changes: 3 additions & 7 deletions hw/isa/piix4.c
Expand Up @@ -39,8 +39,6 @@
#include "sysemu/runstate.h"
#include "qom/object.h"

PCIDevice *piix4_dev;

struct PIIX4State {
PCIDevice dev;
qemu_irq cpu_intr;
Expand All @@ -58,16 +56,16 @@ static void piix4_set_irq(void *opaque, int irq_num, int level)
{
int i, pic_irq, pic_level;
PIIX4State *s = opaque;
PCIBus *bus = pci_get_bus(piix4_dev);
PCIBus *bus = pci_get_bus(&s->dev);

/* now we change the pic irq level according to the piix irq mappings */
/* XXX: optimize */
pic_irq = piix4_dev->config[PIIX_PIRQCA + irq_num];
pic_irq = s->dev.config[PIIX_PIRQCA + irq_num];
if (pic_irq < 16) {
/* The pic level is the logical OR of all the PCI irqs mapped to it. */
pic_level = 0;
for (i = 0; i < 4; i++) {
if (pic_irq == piix4_dev->config[PIIX_PIRQCA + i]) {
if (pic_irq == s->dev.config[PIIX_PIRQCA + i]) {
pic_level |= pci_bus_get_irq_level(bus, i);
}
}
Expand Down Expand Up @@ -219,8 +217,6 @@ static void piix4_realize(PCIDevice *dev, Error **errp)
return;
}
isa_init_irq(ISA_DEVICE(&s->rtc), &s->rtc.irq, RTC_ISA_IRQ);

piix4_dev = dev;
}

static void piix4_init(Object *obj)
Expand Down
2 changes: 0 additions & 2 deletions include/hw/southbridge/piix.h
Expand Up @@ -70,8 +70,6 @@ typedef struct PIIXState PIIX3State;
DECLARE_INSTANCE_CHECKER(PIIX3State, PIIX3_PCI_DEVICE,
TYPE_PIIX3_PCI_DEVICE)

extern PCIDevice *piix4_dev;

PIIX3State *piix3_create(PCIBus *pci_bus, ISABus **isa_bus);

DeviceState *piix4_create(PCIBus *pci_bus, ISABus **isa_bus, I2CBus **smbus);
Expand Down

0 comments on commit 34e5784

Please sign in to comment.