aboutsummaryrefslogtreecommitdiffstats
path: root/os
diff options
context:
space:
mode:
authorFabio Utzig <utzig@utzig.org>2016-04-09 21:47:19 +0000
committerFabio Utzig <utzig@utzig.org>2016-04-09 21:47:19 +0000
commit9e0760fdc48d89488a054a5d5526db10f7709e72 (patch)
tree31436b619c8bef778cf561cacc868d0724c5b4bf /os
parent2b82c893e22b6b184495793e496af6ad9365b5d0 (diff)
downloadChibiOS-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
Diffstat (limited to 'os')
-rw-r--r--os/hal/ports/AVR/hal_pal_lld.h8
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;