]> git.sur5r.net Git - freertos/blobdiff - FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_FreedomStudio/freedom-metal/src/gpio.c
Update RISCC-V-RV32-SiFive_HiFive1_FreedomStudio project to latest tools and metal...
[freertos] / FreeRTOS / Demo / RISC-V_RV32_SiFive_HiFive1_FreedomStudio / freedom-metal / src / gpio.c
index 02a6582c9ee72f9eef545420e5a263c16840b0a7..504526eb3930948a452e46b73c359e42b199b493 100644 (file)
@@ -4,15 +4,23 @@
 #include <metal/machine.h>
 #include <metal/gpio.h>
 
-extern inline int metal_gpio_disable_input(struct metal_gpio *gpio, int pin);
-extern inline int metal_gpio_enable_output(struct metal_gpio *gpio, int pin);
-extern inline int metal_gpio_set_pin(struct metal_gpio *, int pin, int value);
-extern inline int metal_gpio_get_pin(struct metal_gpio *, int pin);
-extern inline int metal_gpio_clear_pin(struct metal_gpio *, int pin);
-extern inline int metal_gpio_toggle_pin(struct metal_gpio *, int pin);
-extern inline int metal_gpio_enable_pinmux(struct metal_gpio *, int pin, int io_function);
+extern __inline__ int metal_gpio_disable_input(struct metal_gpio *gpio, int pin);
+extern __inline__ int metal_gpio_enable_input(struct metal_gpio *gpio, int pin);
+extern __inline__ int metal_gpio_enable_output(struct metal_gpio *gpio, int pin);
+extern __inline__ int metal_gpio_disable_output(struct metal_gpio *gpio, int pin);
+extern __inline__ int metal_gpio_get_output_pin(struct metal_gpio *gpio, int pin);
+extern __inline__ int metal_gpio_get_input_pin(struct metal_gpio *gpio, int pin);
+extern __inline__ int metal_gpio_set_pin(struct metal_gpio *, int pin, int value);
+extern __inline__ int metal_gpio_clear_pin(struct metal_gpio *, int pin);
+extern __inline__ int metal_gpio_toggle_pin(struct metal_gpio *, int pin);
+extern __inline__ int metal_gpio_enable_pinmux(struct metal_gpio *, int pin, int io_function);
+extern __inline__ int metal_gpio_disable_pinmux(struct metal_gpio *, int pin);
+extern __inline__ struct metal_interrupt* metal_gpio_interrupt_controller(struct metal_gpio *gpio);
+extern __inline__ int metal_gpio_get_interrupt_id(struct metal_gpio *gpio, int pin);
+extern __inline__ int metal_gpio_config_interrupt(struct metal_gpio *gpio, int pin, int intr_type);
+extern __inline__ int metal_gpio_clear_interrupt(struct metal_gpio *gpio, int pin, int intr_type);
 
-struct metal_gpio *metal_gpio_get_device(int device_num)
+struct metal_gpio *metal_gpio_get_device(unsigned int device_num)
 {
     if(device_num > __MEE_DT_MAX_GPIOS) {
        return NULL;