hw/usb/hcd-uhci: Introduce TYPE_ defines for device models

Suggested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Message-Id: <20221204190553.3274-7-shentey@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
This commit is contained in:
Bernhard Beschow 2023-01-09 18:23:21 +01:00 committed by Philippe Mathieu-Daudé
parent c451e07798
commit f0712099a2
5 changed files with 22 additions and 16 deletions

View File

@ -51,6 +51,7 @@
#include "exec/memory.h" #include "exec/memory.h"
#include "hw/acpi/acpi.h" #include "hw/acpi/acpi.h"
#include "hw/acpi/piix4.h" #include "hw/acpi/piix4.h"
#include "hw/usb/hcd-uhci.h"
#include "qapi/error.h" #include "qapi/error.h"
#include "qemu/error-report.h" #include "qemu/error-report.h"
#include "sysemu/xen.h" #include "sysemu/xen.h"
@ -305,7 +306,7 @@ static void pc_init1(MachineState *machine,
#endif #endif
if (pcmc->pci_enabled && machine_usb(machine)) { if (pcmc->pci_enabled && machine_usb(machine)) {
pci_create_simple(pci_bus, piix3_devfn + 2, "piix3-usb-uhci"); pci_create_simple(pci_bus, piix3_devfn + 2, TYPE_PIIX3_USB_UHCI);
} }
if (pcmc->pci_enabled && x86_machine_is_acpi_enabled(X86_MACHINE(pcms))) { if (pcmc->pci_enabled && x86_machine_is_acpi_enabled(X86_MACHINE(pcms))) {

View File

@ -48,6 +48,7 @@
#include "hw/ide/pci.h" #include "hw/ide/pci.h"
#include "hw/ide/ahci.h" #include "hw/ide/ahci.h"
#include "hw/usb.h" #include "hw/usb.h"
#include "hw/usb/hcd-uhci.h"
#include "qapi/error.h" #include "qapi/error.h"
#include "qemu/error-report.h" #include "qemu/error-report.h"
#include "sysemu/numa.h" #include "sysemu/numa.h"
@ -65,15 +66,15 @@ struct ehci_companions {
}; };
static const struct ehci_companions ich9_1d[] = { static const struct ehci_companions ich9_1d[] = {
{ .name = "ich9-usb-uhci1", .func = 0, .port = 0 }, { .name = TYPE_ICH9_USB_UHCI(1), .func = 0, .port = 0 },
{ .name = "ich9-usb-uhci2", .func = 1, .port = 2 }, { .name = TYPE_ICH9_USB_UHCI(2), .func = 1, .port = 2 },
{ .name = "ich9-usb-uhci3", .func = 2, .port = 4 }, { .name = TYPE_ICH9_USB_UHCI(3), .func = 2, .port = 4 },
}; };
static const struct ehci_companions ich9_1a[] = { static const struct ehci_companions ich9_1a[] = {
{ .name = "ich9-usb-uhci4", .func = 0, .port = 0 }, { .name = TYPE_ICH9_USB_UHCI(4), .func = 0, .port = 0 },
{ .name = "ich9-usb-uhci5", .func = 1, .port = 2 }, { .name = TYPE_ICH9_USB_UHCI(5), .func = 1, .port = 2 },
{ .name = "ich9-usb-uhci6", .func = 2, .port = 4 }, { .name = TYPE_ICH9_USB_UHCI(6), .func = 2, .port = 4 },
}; };
static int ehci_create_ich9_with_companions(PCIBus *bus, int slot) static int ehci_create_ich9_with_companions(PCIBus *bus, int slot)

View File

@ -255,7 +255,7 @@ static void piix4_init(Object *obj)
object_initialize_child(obj, "rtc", &s->rtc, TYPE_MC146818_RTC); object_initialize_child(obj, "rtc", &s->rtc, TYPE_MC146818_RTC);
object_initialize_child(obj, "ide", &s->ide, TYPE_PIIX4_IDE); object_initialize_child(obj, "ide", &s->ide, TYPE_PIIX4_IDE);
object_initialize_child(obj, "uhci", &s->uhci, "piix4-usb-uhci"); object_initialize_child(obj, "uhci", &s->uhci, TYPE_PIIX4_USB_UHCI);
object_initialize_child(obj, "pm", &s->pm, TYPE_PIIX4_PM); object_initialize_child(obj, "pm", &s->pm, TYPE_PIIX4_PM);
qdev_prop_set_uint32(DEVICE(&s->pm), "smb_io_base", 0x1100); qdev_prop_set_uint32(DEVICE(&s->pm), "smb_io_base", 0x1100);

View File

@ -1292,56 +1292,56 @@ void uhci_data_class_init(ObjectClass *klass, void *data)
static UHCIInfo uhci_info[] = { static UHCIInfo uhci_info[] = {
{ {
.name = "piix3-usb-uhci", .name = TYPE_PIIX3_USB_UHCI,
.vendor_id = PCI_VENDOR_ID_INTEL, .vendor_id = PCI_VENDOR_ID_INTEL,
.device_id = PCI_DEVICE_ID_INTEL_82371SB_2, .device_id = PCI_DEVICE_ID_INTEL_82371SB_2,
.revision = 0x01, .revision = 0x01,
.irq_pin = 3, .irq_pin = 3,
.unplug = true, .unplug = true,
},{ },{
.name = "piix4-usb-uhci", .name = TYPE_PIIX4_USB_UHCI,
.vendor_id = PCI_VENDOR_ID_INTEL, .vendor_id = PCI_VENDOR_ID_INTEL,
.device_id = PCI_DEVICE_ID_INTEL_82371AB_2, .device_id = PCI_DEVICE_ID_INTEL_82371AB_2,
.revision = 0x01, .revision = 0x01,
.irq_pin = 3, .irq_pin = 3,
.unplug = true, .unplug = true,
},{ },{
.name = "ich9-usb-uhci1", /* 00:1d.0 */ .name = TYPE_ICH9_USB_UHCI(1), /* 00:1d.0 */
.vendor_id = PCI_VENDOR_ID_INTEL, .vendor_id = PCI_VENDOR_ID_INTEL,
.device_id = PCI_DEVICE_ID_INTEL_82801I_UHCI1, .device_id = PCI_DEVICE_ID_INTEL_82801I_UHCI1,
.revision = 0x03, .revision = 0x03,
.irq_pin = 0, .irq_pin = 0,
.unplug = false, .unplug = false,
},{ },{
.name = "ich9-usb-uhci2", /* 00:1d.1 */ .name = TYPE_ICH9_USB_UHCI(2), /* 00:1d.1 */
.vendor_id = PCI_VENDOR_ID_INTEL, .vendor_id = PCI_VENDOR_ID_INTEL,
.device_id = PCI_DEVICE_ID_INTEL_82801I_UHCI2, .device_id = PCI_DEVICE_ID_INTEL_82801I_UHCI2,
.revision = 0x03, .revision = 0x03,
.irq_pin = 1, .irq_pin = 1,
.unplug = false, .unplug = false,
},{ },{
.name = "ich9-usb-uhci3", /* 00:1d.2 */ .name = TYPE_ICH9_USB_UHCI(3), /* 00:1d.2 */
.vendor_id = PCI_VENDOR_ID_INTEL, .vendor_id = PCI_VENDOR_ID_INTEL,
.device_id = PCI_DEVICE_ID_INTEL_82801I_UHCI3, .device_id = PCI_DEVICE_ID_INTEL_82801I_UHCI3,
.revision = 0x03, .revision = 0x03,
.irq_pin = 2, .irq_pin = 2,
.unplug = false, .unplug = false,
},{ },{
.name = "ich9-usb-uhci4", /* 00:1a.0 */ .name = TYPE_ICH9_USB_UHCI(4), /* 00:1a.0 */
.vendor_id = PCI_VENDOR_ID_INTEL, .vendor_id = PCI_VENDOR_ID_INTEL,
.device_id = PCI_DEVICE_ID_INTEL_82801I_UHCI4, .device_id = PCI_DEVICE_ID_INTEL_82801I_UHCI4,
.revision = 0x03, .revision = 0x03,
.irq_pin = 0, .irq_pin = 0,
.unplug = false, .unplug = false,
},{ },{
.name = "ich9-usb-uhci5", /* 00:1a.1 */ .name = TYPE_ICH9_USB_UHCI(5), /* 00:1a.1 */
.vendor_id = PCI_VENDOR_ID_INTEL, .vendor_id = PCI_VENDOR_ID_INTEL,
.device_id = PCI_DEVICE_ID_INTEL_82801I_UHCI5, .device_id = PCI_DEVICE_ID_INTEL_82801I_UHCI5,
.revision = 0x03, .revision = 0x03,
.irq_pin = 1, .irq_pin = 1,
.unplug = false, .unplug = false,
},{ },{
.name = "ich9-usb-uhci6", /* 00:1a.2 */ .name = TYPE_ICH9_USB_UHCI(6), /* 00:1a.2 */
.vendor_id = PCI_VENDOR_ID_INTEL, .vendor_id = PCI_VENDOR_ID_INTEL,
.device_id = PCI_DEVICE_ID_INTEL_82801I_UHCI6, .device_id = PCI_DEVICE_ID_INTEL_82801I_UHCI6,
.revision = 0x03, .revision = 0x03,

View File

@ -91,4 +91,8 @@ typedef struct UHCIInfo {
void uhci_data_class_init(ObjectClass *klass, void *data); void uhci_data_class_init(ObjectClass *klass, void *data);
void usb_uhci_common_realize(PCIDevice *dev, Error **errp); void usb_uhci_common_realize(PCIDevice *dev, Error **errp);
#define TYPE_PIIX3_USB_UHCI "piix3-usb-uhci"
#define TYPE_PIIX4_USB_UHCI "piix4-usb-uhci"
#define TYPE_ICH9_USB_UHCI(fn) "ich9-usb-uhci" #fn
#endif #endif