mbed-os/drivers/include/drivers
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
..
interfaces Add missing include for PinNames.h 2021-08-13 18:07:13 +02:00
AnalogIn.h Move drivers headers 2020-07-31 10:02:47 +01:00
AnalogOut.h Move drivers headers 2020-07-31 10:02:47 +01:00
BufferedSerial.h Remove shadowing member variables 2021-05-19 09:01:06 +02:00
BusIn.h Move drivers headers 2020-07-31 10:02:47 +01:00
BusInOut.h Move drivers headers 2020-07-31 10:02:47 +01:00
BusOut.h Move drivers headers 2020-07-31 10:02:47 +01:00
CAN.h CAN: Use uintptr_t for can_irq_ids 2021-09-17 13:36:43 +01:00
DigitalIn.h Implement polymorphism for DigitalIn 2021-03-09 13:01:06 -05:00
DigitalInOut.h Implement polymorphism for DigitalInOut 2021-03-09 13:01:06 -05:00
DigitalOut.h Implement polymorphism for DigitalOut 2021-03-09 13:01:06 -05:00
FlashIAP.h Move drivers headers 2020-07-31 10:02:47 +01:00
HighResClock.h Move drivers headers 2020-07-31 10:02:47 +01:00
I2C.h Fix hanging with multiple I2C buses 2021-06-20 20:34:00 +03:00
I2CSlave.h Move drivers headers 2020-07-31 10:02:47 +01:00
InterruptIn.h GPIO: Use uintptr_t for gpio_irq_api context 2022-01-26 18:12:52 +00:00
LowPowerClock.h Move drivers headers 2020-07-31 10:02:47 +01:00
LowPowerTicker.h Move drivers headers 2020-07-31 10:02:47 +01:00
LowPowerTimeout.h Move drivers headers 2020-07-31 10:02:47 +01:00
LowPowerTimer.h Move drivers headers 2020-07-31 10:02:47 +01:00
MbedCRC.h Remove `#ifdef UNITTEST` from MbedCRC.h 2021-07-06 17:29:15 +01:00
OSPI.h Remove ownership in OSPI driver 2021-03-18 17:12:19 +00:00
PortIn.h Move drivers headers 2020-07-31 10:02:47 +01:00
PortInOut.h Move drivers headers 2020-07-31 10:02:47 +01:00
PortOut.h Move drivers headers 2020-07-31 10:02:47 +01:00
PwmOut.h fixed resets after suspend 2020-09-02 13:39:16 +02:00
QSPI.h QSPI: Move destructor into source file 2021-09-10 09:46:02 +01:00
RawCAN.h Corrected the conditional compilation of RawCAN. 2021-07-09 11:34:25 +05:30
RealTimeClock.h Move drivers headers 2020-07-31 10:02:47 +01:00
ResetReason.h Move drivers headers 2020-07-31 10:02:47 +01:00
SPI.h Add SPI bitwidths to ST targets where supported 2021-01-11 07:53:07 -06:00
SPISlave.h Move drivers headers 2020-07-31 10:02:47 +01:00
SerialBase.h Move drivers headers 2020-07-31 10:02:47 +01:00
SerialWireOutput.h Move drivers headers 2020-07-31 10:02:47 +01:00
Ticker.h Move drivers headers 2020-07-31 10:02:47 +01:00
TickerDataClock.h Move drivers headers 2020-07-31 10:02:47 +01:00
Timeout.h Move drivers headers 2020-07-31 10:02:47 +01:00
Timer.h Move drivers headers 2020-07-31 10:02:47 +01:00
TimerEvent.h Correct/clarify TimerEvent::insert documentation 2020-12-07 16:28:52 +02:00
UnbufferedSerial.h Implement override of enable_* functions 2021-01-21 10:20:49 +00:00
Watchdog.h Move drivers headers 2020-07-31 10:02:47 +01:00