mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 07:43:54 -06:00
hw/input/stellaris_input: Convert to qdev
Convert the hw/input/stellaris_input device to qdev. The interface uses an array property for the board to specify the keycodes to use, so the s->keycodes memory is now allocated by the array-property machinery. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-id: 20231030114802.3671871-6-peter.maydell@linaro.org
This commit is contained in:
parent
5f8d505e3a
commit
a75f336b97
3 changed files with 87 additions and 32 deletions
|
@ -11,8 +11,27 @@
|
|||
#ifndef HW_INPUT_STELLARIS_GAMEPAD_H
|
||||
#define HW_INPUT_STELLARIS_GAMEPAD_H
|
||||
|
||||
#include "hw/sysbus.h"
|
||||
#include "qom/object.h"
|
||||
|
||||
/* stellaris_gamepad.c */
|
||||
void stellaris_gamepad_init(int n, qemu_irq *irq, const int *keycode);
|
||||
/*
|
||||
* QEMU interface:
|
||||
* + QOM array property "keycodes": uint32_t QEMU keycodes to handle
|
||||
* + unnamed GPIO outputs: one per keycode, in the same order as the
|
||||
* "keycodes" array property entries; asserted when key is down
|
||||
*/
|
||||
|
||||
#define TYPE_STELLARIS_GAMEPAD "stellaris-gamepad"
|
||||
OBJECT_DECLARE_SIMPLE_TYPE(StellarisGamepad, STELLARIS_GAMEPAD)
|
||||
|
||||
struct StellarisGamepad {
|
||||
SysBusDevice parent_obj;
|
||||
|
||||
uint32_t num_buttons;
|
||||
qemu_irq *irqs;
|
||||
uint32_t *keycodes;
|
||||
uint8_t *pressed;
|
||||
int extension;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue