Diff for /qemu/hw/stellaris_input.c between versions 1.1.1.3 and 1.1.1.4

version 1.1.1.3, 2018/04/24 18:29:42 version 1.1.1.4, 2018/04/24 19:01:02
Line 4 Line 4
  * Copyright (c) 2007 CodeSourcery.   * Copyright (c) 2007 CodeSourcery.
  * Written by Paul Brook   * Written by Paul Brook
  *   *
  * This code is licenced under the GPL.   * This code is licensed under the GPL.
  */   */
 #include "hw.h"  #include "hw.h"
 #include "devices.h"  #include "devices.h"
Line 13 Line 13
 typedef struct {  typedef struct {
     qemu_irq irq;      qemu_irq irq;
     int keycode;      int keycode;
     int pressed;      uint8_t pressed;
 } gamepad_button;  } gamepad_button;
   
 typedef struct {  typedef struct {
Line 47  static void stellaris_gamepad_put_key(vo Line 47  static void stellaris_gamepad_put_key(vo
     s->extension = 0;      s->extension = 0;
 }  }
   
 static void stellaris_gamepad_save(QEMUFile *f, void *opaque)  static const VMStateDescription vmstate_stellaris_button = {
 {      .name = "stellaris_button",
     gamepad_state *s = (gamepad_state *)opaque;      .version_id = 0,
     int i;      .minimum_version_id = 0,
       .minimum_version_id_old = 0,
     qemu_put_be32(f, s->extension);      .fields      = (VMStateField[]) {
     for (i = 0; i < s->num_buttons; i++)          VMSTATE_UINT8(pressed, gamepad_button),
         qemu_put_byte(f, s->buttons[i].pressed);          VMSTATE_END_OF_LIST()
 }      }
   };
 static int stellaris_gamepad_load(QEMUFile *f, void *opaque, int version_id)  
 {  
     gamepad_state *s = (gamepad_state *)opaque;  
     int i;  
   
     if (version_id != 1)  
         return -EINVAL;  
   
     s->extension = qemu_get_be32(f);  
     for (i = 0; i < s->num_buttons; i++)  
         s->buttons[i].pressed = qemu_get_byte(f);  
   
     return 0;  static const VMStateDescription vmstate_stellaris_gamepad = {
 }      .name = "stellaris_gamepad",
       .version_id = 1,
       .minimum_version_id = 1,
       .minimum_version_id_old = 1,
       .fields      = (VMStateField[]) {
           VMSTATE_INT32(extension, gamepad_state),
           VMSTATE_STRUCT_VARRAY_INT32(buttons, gamepad_state, num_buttons, 0,
                                 vmstate_stellaris_button, gamepad_button),
           VMSTATE_END_OF_LIST()
       }
   };
   
 /* Returns an array 5 ouput slots.  */  /* Returns an array 5 ouput slots.  */
 void stellaris_gamepad_init(int n, qemu_irq *irq, const int *keycode)  void stellaris_gamepad_init(int n, qemu_irq *irq, const int *keycode)
Line 86  void stellaris_gamepad_init(int n, qemu_ Line 85  void stellaris_gamepad_init(int n, qemu_
     }      }
     s->num_buttons = n;      s->num_buttons = n;
     qemu_add_kbd_event_handler(stellaris_gamepad_put_key, s);      qemu_add_kbd_event_handler(stellaris_gamepad_put_key, s);
     register_savevm(NULL, "stellaris_gamepad", -1, 1,      vmstate_register(NULL, -1, &vmstate_stellaris_gamepad, s);
                     stellaris_gamepad_save, stellaris_gamepad_load, s);  
 }  }

Removed from v.1.1.1.3  
changed lines
  Added in v.1.1.1.4


unix.superglobalmegacorp.com