diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2009-06-30 14:12:07 +0200 |
---|---|---|
committer | Paul Brook <paul@codesourcery.com> | 2009-07-09 13:07:02 +0100 |
commit | 0aab0d3a4a62505ab7e79ee0a67fe3f04f6dae23 (patch) | |
tree | 59539fa84519cc5cc7aa24c4c7cb0435edfbdfbb /hw/eepro100.c | |
parent | e2b19c85ea0f3fd6091386adfd3a2acd21107cb4 (diff) |
qdev: update pci device registration.
Makes pci_qdev_register take a PCIDeviceInfo struct instead of a bunch
of parameters. Also adds config_read and config_write callbacks to
PCIDeviceInfo, so drivers needing these can be converted to the qdev
device API too.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'hw/eepro100.c')
-rw-r--r-- | hw/eepro100.c | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/hw/eepro100.c b/hw/eepro100.c index 00021408c2..85446ed697 100644 --- a/hw/eepro100.c +++ b/hw/eepro100.c @@ -1792,14 +1792,27 @@ static void pci_i82559er_init(PCIDevice *dev) nic_init(dev, i82559ER); } +static PCIDeviceInfo eepro100_info[] = { + { + .qdev.name = "i82551", + .qdev.size = sizeof(PCIEEPRO100State), + .init = pci_i82551_init, + },{ + .qdev.name = "i82557b", + .qdev.size = sizeof(PCIEEPRO100State), + .init = pci_i82557b_init, + },{ + .qdev.name = "i82559er", + .qdev.size = sizeof(PCIEEPRO100State), + .init = pci_i82559er_init, + },{ + /* end of list */ + } +}; + static void eepro100_register_devices(void) { - pci_qdev_register("i82551", sizeof(PCIEEPRO100State), - pci_i82551_init); - pci_qdev_register("i82557b", sizeof(PCIEEPRO100State), - pci_i82557b_init); - pci_qdev_register("i82559er", sizeof(PCIEEPRO100State), - pci_i82559er_init); + pci_qdev_register_many(eepro100_info); } device_init(eepro100_register_devices) |