diff --git a/include/libopencm3/sam3x/gpio.h b/include/libopencm3/sam3x/gpio.h
index ce3e6120..f0833ab0 100644
--- a/include/libopencm3/sam3x/gpio.h
+++ b/include/libopencm3/sam3x/gpio.h
@@ -27,7 +27,7 @@ static inline void gpio_set(u32 gpioport, u32 gpios)
PIO_SODR(gpioport) = gpios;
}
-void gpio_clear(u32 gpioport, u32 gpios)
+static inline void gpio_clear(u32 gpioport, u32 gpios)
{
PIO_CODR(gpioport) = gpios;
}
diff --git a/lib/sam3x/gpio.c b/lib/sam3x/gpio.c
index 57eea1ec..b1c5c7c0 100644
--- a/lib/sam3x/gpio.c
+++ b/lib/sam3x/gpio.c
@@ -17,19 +17,9 @@
* along with this library. If not, see .
*/
-#include
+#include
-void pio_set(u32 gpioport, u32 gpios)
-{
- PIO_SODR(gpioport) = gpios;
-}
-
-void pio_clear(u32 gpioport, u32 gpios)
-{
- PIO_CODR(gpioport) = gpios;
-}
-
-void pio_toggle(u32 gpioport, u32 gpios)
+void gpio_toggle(u32 gpioport, u32 gpios)
{
u32 odsr = PIO_ODSR(gpioport);
PIO_CODR(gpioport) = odsr & gpios;