use const for functions which do not modify the pio structures.
authorNathael Pajani <nathael.pajani@ed3l.fr>
Sun, 7 Dec 2014 21:04:33 +0000 (22:04 +0100)
committerNathael Pajani <nathael.pajani@ed3l.fr>
Tue, 8 Nov 2022 16:03:04 +0000 (17:03 +0100)
core/pio.c
drivers/gpio.c
include/core/pio.h
include/drivers/gpio.h

index 0cb773c..149cbc0 100644 (file)
@@ -97,7 +97,7 @@ static volatile uint32_t* pio_regs_handles_port2[PORT2_NB_PINS] = {
 };
 
 /* Simple copy function. */
-void pio_copy(struct pio* dst, struct pio* src)
+void pio_copy(struct pio* dst, const struct pio* src)
 {
        if ((dst == NULL) || (src == NULL)) {
                return;
@@ -108,7 +108,7 @@ void pio_copy(struct pio* dst, struct pio* src)
 }
 
 /* Configure the pin in the requested function and mode. */
-void config_pio(struct pio* pp, uint32_t mode)
+void config_pio(const struct pio* pp, uint32_t mode)
 {
        volatile uint32_t* handle = NULL;
 
index d978cae..be0da15 100644 (file)
@@ -71,7 +71,7 @@ void gpio_off(void)
  * This function calls the config_pio() function for the gpio with the given
  * mode, configures the direction of the pin and sets the initial state.
  */
-void config_gpio(struct pio* gpio, uint32_t mode, uint8_t dir, uint8_t ini_val)
+void config_gpio(const struct pio* gpio, uint32_t mode, uint8_t dir, uint8_t ini_val)
 {
        struct lpc_gpio* gpio_port = LPC_GPIO_REGS(gpio->port);
 
@@ -96,7 +96,7 @@ static void (*gpio_calbacks_port0[PORT0_NB_PINS]) (uint32_t);
 static void (*gpio_calbacks_port1[PORT1_NB_PINS]) (uint32_t);
 static void (*gpio_calbacks_port2[PORT2_NB_PINS]) (uint32_t);
 
-int set_gpio_callback(void (*callback) (uint32_t), struct pio* gpio, uint8_t sense)
+int set_gpio_callback(void (*callback) (uint32_t), const struct pio* gpio, uint8_t sense)
 {
        struct lpc_gpio* gpio_port = LPC_GPIO_REGS(gpio->port);
        uint32_t irq = 0;
@@ -161,7 +161,7 @@ int set_gpio_callback(void (*callback) (uint32_t), struct pio* gpio, uint8_t sen
        NVIC_EnableIRQ(irq);
        return 0;
 }
-void remove_gpio_callback(struct pio* gpio)
+void remove_gpio_callback(const struct pio* gpio)
 {
        struct lpc_gpio* gpio_port = LPC_GPIO_REGS(gpio->port);
        uint32_t irq = 0;
index 66a6593..fb558fe 100644 (file)
@@ -42,10 +42,10 @@ struct pio {
 #define PORT2_NB_PINS 16
 
 /* Simple copy function. */
-void pio_copy(struct pio* dst, struct pio* src);
+void pio_copy(struct pio* dst, const struct pio* src);
 
 /* Configure the pin in the requested function and mode. */
-void config_pio(struct pio* pp, uint32_t mode);
+void config_pio(const struct pio* pp, uint32_t mode);
 
 
 /****************************************************************************/
index a7fae5a..c1589cd 100644 (file)
@@ -39,8 +39,8 @@ enum gpio_interrupt_senses {
 };
 
 /* GPIO Interrupts */
-int set_gpio_callback(void (*callback) (uint32_t), struct pio* gpio, uint8_t sense);
-void remove_gpio_callback(struct pio* gpio);
+int set_gpio_callback(void (*callback) (uint32_t), const struct pio* gpio, uint8_t sense);
+void remove_gpio_callback(const struct pio* gpio);
 
 
 /* GPIO Activation */
@@ -52,7 +52,7 @@ void gpio_off(void);
  * This function calls the config_pio() function for the gpio with the given
  * mode, configures the direction of the pin and sets the initial state.
  */
-void config_gpio(struct pio* gpio, uint32_t mode, uint8_t dir, uint8_t ini_val);
+void config_gpio(const struct pio* gpio, uint32_t mode, uint8_t dir, uint8_t ini_val);
 
 
 #endif /* DRIVERS_GPIO_H */