[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v4 38/47] hw/net/lasi_i82596: use qemu_create_nic_device()
From: |
David Woodhouse |
Subject: |
[PATCH v4 38/47] hw/net/lasi_i82596: use qemu_create_nic_device() |
Date: |
Fri, 26 Jan 2024 17:25:15 +0000 |
From: David Woodhouse <dwmw@amazon.co.uk>
Create the device only if there is a corresponding NIC config for it.
Remove the explicit check on nd_table[0].used from hw/hppa/machine.c
which (since commit d8a3220005d7) tries to do the same thing.
The lasi_82596 support has been disabled since it was first introduced,
since enable_lasi_lan() has always been zero. This allows the user to
enable it by explicitly requesting a NIC model 'lasi_82596' or just
using the alias 'lasi'. Otherwise, it defaults to a PCI NIC as before.
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Thomas Huth <thuth@redhat.com>
---
hw/hppa/machine.c | 11 ++++-------
hw/net/lasi_i82596.c | 12 +++++++-----
include/hw/net/lasi_82596.h | 4 ++--
3 files changed, 13 insertions(+), 14 deletions(-)
diff --git a/hw/hppa/machine.c b/hw/hppa/machine.c
index a1045b48cc..5ae4f176f6 100644
--- a/hw/hppa/machine.c
+++ b/hw/hppa/machine.c
@@ -362,14 +362,11 @@ static void machine_HP_common_init_tail(MachineState
*machine, PCIBus *pci_bus,
}
/* Network setup. */
- if (nd_table[0].used && enable_lasi_lan()) {
- lasi_82596_init(addr_space, translate(NULL, LASI_LAN_HPA),
- qdev_get_gpio_in(lasi_dev, LASI_IRQ_LAN_HPA));
- }
+ lasi_82596_init(addr_space, translate(NULL, LASI_LAN_HPA),
+ qdev_get_gpio_in(lasi_dev, LASI_IRQ_LAN_HPA),
+ enable_lasi_lan());
- if (!enable_lasi_lan()) {
- pci_init_nic_devices(pci_bus, mc->default_nic);
- }
+ pci_init_nic_devices(pci_bus, mc->default_nic);
/* BMC board: HP Powerbar SP2 Diva (with console only) */
pci_dev = pci_new(-1, "pci-serial");
diff --git a/hw/net/lasi_i82596.c b/hw/net/lasi_i82596.c
index 09e830ba5f..fcf7fae941 100644
--- a/hw/net/lasi_i82596.c
+++ b/hw/net/lasi_i82596.c
@@ -118,19 +118,21 @@ static void lasi_82596_realize(DeviceState *dev, Error
**errp)
i82596_common_init(dev, s, &net_lasi_82596_info);
}
-SysBusI82596State *lasi_82596_init(MemoryRegion *addr_space,
- hwaddr hpa, qemu_irq lan_irq)
+SysBusI82596State *lasi_82596_init(MemoryRegion *addr_space, hwaddr hpa,
+ qemu_irq lan_irq, gboolean match_default)
{
DeviceState *dev;
SysBusI82596State *s;
static const MACAddr HP_MAC = {
.a = { 0x08, 0x00, 0x09, 0xef, 0x34, 0xf6 } };
- qemu_check_nic_model(&nd_table[0], TYPE_LASI_82596);
- dev = qdev_new(TYPE_LASI_82596);
+ dev = qemu_create_nic_device(TYPE_LASI_82596, match_default, "lasi");
+ if (!dev) {
+ return NULL;
+ }
+
s = SYSBUS_I82596(dev);
s->state.irq = lan_irq;
- qdev_set_nic_properties(dev, &nd_table[0]);
sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
s->state.conf.macaddr = HP_MAC; /* set HP MAC prefix */
diff --git a/include/hw/net/lasi_82596.h b/include/hw/net/lasi_82596.h
index 3ef2f47ba2..439356ec19 100644
--- a/include/hw/net/lasi_82596.h
+++ b/include/hw/net/lasi_82596.h
@@ -25,7 +25,7 @@ struct SysBusI82596State {
int val_index:1;
};
-SysBusI82596State *lasi_82596_init(MemoryRegion *addr_space,
- hwaddr hpa, qemu_irq irq);
+SysBusI82596State *lasi_82596_init(MemoryRegion *addr_space, hwaddr hpa,
+ qemu_irq irq, gboolean match_default);
#endif
--
2.43.0
- [PATCH v4 18/47] hw/sh4/r2d: use pci_init_nic_devices(), (continued)
- [PATCH v4 18/47] hw/sh4/r2d: use pci_init_nic_devices(), David Woodhouse, 2024/01/26
- [PATCH v4 34/47] hw/microblaze: use qemu_configure_nic_device(), David Woodhouse, 2024/01/26
- [PATCH v4 19/47] hw/sparc64/sun4u: use pci_init_nic_devices(), David Woodhouse, 2024/01/26
- [PATCH v4 03/47] net: add qemu_create_nic_bus_devices(), David Woodhouse, 2024/01/26
- [PATCH v4 05/47] hw/i386/pc: use qemu_get_nic_info() and pci_init_nic_devices(), David Woodhouse, 2024/01/26
- [PATCH v4 21/47] hw/arm/allwinner: use qemu_configure_nic_device(), David Woodhouse, 2024/01/26
- [PATCH v4 04/47] hw/pci: add pci_init_nic_devices(), pci_init_nic_in_slot(), David Woodhouse, 2024/01/26
- [PATCH v4 25/47] hw/net/smc91c111: use qemu_configure_nic_device(), David Woodhouse, 2024/01/26
- [PATCH v4 37/47] hw/net/lasi_i82596: Re-enable build, David Woodhouse, 2024/01/26
- [PATCH v4 35/47] hw/mips/mipssim: use qemu_create_nic_device(), David Woodhouse, 2024/01/26
- [PATCH v4 38/47] hw/net/lasi_i82596: use qemu_create_nic_device(),
David Woodhouse <=
- [PATCH v4 39/47] hw/openrisc/openrisc_sim: use qemu_create_nic_device(), David Woodhouse, 2024/01/26
- [PATCH v4 14/47] hw/mips/loongson3_virt: use pci_init_nic_devices(), David Woodhouse, 2024/01/26
- [PATCH v4 26/47] hw/net/lan9118: use qemu_configure_nic_device(), David Woodhouse, 2024/01/26
- [PATCH v4 17/47] hw/ppc: use pci_init_nic_devices(), David Woodhouse, 2024/01/26
- [PATCH v4 20/47] hw/xtensa/virt: use pci_init_nic_devices(), David Woodhouse, 2024/01/26
- [PATCH v4 36/47] hw/mips/jazz: use qemu_find_nic_info(), David Woodhouse, 2024/01/26
- [PATCH v4 02/47] net: report list of available models according to platform, David Woodhouse, 2024/01/26
- [PATCH v4 30/47] hw/arm: use qemu_configure_nic_device(), David Woodhouse, 2024/01/26
- [PATCH v4 41/47] hw/s390x/s390-virtio-ccw: use qemu_create_nic_device(), David Woodhouse, 2024/01/26
- [PATCH v4 24/47] hw/arm/fsl: use qemu_configure_nic_device(), David Woodhouse, 2024/01/26