sim: mn10300: clean up pointer casts

The void *data field is used to past arbitrary data between event
handlers, and these are using it to pass an enum.  Fix up the casts
to avoid using (long) to cast to/from pointers since there is no
guarantee that's the right size.
This commit is contained in:
Mike Frysinger
2021-10-31 23:21:36 -04:00
parent c704d6e7ee
commit ad2511744f
2 changed files with 9 additions and 9 deletions

View File

@ -238,7 +238,7 @@ do_polling_event (struct hw *me,
{ {
SIM_DESC sd = hw_system (me); SIM_DESC sd = hw_system (me);
struct mn103ser *serial = hw_data(me); struct mn103ser *serial = hw_data(me);
long serial_reg = (long) data; long serial_reg = (uintptr_t) data;
char c; char c;
int count, status; int count, status;
@ -280,7 +280,7 @@ do_polling_event (struct hw *me,
/* Schedule next polling event */ /* Schedule next polling event */
serial->device[serial_reg].event serial->device[serial_reg].event
= hw_event_queue_schedule (me, 1000, = hw_event_queue_schedule (me, 1000,
do_polling_event, (void *)serial_reg); do_polling_event, (void *)(uintptr_t)serial_reg);
} }
@ -424,7 +424,7 @@ read_status_reg (struct hw *me,
serial->device[serial_reg].event serial->device[serial_reg].event
= hw_event_queue_schedule (me, 1000, = hw_event_queue_schedule (me, 1000,
do_polling_event, do_polling_event,
(void *) (long) serial_reg); (void *)(uintptr_t)serial_reg);
} }
if ( nr_bytes == 1 ) if ( nr_bytes == 1 )

View File

@ -570,7 +570,7 @@ do_counter_event (struct hw *me,
void *data) void *data)
{ {
struct mn103tim *timers = hw_data(me); struct mn103tim *timers = hw_data(me);
long timer_nr = (long) data; long timer_nr = (uintptr_t) data;
int next_timer; int next_timer;
/* Check if counting is still enabled. */ /* Check if counting is still enabled. */
@ -596,7 +596,7 @@ do_counter_event (struct hw *me,
/* FIX: Check if div_ratio has changed and if it's now 0. */ /* FIX: Check if div_ratio has changed and if it's now 0. */
timers->timer[timer_nr].event timers->timer[timer_nr].event
= hw_event_queue_schedule (me, timers->timer[timer_nr].div_ratio, = hw_event_queue_schedule (me, timers->timer[timer_nr].div_ratio,
do_counter_event, (void *)timer_nr); do_counter_event, (void *)(uintptr_t)timer_nr);
} }
else else
{ {
@ -611,7 +611,7 @@ do_counter6_event (struct hw *me,
void *data) void *data)
{ {
struct mn103tim *timers = hw_data(me); struct mn103tim *timers = hw_data(me);
long timer_nr = (long) data; long timer_nr = (uintptr_t) data;
int next_timer; int next_timer;
/* Check if counting is still enabled. */ /* Check if counting is still enabled. */
@ -625,7 +625,7 @@ do_counter6_event (struct hw *me,
/* FIX: Check if div_ratio has changed and if it's now 0. */ /* FIX: Check if div_ratio has changed and if it's now 0. */
timers->timer[timer_nr].event timers->timer[timer_nr].event
= hw_event_queue_schedule (me, timers->timer[timer_nr].div_ratio, = hw_event_queue_schedule (me, timers->timer[timer_nr].div_ratio,
do_counter6_event, (void *)timer_nr); do_counter6_event, (void *)(uintptr_t)timer_nr);
} }
else else
{ {
@ -808,7 +808,7 @@ write_mode_reg (struct hw *me,
timers->timer[timer_nr].event timers->timer[timer_nr].event
= hw_event_queue_schedule(me, div_ratio, = hw_event_queue_schedule(me, div_ratio,
do_counter_event, do_counter_event,
(void *)(timer_nr)); (void *)(uintptr_t)timer_nr);
} }
} }
} }
@ -908,7 +908,7 @@ write_tm6md (struct hw *me,
timers->timer[timer_nr].event timers->timer[timer_nr].event
= hw_event_queue_schedule(me, div_ratio, = hw_event_queue_schedule(me, div_ratio,
do_counter6_event, do_counter6_event,
(void *)(timer_nr)); (void *)(uintptr_t)timer_nr);
} }
} }
else else