mirror of
https://gitlab.com/qemu-project/openbios.git
synced 2024-02-13 08:34:06 +08:00
adb: Don't assume that pointers fit in 32 bits
The adb_dev_t state field is used to store a adb_kbd_t pointer. It is unused in the mouse driver. v2: * Change field type from uint32_t to void* to avoid uintptr_t casts in keyboard driver. Signed-off-by: Andreas Färber <andreas.faerber@web.de> Acked-by: Alexander Graf <agraf@suse.de> git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@924 f158a5a8-5612-0410-a976-696ce0be7e32
This commit is contained in:
committed by
Andreas Färber
parent
36d943f6d3
commit
412b9e663b
@@ -32,7 +32,7 @@ struct adb_dev_t {
|
|||||||
adb_bus_t *bus;
|
adb_bus_t *bus;
|
||||||
uint8_t addr;
|
uint8_t addr;
|
||||||
uint8_t type;
|
uint8_t type;
|
||||||
uint32_t state;
|
void *state;
|
||||||
};
|
};
|
||||||
|
|
||||||
#define ADB_BUF_SIZE 8
|
#define ADB_BUF_SIZE 8
|
||||||
|
|||||||
@@ -483,7 +483,7 @@ static int adb_kbd_read (void *private)
|
|||||||
int key;
|
int key;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
kbd = (void *)dev->state;
|
kbd = dev->state;
|
||||||
|
|
||||||
if (kbd->len > 0) {
|
if (kbd->len > 0) {
|
||||||
ret = kbd->sequence[kbd->len-- - 1];
|
ret = kbd->sequence[kbd->len-- - 1];
|
||||||
@@ -531,7 +531,7 @@ void *adb_kbd_new (char *path, void *private)
|
|||||||
ADB_kbd_us, ADB_sequences);
|
ADB_kbd_us, ADB_sequences);
|
||||||
kbd->next_key = -1;
|
kbd->next_key = -1;
|
||||||
kbd->len = 0;
|
kbd->len = 0;
|
||||||
dev->state = (int32_t)kbd;
|
dev->state = kbd;
|
||||||
my_adb_dev = dev;
|
my_adb_dev = dev;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user