mbed-os/drivers/source
Hari Limaye f4e5359710 GPIO: Use uintptr_t for gpio_irq_api context
The HAL gpio_irq_api stores object IDs, which serve as a form of context
for the dispatch of the interrupt handler in the drivers level
InterruptIn Class. The way this is achieved is that the InterruptIn
Class casts its address to uint32_t, which is stored as the ID.
This results in compilation failure when the size of an object pointer
is greater than uint32_t, for example when building on a PC for unit
testing.

In order to allow Unit Testing of the InterruptIn Class, we replace the
use of uint32_t with uintptr_t (type capable of holding a pointer),
which allows portability and expresses intentions more clearly.
In aid of this latter goal, we also replace the use of the name "id"
with "context", to improve clarity - these are addresses of the context
related to that callback.
2022-01-26 18:12:52 +00:00
..
AnalogIn.cpp Revised doxygen comments and fixed code style inconsistencies 2020-05-20 06:23:22 -04:00
AnalogOut.cpp Drivers/Events/RTOS Public and internal APIs cleanup (#10955) 2019-08-02 12:23:47 +01:00
BufferedSerial.cpp Remove shadowing member variables 2021-05-19 09:01:06 +02:00
BusIn.cpp Drivers/Events/RTOS Public and internal APIs cleanup (#10955) 2019-08-02 12:23:47 +01:00
BusInOut.cpp Drivers/Events/RTOS Public and internal APIs cleanup (#10955) 2019-08-02 12:23:47 +01:00
BusOut.cpp Drivers/Events/RTOS Public and internal APIs cleanup (#10955) 2019-08-02 12:23:47 +01:00
CAN.cpp CAN: Use uintptr_t for can_irq_ids 2021-09-17 13:36:43 +01:00
DigitalIn.cpp Drivers/Events/RTOS Public and internal APIs cleanup (#10955) 2019-08-02 12:23:47 +01:00
DigitalInOut.cpp Drivers/Events/RTOS Public and internal APIs cleanup (#10955) 2019-08-02 12:23:47 +01:00
DigitalOut.cpp Drivers/Events/RTOS Public and internal APIs cleanup (#10955) 2019-08-02 12:23:47 +01:00
FlashIAP.cpp Add check so that FlashIAP does not allocate memory on flash_init failure. 2020-02-28 09:58:25 -08:00
I2C.cpp Fix hanging with multiple I2C buses 2021-06-20 20:34:00 +03:00
I2CSlave.cpp Change explicit pinmap to static pinmap 2019-11-28 08:32:12 +01:00
InterruptIn.cpp GPIO: Use uintptr_t for gpio_irq_api context 2022-01-26 18:12:52 +00:00
MbedCRC.cpp Change MBED_STATIC_ASSERTs version for built-in 2020-10-27 08:30:40 -05:00
OSPI.cpp Remove ownership in OSPI driver 2021-03-18 17:12:19 +00:00
PortIn.cpp Drivers/Events/RTOS Public and internal APIs cleanup (#10955) 2019-08-02 12:23:47 +01:00
PortInOut.cpp Drivers/Events/RTOS Public and internal APIs cleanup (#10955) 2019-08-02 12:23:47 +01:00
PortOut.cpp Drivers/Events/RTOS Public and internal APIs cleanup (#10955) 2019-08-02 12:23:47 +01:00
PwmOut.cpp fixed resets after suspend 2020-09-02 13:39:16 +02:00
QSPI.cpp QSPI: Move destructor into source file 2021-09-10 09:46:02 +01:00
ResetReason.cpp Drivers/Events/RTOS Public and internal APIs cleanup (#10955) 2019-08-02 12:23:47 +01:00
SPI.cpp Turn NULLs into nullptr 2020-01-09 14:52:54 +02:00
SPISlave.cpp SPISlave: Add explicit pinmap support 2019-11-28 08:31:56 +01:00
SerialBase.cpp Call HAL free functions from C++ destructors 2020-07-20 12:15:40 -07:00
SerialWireOutput.cpp C++11-ify virtualisation in FileHandle + Serials 2020-02-24 10:37:17 +02:00
Ticker.cpp Out-of-line LowPowerTimeout etc, lock 2020-04-27 10:19:08 +03:00
Timeout.cpp Correct Timeout rescheduling 2020-05-07 17:00:59 +03:00
Timer.cpp Timer: minor revisions 2020-05-11 16:20:13 +03:00
TimerEvent.cpp Correct/clarify TimerEvent::insert documentation 2020-12-07 16:28:52 +02:00
UnbufferedSerial.cpp Remove lock from enable_* function overrides 2021-01-21 11:09:50 +00:00
Watchdog.cpp allow reconfiguring a running watchdog 2020-02-25 16:12:50 +00:00