adb.c: include ADBDevice parent state in KBDState and MouseState
The parent ADBDevice contains the device id on the ADB bus. Make sure that this state is included in both its subclasses since some clients (such as OpenBIOS) reprogram each device id after enumeration. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
		
							parent
							
								
									026359238b
								
							
						
					
					
						commit
						e5dffaa5b1
					
				| @ -118,6 +118,17 @@ static const TypeInfo adb_bus_type_info = { | ||||
|     .instance_size = sizeof(ADBBusState), | ||||
| }; | ||||
| 
 | ||||
| static const VMStateDescription vmstate_adb_device = { | ||||
|     .name = "adb_device", | ||||
|     .version_id = 0, | ||||
|     .minimum_version_id = 0, | ||||
|     .fields = (VMStateField[]) { | ||||
|         VMSTATE_INT32(devaddr, ADBDevice), | ||||
|         VMSTATE_INT32(handler, ADBDevice), | ||||
|         VMSTATE_END_OF_LIST() | ||||
|     } | ||||
| }; | ||||
| 
 | ||||
| static void adb_device_realizefn(DeviceState *dev, Error **errp) | ||||
| { | ||||
|     ADBDevice *d = ADB_DEVICE(dev); | ||||
| @ -301,9 +312,10 @@ static int adb_kbd_request(ADBDevice *d, uint8_t *obuf, | ||||
| 
 | ||||
| static const VMStateDescription vmstate_adb_kbd = { | ||||
|     .name = "adb_kbd", | ||||
|     .version_id = 1, | ||||
|     .minimum_version_id = 1, | ||||
|     .version_id = 2, | ||||
|     .minimum_version_id = 2, | ||||
|     .fields = (VMStateField[]) { | ||||
|         VMSTATE_STRUCT(parent_obj, KBDState, 0, vmstate_adb_device, ADBDevice), | ||||
|         VMSTATE_BUFFER(data, KBDState), | ||||
|         VMSTATE_INT32(rptr, KBDState), | ||||
|         VMSTATE_INT32(wptr, KBDState), | ||||
| @ -515,9 +527,11 @@ static void adb_mouse_reset(DeviceState *dev) | ||||
| 
 | ||||
| static const VMStateDescription vmstate_adb_mouse = { | ||||
|     .name = "adb_mouse", | ||||
|     .version_id = 1, | ||||
|     .minimum_version_id = 1, | ||||
|     .version_id = 2, | ||||
|     .minimum_version_id = 2, | ||||
|     .fields = (VMStateField[]) { | ||||
|         VMSTATE_STRUCT(parent_obj, MouseState, 0, vmstate_adb_device, | ||||
|                        ADBDevice), | ||||
|         VMSTATE_INT32(buttons_state, MouseState), | ||||
|         VMSTATE_INT32(last_buttons_state, MouseState), | ||||
|         VMSTATE_INT32(dx, MouseState), | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Mark Cave-Ayland
						Mark Cave-Ayland