]> www.infradead.org Git - users/dwmw2/qemu.git/commitdiff
hw/net/lan9118: use qemu_configure_nic_device()
authorDavid Woodhouse <dwmw@amazon.co.uk>
Fri, 20 Oct 2023 00:13:08 +0000 (01:13 +0100)
committerDavid Woodhouse <dwmw@amazon.co.uk>
Sun, 22 Oct 2023 13:29:55 +0000 (14:29 +0100)
Some callers instantiate the device unconditionally, others will do so only
if there is a NICInfo to go with it. This appears to be fairly random, but
preseve the existing behaviour for now.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
hw/arm/kzm.c
hw/arm/mps2.c
hw/arm/realview.c
hw/arm/vexpress.c
hw/net/lan9118.c
include/hw/net/lan9118.h

index b1b281c9acb3d13c9af302238c614280632b8bfe..9f2d120f575e4b997c4a52e7a1d755c17f179552 100644 (file)
@@ -112,8 +112,8 @@ static void kzm_init(MachineState *machine)
         alias_offset += ram[i].size;
     }
 
-    if (nd_table[0].used) {
-        lan9118_init(&nd_table[0], KZM_LAN9118_ADDR,
+    if (qemu_find_nic_info("lan9118", true, NULL)) {
+        lan9118_init(KZM_LAN9118_ADDR,
                      qdev_get_gpio_in(DEVICE(&s->soc.avic), 52));
     }
 
index d92fd60684ce46487b46cce8e35c5fab99ebf2c0..cb3da1ef5c0c3cef169fdde9dccd65a0e12c25f9 100644 (file)
@@ -458,7 +458,7 @@ static void mps2_common_init(MachineState *machine)
     /* In hardware this is a LAN9220; the LAN9118 is software compatible
      * except that it doesn't support the checksum-offload feature.
      */
-    lan9118_init(&nd_table[0], mmc->ethernet_base,
+    lan9118_init(mmc->ethernet_base,
                  qdev_get_gpio_in(armv7m,
                                   mmc->fpga_type == FPGA_AN511 ? 47 : 13));
 
index 591f50581ec2e83450098408b5a2d38e5488d3c6..68f8aefac3f6dccbd12d9dd23cb43140f8d70819 100644 (file)
@@ -84,7 +84,6 @@ static void realview_init(MachineState *machine,
     SysBusDevice *busdev;
     qemu_irq pic[64];
     PCIBus *pci_bus = NULL;
-    NICInfo *nd;
     DriveInfo *dinfo;
     I2CBus *i2c;
     int n;
@@ -295,10 +294,9 @@ static void realview_init(MachineState *machine,
         }
     }
 
-    nd = qemu_find_nic_info(is_pb ? "lan9118" : "smc91c111", true, NULL);
-    if (nd) {
+    if (qemu_find_nic_info(is_pb ? "lan9118" : "smc91c111", true, NULL)) {
         if (is_pb) {
-            lan9118_init(nd, 0x4e000000, pic[28]);
+            lan9118_init(0x4e000000, pic[28]);
         } else {
             smc91c111_init(0x4e000000, pic[28]);
         }
index 8ff37f52ca1085d471f9780b77efe90bbf666329..4a6cb3bdf5f8bd65e8b40a0a8153d7e338ffcb60 100644 (file)
@@ -686,8 +686,8 @@ static void vexpress_common_init(MachineState *machine)
     memory_region_add_subregion(sysmem, map[VE_VIDEORAM], &vms->vram);
 
     /* 0x4e000000 LAN9118 Ethernet */
-    if (nd_table[0].used) {
-        lan9118_init(&nd_table[0], map[VE_ETHERNET], pic[15]);
+    if (qemu_find_nic_info("lan9118", true, NULL)) {
+        lan9118_init(map[VE_ETHERNET], pic[15]);
     }
 
     /* VE_USB: not modelled */
index e5c4af182dfa79e8396aab33e4ecfa9414d513ec..42fe5efd8cbd03043f831b9c3ac21fe3bbbde77b 100644 (file)
@@ -1407,14 +1407,13 @@ static void lan9118_register_types(void)
 
 /* Legacy helper function.  Should go away when machine config files are
    implemented.  */
-void lan9118_init(NICInfo *nd, uint32_t base, qemu_irq irq)
+void lan9118_init(uint32_t base, qemu_irq irq)
 {
     DeviceState *dev;
     SysBusDevice *s;
 
-    qemu_check_nic_model(nd, "lan9118");
     dev = qdev_new(TYPE_LAN9118);
-    qdev_set_nic_properties(dev, nd);
+    qemu_configure_nic_device(dev, true, NULL);
     s = SYS_BUS_DEVICE(dev);
     sysbus_realize_and_unref(s, &error_fatal);
     sysbus_mmio_map(s, 0, base);
index 3d0c67f3393649872de818de1a903dc6027ee530..4bf9da7a63efba5b3e02c805a130f48ee1de1d74 100644 (file)
@@ -15,6 +15,6 @@
 
 #define TYPE_LAN9118 "lan9118"
 
-void lan9118_init(NICInfo *, uint32_t, qemu_irq);
+void lan9118_init(uint32_t, qemu_irq);
 
 #endif