Introduce fw_name field to DeviceInfo structure.
Add "fw_name" to DeviceInfo to use in device path building. In contrast to "name" "fw_name" should refer to functionality device provides instead of particular device model like "name" does. Signed-off-by: Gleb Natapov <gleb@redhat.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
This commit is contained in:
		
							parent
							
								
									1b3cba6e91
								
							
						
					
					
						commit
						779206de67
					
				
							
								
								
									
										1
									
								
								hw/fdc.c
								
								
								
								
							
							
						
						
									
										1
									
								
								hw/fdc.c
								
								
								
								
							|  | @ -2042,6 +2042,7 @@ static const VMStateDescription vmstate_isa_fdc ={ | ||||||
| static ISADeviceInfo isa_fdc_info = { | static ISADeviceInfo isa_fdc_info = { | ||||||
|     .init = isabus_fdc_init1, |     .init = isabus_fdc_init1, | ||||||
|     .qdev.name  = "isa-fdc", |     .qdev.name  = "isa-fdc", | ||||||
|  |     .qdev.fw_name  = "fdc", | ||||||
|     .qdev.size  = sizeof(FDCtrlISABus), |     .qdev.size  = sizeof(FDCtrlISABus), | ||||||
|     .qdev.no_user = 1, |     .qdev.no_user = 1, | ||||||
|     .qdev.vmsd  = &vmstate_isa_fdc, |     .qdev.vmsd  = &vmstate_isa_fdc, | ||||||
|  |  | ||||||
|  | @ -98,6 +98,7 @@ ISADevice *isa_ide_init(int iobase, int iobase2, int isairq, | ||||||
| 
 | 
 | ||||||
| static ISADeviceInfo isa_ide_info = { | static ISADeviceInfo isa_ide_info = { | ||||||
|     .qdev.name  = "isa-ide", |     .qdev.name  = "isa-ide", | ||||||
|  |     .qdev.fw_name  = "ide", | ||||||
|     .qdev.size  = sizeof(ISAIDEState), |     .qdev.size  = sizeof(ISAIDEState), | ||||||
|     .init       = isa_ide_initfn, |     .init       = isa_ide_initfn, | ||||||
|     .qdev.reset = isa_ide_reset, |     .qdev.reset = isa_ide_reset, | ||||||
|  |  | ||||||
|  | @ -134,6 +134,7 @@ static int ide_drive_initfn(IDEDevice *dev) | ||||||
| 
 | 
 | ||||||
| static IDEDeviceInfo ide_drive_info = { | static IDEDeviceInfo ide_drive_info = { | ||||||
|     .qdev.name  = "ide-drive", |     .qdev.name  = "ide-drive", | ||||||
|  |     .qdev.fw_name  = "drive", | ||||||
|     .qdev.size  = sizeof(IDEDrive), |     .qdev.size  = sizeof(IDEDrive), | ||||||
|     .init       = ide_drive_initfn, |     .init       = ide_drive_initfn, | ||||||
|     .qdev.props = (Property[]) { |     .qdev.props = (Property[]) { | ||||||
|  |  | ||||||
|  | @ -150,6 +150,7 @@ static int isabus_bridge_init(SysBusDevice *dev) | ||||||
| static SysBusDeviceInfo isabus_bridge_info = { | static SysBusDeviceInfo isabus_bridge_info = { | ||||||
|     .init = isabus_bridge_init, |     .init = isabus_bridge_init, | ||||||
|     .qdev.name  = "isabus-bridge", |     .qdev.name  = "isabus-bridge", | ||||||
|  |     .qdev.fw_name  = "isa", | ||||||
|     .qdev.size  = sizeof(SysBusDevice), |     .qdev.size  = sizeof(SysBusDevice), | ||||||
|     .qdev.no_user = 1, |     .qdev.no_user = 1, | ||||||
| }; | }; | ||||||
|  |  | ||||||
|  | @ -142,6 +142,7 @@ static void lance_reset(DeviceState *dev) | ||||||
| static SysBusDeviceInfo lance_info = { | static SysBusDeviceInfo lance_info = { | ||||||
|     .init       = lance_init, |     .init       = lance_init, | ||||||
|     .qdev.name  = "lance", |     .qdev.name  = "lance", | ||||||
|  |     .qdev.fw_name  = "ethernet", | ||||||
|     .qdev.size  = sizeof(SysBusPCNetState), |     .qdev.size  = sizeof(SysBusPCNetState), | ||||||
|     .qdev.reset = lance_reset, |     .qdev.reset = lance_reset, | ||||||
|     .qdev.vmsd  = &vmstate_lance, |     .qdev.vmsd  = &vmstate_lance, | ||||||
|  |  | ||||||
|  | @ -365,6 +365,7 @@ static PCIDeviceInfo i440fx_info[] = { | ||||||
| static SysBusDeviceInfo i440fx_pcihost_info = { | static SysBusDeviceInfo i440fx_pcihost_info = { | ||||||
|     .init         = i440fx_pcihost_initfn, |     .init         = i440fx_pcihost_initfn, | ||||||
|     .qdev.name    = "i440FX-pcihost", |     .qdev.name    = "i440FX-pcihost", | ||||||
|  |     .qdev.fw_name = "pci", | ||||||
|     .qdev.size    = sizeof(I440FXState), |     .qdev.size    = sizeof(I440FXState), | ||||||
|     .qdev.no_user = 1, |     .qdev.no_user = 1, | ||||||
| }; | }; | ||||||
|  |  | ||||||
|  | @ -141,6 +141,7 @@ typedef void (*qdev_resetfn)(DeviceState *dev); | ||||||
| 
 | 
 | ||||||
| struct DeviceInfo { | struct DeviceInfo { | ||||||
|     const char *name; |     const char *name; | ||||||
|  |     const char *fw_name; | ||||||
|     const char *alias; |     const char *alias; | ||||||
|     const char *desc; |     const char *desc; | ||||||
|     size_t size; |     size_t size; | ||||||
|  | @ -306,6 +307,11 @@ void qdev_prop_set_defaults(DeviceState *dev, Property *props); | ||||||
| void qdev_prop_register_global_list(GlobalProperty *props); | void qdev_prop_register_global_list(GlobalProperty *props); | ||||||
| void qdev_prop_set_globals(DeviceState *dev); | void qdev_prop_set_globals(DeviceState *dev); | ||||||
| 
 | 
 | ||||||
|  | static inline const char *qdev_fw_name(DeviceState *dev) | ||||||
|  | { | ||||||
|  |     return dev->info->fw_name ? : dev->info->alias ? : dev->info->name; | ||||||
|  | } | ||||||
|  | 
 | ||||||
| /* This is a nasty hack to allow passing a NULL bus to qdev_create.  */ | /* This is a nasty hack to allow passing a NULL bus to qdev_create.  */ | ||||||
| extern struct BusInfo system_bus_info; | extern struct BusInfo system_bus_info; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1230,6 +1230,7 @@ static int scsi_disk_initfn(SCSIDevice *dev) | ||||||
| 
 | 
 | ||||||
| static SCSIDeviceInfo scsi_disk_info = { | static SCSIDeviceInfo scsi_disk_info = { | ||||||
|     .qdev.name    = "scsi-disk", |     .qdev.name    = "scsi-disk", | ||||||
|  |     .qdev.fw_name = "disk", | ||||||
|     .qdev.desc    = "virtual scsi disk or cdrom", |     .qdev.desc    = "virtual scsi disk or cdrom", | ||||||
|     .qdev.size    = sizeof(SCSIDiskState), |     .qdev.size    = sizeof(SCSIDiskState), | ||||||
|     .qdev.reset   = scsi_disk_reset, |     .qdev.reset   = scsi_disk_reset, | ||||||
|  |  | ||||||
|  | @ -545,6 +545,7 @@ static int usb_hub_initfn(USBDevice *dev) | ||||||
| static struct USBDeviceInfo hub_info = { | static struct USBDeviceInfo hub_info = { | ||||||
|     .product_desc   = "QEMU USB Hub", |     .product_desc   = "QEMU USB Hub", | ||||||
|     .qdev.name      = "usb-hub", |     .qdev.name      = "usb-hub", | ||||||
|  |     .qdev.fw_name    = "hub", | ||||||
|     .qdev.size      = sizeof(USBHubState), |     .qdev.size      = sizeof(USBHubState), | ||||||
|     .init           = usb_hub_initfn, |     .init           = usb_hub_initfn, | ||||||
|     .handle_packet  = usb_hub_handle_packet, |     .handle_packet  = usb_hub_handle_packet, | ||||||
|  |  | ||||||
|  | @ -1496,6 +1496,7 @@ static USBDevice *usb_net_init(const char *cmdline) | ||||||
| static struct USBDeviceInfo net_info = { | static struct USBDeviceInfo net_info = { | ||||||
|     .product_desc   = "QEMU USB Network Interface", |     .product_desc   = "QEMU USB Network Interface", | ||||||
|     .qdev.name      = "usb-net", |     .qdev.name      = "usb-net", | ||||||
|  |     .qdev.fw_name    = "network", | ||||||
|     .qdev.size      = sizeof(USBNetState), |     .qdev.size      = sizeof(USBNetState), | ||||||
|     .init           = usb_net_initfn, |     .init           = usb_net_initfn, | ||||||
|     .handle_packet  = usb_generic_handle_packet, |     .handle_packet  = usb_generic_handle_packet, | ||||||
|  |  | ||||||
|  | @ -699,6 +699,7 @@ static int virtio_9p_init_pci(PCIDevice *pci_dev) | ||||||
| static PCIDeviceInfo virtio_info[] = { | static PCIDeviceInfo virtio_info[] = { | ||||||
|     { |     { | ||||||
|         .qdev.name = "virtio-blk-pci", |         .qdev.name = "virtio-blk-pci", | ||||||
|  |         .qdev.alias = "virtio-blk", | ||||||
|         .qdev.size = sizeof(VirtIOPCIProxy), |         .qdev.size = sizeof(VirtIOPCIProxy), | ||||||
|         .init      = virtio_blk_init_pci, |         .init      = virtio_blk_init_pci, | ||||||
|         .exit      = virtio_blk_exit_pci, |         .exit      = virtio_blk_exit_pci, | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 Gleb Natapov
						Gleb Natapov