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:
Andreas Färber
2010-10-30 12:22:06 +00:00
committed by Andreas Färber
parent 36d943f6d3
commit 412b9e663b
2 changed files with 3 additions and 3 deletions

View File

@@ -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

View File

@@ -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;
} }