diff options
author | Fabio Utzig <utzig@utzig.org> | 2016-04-09 21:47:19 +0000 |
---|---|---|
committer | Fabio Utzig <utzig@utzig.org> | 2016-04-09 21:47:19 +0000 |
commit | 9e0760fdc48d89488a054a5d5526db10f7709e72 (patch) | |
tree | 31436b619c8bef778cf561cacc868d0724c5b4bf | |
parent | 2b82c893e22b6b184495793e496af6ad9365b5d0 (diff) | |
download | ChibiOS-9e0760fdc48d89488a054a5d5526db10f7709e72.tar.gz ChibiOS-9e0760fdc48d89488a054a5d5526db10f7709e72.tar.bz2 ChibiOS-9e0760fdc48d89488a054a5d5526db10f7709e72.zip |
[AVR] Let compiler optimized set/clear pad
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@9266 35acf78f-673a-0410-8e92-d51de3d6d3f4
-rw-r--r-- | os/hal/ports/AVR/hal_pal_lld.h | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/os/hal/ports/AVR/hal_pal_lld.h b/os/hal/ports/AVR/hal_pal_lld.h index b6994d8b4..6a325ca73 100644 --- a/os/hal/ports/AVR/hal_pal_lld.h +++ b/os/hal/ports/AVR/hal_pal_lld.h @@ -299,9 +299,7 @@ typedef volatile avr_gpio_registers_t * ioportid_t; * @notapi
*/
#define pal_lld_setpad(port, pad) \
-__asm__ __volatile__( \
- "sbi %0,%1\n\t" :: "I" (_SFR_IO_ADDR(port->out)), "I" (pad) \
-)
+ port->out |= _BV(pad)
/**
* @brief Clears a pad logical state to @p PAL_LOW.
@@ -312,9 +310,7 @@ __asm__ __volatile__( \ * @notapi
*/
#define pal_lld_clearpad(port, pad) \
-__asm__ __volatile__( \
- "cbi %0,%1\n\t" :: "I" (_SFR_IO_ADDR(port->out)), "I" (pad) \
-)
+ port->out &= ~_BV(pad)
extern ROMCONST PALConfig pal_default_config;
|