summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/boards/arm/dz60rgb/pinmux.c2
-rw-r--r--app/boards/arm/nrfmicro/pinmux.c4
-rw-r--r--app/boards/arm/planck/pinmux.c2
-rw-r--r--app/boards/arm/proton_c/pinmux.c2
-rw-r--r--app/drivers/kscan/kscan_composite.c16
-rw-r--r--app/drivers/kscan/kscan_gpio_demux.c35
-rw-r--r--app/drivers/kscan/kscan_gpio_direct.c36
-rw-r--r--app/drivers/kscan/kscan_gpio_matrix.c51
-rw-r--r--app/drivers/kscan/kscan_mock.c12
-rw-r--r--app/drivers/sensor/battery_voltage_divider/battery_voltage_divider.c11
-rw-r--r--app/drivers/sensor/ec11/ec11.c8
-rw-r--r--app/drivers/sensor/ec11/ec11.h10
-rw-r--r--app/drivers/sensor/ec11/ec11_trigger.c16
-rw-r--r--app/include/drivers/behavior.h14
-rw-r--r--app/include/drivers/ext_power.h18
-rw-r--r--app/include/zmk/events/sensor-event.h2
-rw-r--r--app/src/battery.c6
-rw-r--r--app/src/behaviors/behavior_bt.c2
-rw-r--r--app/src/behaviors/behavior_ext_power.c4
-rw-r--r--app/src/behaviors/behavior_hold_tap.c4
-rw-r--r--app/src/behaviors/behavior_key_press.c2
-rw-r--r--app/src/behaviors/behavior_momentary_layer.c2
-rw-r--r--app/src/behaviors/behavior_none.c2
-rw-r--r--app/src/behaviors/behavior_outputs.c2
-rw-r--r--app/src/behaviors/behavior_reset.c4
-rw-r--r--app/src/behaviors/behavior_rgb_underglow.c2
-rw-r--r--app/src/behaviors/behavior_sensor_rotate_key_press.c6
-rw-r--r--app/src/behaviors/behavior_sticky_key.c4
-rw-r--r--app/src/behaviors/behavior_toggle_layer.c2
-rw-r--r--app/src/behaviors/behavior_transparent.c2
-rw-r--r--app/src/ble.c2
-rw-r--r--app/src/display/main.c2
-rw-r--r--app/src/endpoints.c2
-rw-r--r--app/src/ext_power_generic.c14
-rw-r--r--app/src/keymap.c7
-rw-r--r--app/src/kscan.c5
-rw-r--r--app/src/rgb_underglow.c6
-rw-r--r--app/src/sensors.c6
-rw-r--r--app/src/settings.c2
-rw-r--r--app/src/split/bluetooth/central.c2
-rw-r--r--app/src/usb.c4
41 files changed, 172 insertions, 163 deletions
diff --git a/app/boards/arm/dz60rgb/pinmux.c b/app/boards/arm/dz60rgb/pinmux.c
index f59a31b..241c4ce 100644
--- a/app/boards/arm/dz60rgb/pinmux.c
+++ b/app/boards/arm/dz60rgb/pinmux.c
@@ -56,7 +56,7 @@ static const struct pin_config pinconf[] = {
#endif
};
-static int pinmux_stm32_init(struct device *port) {
+static int pinmux_stm32_init(const struct device *port) {
ARG_UNUSED(port);
stm32_setup_pins(pinconf, ARRAY_SIZE(pinconf));
diff --git a/app/boards/arm/nrfmicro/pinmux.c b/app/boards/arm/nrfmicro/pinmux.c
index 30117d0..dc3bf6c 100644
--- a/app/boards/arm/nrfmicro/pinmux.c
+++ b/app/boards/arm/nrfmicro/pinmux.c
@@ -11,11 +11,11 @@
#include <sys/sys_io.h>
#include <devicetree.h>
-static int pinmux_nrfmicro_init(struct device *port) {
+static int pinmux_nrfmicro_init(const struct device *port) {
ARG_UNUSED(port);
#if CONFIG_BOARD_NRFMICRO_13
- struct device *p0 = device_get_binding("GPIO_0");
+ const struct device *p0 = device_get_binding("GPIO_0");
#if CONFIG_BOARD_NRFMICRO_CHARGER
gpio_pin_configure(p0, 5, GPIO_OUTPUT);
gpio_pin_set(p0, 5, 0);
diff --git a/app/boards/arm/planck/pinmux.c b/app/boards/arm/planck/pinmux.c
index 61cc16a..9080aa4 100644
--- a/app/boards/arm/planck/pinmux.c
+++ b/app/boards/arm/planck/pinmux.c
@@ -56,7 +56,7 @@ static const struct pin_config pinconf[] = {
#endif /* CONFIG_CAN_1 */
};
-static int pinmux_stm32_init(struct device *port) {
+static int pinmux_stm32_init(const struct device *port) {
ARG_UNUSED(port);
stm32_setup_pins(pinconf, ARRAY_SIZE(pinconf));
diff --git a/app/boards/arm/proton_c/pinmux.c b/app/boards/arm/proton_c/pinmux.c
index 9ffabd7..4e32b32 100644
--- a/app/boards/arm/proton_c/pinmux.c
+++ b/app/boards/arm/proton_c/pinmux.c
@@ -56,7 +56,7 @@ static const struct pin_config pinconf[] = {
#endif
};
-static int pinmux_stm32_init(struct device *port) {
+static int pinmux_stm32_init(const struct device *port) {
ARG_UNUSED(port);
stm32_setup_pins(pinconf, ARRAY_SIZE(pinconf));
diff --git a/app/drivers/kscan/kscan_composite.c b/app/drivers/kscan/kscan_composite.c
index b9383d1..d699cfa 100644
--- a/app/drivers/kscan/kscan_composite.c
+++ b/app/drivers/kscan/kscan_composite.c
@@ -34,10 +34,10 @@ struct kscan_composite_config {};
struct kscan_composite_data {
kscan_callback_t callback;
- struct device *dev;
+ const struct device *dev;
};
-static int kscan_composite_enable_callback(struct device *dev) {
+static int kscan_composite_enable_callback(const struct device *dev) {
for (int i = 0; i < ARRAY_SIZE(kscan_composite_children); i++) {
const struct kscan_composite_child_config *cfg = &kscan_composite_children[i];
@@ -46,7 +46,7 @@ static int kscan_composite_enable_callback(struct device *dev) {
return 0;
}
-static int kscan_composite_disable_callback(struct device *dev) {
+static int kscan_composite_disable_callback(const struct device *dev) {
for (int i = 0; i < ARRAY_SIZE(kscan_composite_children); i++) {
const struct kscan_composite_child_config *cfg = &kscan_composite_children[i];
@@ -55,10 +55,10 @@ static int kscan_composite_disable_callback(struct device *dev) {
return 0;
}
-static void kscan_composite_child_callback(struct device *child_dev, uint32_t row, uint32_t column,
- bool pressed) {
+static void kscan_composite_child_callback(const struct device *child_dev, uint32_t row,
+ uint32_t column, bool pressed) {
// TODO: Ideally we can get this passed into our callback!
- struct device *dev = device_get_binding(DT_INST_LABEL(0));
+ const struct device *dev = device_get_binding(DT_INST_LABEL(0));
struct kscan_composite_data *data = dev->data;
for (int i = 0; i < ARRAY_SIZE(kscan_composite_children); i++) {
@@ -72,7 +72,7 @@ static void kscan_composite_child_callback(struct device *child_dev, uint32_t ro
}
}
-static int kscan_composite_configure(struct device *dev, kscan_callback_t callback) {
+static int kscan_composite_configure(const struct device *dev, kscan_callback_t callback) {
struct kscan_composite_data *data = dev->data;
if (!callback) {
@@ -90,7 +90,7 @@ static int kscan_composite_configure(struct device *dev, kscan_callback_t callba
return 0;
}
-static int kscan_composite_init(struct device *dev) {
+static int kscan_composite_init(const struct device *dev) {
struct kscan_composite_data *data = dev->data;
data->dev = dev;
diff --git a/app/drivers/kscan/kscan_gpio_demux.c b/app/drivers/kscan/kscan_gpio_demux.c
index f48a09d..7e3515f 100644
--- a/app/drivers/kscan/kscan_gpio_demux.c
+++ b/app/drivers/kscan/kscan_gpio_demux.c
@@ -49,7 +49,7 @@ struct kscan_gpio_item_config {
struct kscan_gpio_irq_callback_##n { \
struct CHECK_DEBOUNCE_CFG(n, (k_work), (k_delayed_work)) * work; \
struct gpio_callback callback; \
- struct device *dev; \
+ const struct device *dev; \
}; \
\
struct kscan_gpio_config_##n { \
@@ -62,30 +62,31 @@ struct kscan_gpio_item_config {
struct k_timer poll_timer; \
struct CHECK_DEBOUNCE_CFG(n, (k_work), (k_delayed_work)) work; \
bool matrix_state[INST_MATRIX_INPUTS(n)][INST_MATRIX_OUTPUTS(n)]; \
- struct device *rows[INST_MATRIX_INPUTS(n)]; \
- struct device *cols[INST_MATRIX_OUTPUTS(n)]; \
- struct device *dev; \
+ const struct device *rows[INST_MATRIX_INPUTS(n)]; \
+ const struct device *cols[INST_MATRIX_OUTPUTS(n)]; \
+ const struct device *dev; \
}; \
/* IO/GPIO SETUP */ \
/* gpio_input_devices are PHYSICAL IO devices */ \
- static struct device **kscan_gpio_input_devices_##n(struct device *dev) { \
+ static const struct device **kscan_gpio_input_devices_##n(const struct device *dev) { \
struct kscan_gpio_data_##n *data = dev->data; \
return data->rows; \
} \
\
- static const struct kscan_gpio_item_config *kscan_gpio_input_configs_##n(struct device *dev) { \
+ static const struct kscan_gpio_item_config *kscan_gpio_input_configs_##n( \
+ const struct device *dev) { \
const struct kscan_gpio_config_##n *cfg = dev->config; \
return cfg->rows; \
} \
\
/* gpio_output_devices are PHYSICAL IO devices */ \
- static struct device **kscan_gpio_output_devices_##n(struct device *dev) { \
+ static const struct device **kscan_gpio_output_devices_##n(const struct device *dev) { \
struct kscan_gpio_data_##n *data = dev->data; \
return data->cols; \
} \
\
static const struct kscan_gpio_item_config *kscan_gpio_output_configs_##n( \
- struct device *dev) { \
+ const struct device *dev) { \
const struct kscan_gpio_config_##n *cfg = dev->config; \
/* If row2col, rows = outputs & cols = inputs */ \
return cfg->cols; \
@@ -99,7 +100,7 @@ struct kscan_gpio_item_config {
\
/* Read the state of the input GPIOs */ \
/* This is the core matrix_scan func */ \
- static int kscan_gpio_read_##n(struct device *dev) { \
+ static int kscan_gpio_read_##n(const struct device *dev) { \
bool submit_follow_up_read = false; \
struct kscan_gpio_data_##n *data = dev->data; \
static bool read_state[INST_MATRIX_INPUTS(n)][INST_MATRIX_OUTPUTS(n)]; \
@@ -107,7 +108,7 @@ struct kscan_gpio_item_config {
/* Iterate over bits and set GPIOs accordingly */ \
for (uint8_t bit = 0; bit < INST_DEMUX_GPIOS(n); bit++) { \
uint8_t state = (o & (0b1 << bit)) >> bit; \
- struct device *out_dev = kscan_gpio_output_devices_##n(dev)[bit]; \
+ const struct device *out_dev = kscan_gpio_output_devices_##n(dev)[bit]; \
const struct kscan_gpio_item_config *out_cfg = \
&kscan_gpio_output_configs_##n(dev)[bit]; \
gpio_pin_set(out_dev, out_cfg->pin, state); \
@@ -115,7 +116,7 @@ struct kscan_gpio_item_config {
\
for (int i = 0; i < INST_MATRIX_INPUTS(n); i++) { \
/* Get the input device (port) */ \
- struct device *in_dev = kscan_gpio_input_devices_##n(dev)[i]; \
+ const struct device *in_dev = kscan_gpio_input_devices_##n(dev)[i]; \
/* Get the input device config (pin) */ \
const struct kscan_gpio_item_config *in_cfg = \
&kscan_gpio_input_configs_##n(dev)[i]; \
@@ -151,7 +152,7 @@ struct kscan_gpio_item_config {
.rows = {[INST_MATRIX_INPUTS(n) - 1] = NULL}, .cols = {[INST_DEMUX_GPIOS(n) - 1] = NULL}}; \
\
/* KSCAN API configure function */ \
- static int kscan_gpio_configure_##n(struct device *dev, kscan_callback_t callback) { \
+ static int kscan_gpio_configure_##n(const struct device *dev, kscan_callback_t callback) { \
LOG_DBG("KSCAN API configure"); \
struct kscan_gpio_data_##n *data = dev->data; \
if (!callback) { \
@@ -163,7 +164,7 @@ struct kscan_gpio_item_config {
}; \
\
/* KSCAN API enable function */ \
- static int kscan_gpio_enable_##n(struct device *dev) { \
+ static int kscan_gpio_enable_##n(const struct device *dev) { \
LOG_DBG("KSCAN API enable"); \
struct kscan_gpio_data_##n *data = dev->data; \
/* TODO: we might want a follow up to hook into the sleep state hooks in Zephyr, */ \
@@ -173,7 +174,7 @@ struct kscan_gpio_item_config {
}; \
\
/* KSCAN API disable function */ \
- static int kscan_gpio_disable_##n(struct device *dev) { \
+ static int kscan_gpio_disable_##n(const struct device *dev) { \
LOG_DBG("KSCAN API disable"); \
struct kscan_gpio_data_##n *data = dev->data; \
k_timer_stop(&data->poll_timer); \
@@ -181,12 +182,12 @@ struct kscan_gpio_item_config {
}; \
\
/* GPIO init function*/ \
- static int kscan_gpio_init_##n(struct device *dev) { \
+ static int kscan_gpio_init_##n(const struct device *dev) { \
LOG_DBG("KSCAN GPIO init"); \
struct kscan_gpio_data_##n *data = dev->data; \
int err; \
/* configure input devices*/ \
- struct device **input_devices = kscan_gpio_input_devices_##n(dev); \
+ const struct device **input_devices = kscan_gpio_input_devices_##n(dev); \
for (int i = 0; i < INST_MATRIX_INPUTS(n); i++) { \
const struct kscan_gpio_item_config *in_cfg = &kscan_gpio_input_configs_##n(dev)[i]; \
input_devices[i] = device_get_binding(in_cfg->label); \
@@ -207,7 +208,7 @@ struct kscan_gpio_item_config {
} \
} \
/* configure output devices*/ \
- struct device **output_devices = kscan_gpio_output_devices_##n(dev); \
+ const struct device **output_devices = kscan_gpio_output_devices_##n(dev); \
for (int o = 0; o < INST_DEMUX_GPIOS(n); o++) { \
const struct kscan_gpio_item_config *out_cfg = &kscan_gpio_output_configs_##n(dev)[o]; \
output_devices[o] = device_get_binding(out_cfg->label); \
diff --git a/app/drivers/kscan/kscan_gpio_direct.c b/app/drivers/kscan/kscan_gpio_direct.c
index 041c900..0802d0e 100644
--- a/app/drivers/kscan/kscan_gpio_direct.c
+++ b/app/drivers/kscan/kscan_gpio_direct.c
@@ -38,17 +38,17 @@ struct kscan_gpio_data {
#endif /* defined(CONFIG_ZMK_KSCAN_DIRECT_POLLING) */
kscan_callback_t callback;
union work_reference work;
- struct device *dev;
+ const struct device *dev;
uint32_t pin_state;
- struct device *inputs[];
+ const struct device *inputs[];
};
-static struct device **kscan_gpio_input_devices(struct device *dev) {
+static const struct device **kscan_gpio_input_devices(const struct device *dev) {
struct kscan_gpio_data *data = dev->data;
return data->inputs;
}
-static const struct kscan_gpio_item_config *kscan_gpio_input_configs(struct device *dev) {
+static const struct kscan_gpio_item_config *kscan_gpio_input_configs(const struct device *dev) {
const struct kscan_gpio_config *cfg = dev->config;
return cfg->inputs;
}
@@ -65,19 +65,19 @@ static void kscan_gpio_direct_queue_read(union work_reference *work, uint8_t deb
#if !defined(CONFIG_ZMK_KSCAN_DIRECT_POLLING)
struct kscan_gpio_irq_callback {
- struct device *dev;
+ const struct device *dev;
union work_reference *work;
uint8_t debounce_period;
struct gpio_callback callback;
};
-static int kscan_gpio_config_interrupts(struct device *dev, gpio_flags_t flags) {
+static int kscan_gpio_config_interrupts(const struct device *dev, gpio_flags_t flags) {
const struct kscan_gpio_config *cfg = dev->config;
- struct device **devices = kscan_gpio_input_devices(dev);
+ const struct device **devices = kscan_gpio_input_devices(dev);
const struct kscan_gpio_item_config *configs = kscan_gpio_input_configs(dev);
for (int i = 0; i < cfg->num_of_inputs; i++) {
- struct device *dev = devices[i];
+ const struct device *dev = devices[i];
const struct kscan_gpio_item_config *cfg = &configs[i];
int err = gpio_pin_interrupt_configure(dev, cfg->pin, flags);
@@ -91,14 +91,14 @@ static int kscan_gpio_config_interrupts(struct device *dev, gpio_flags_t flags)
return 0;
}
-static int kscan_gpio_direct_enable(struct device *dev) {
+static int kscan_gpio_direct_enable(const struct device *dev) {
return kscan_gpio_config_interrupts(dev, GPIO_INT_LEVEL_ACTIVE);
}
-static int kscan_gpio_direct_disable(struct device *dev) {
+static int kscan_gpio_direct_disable(const struct device *dev) {
return kscan_gpio_config_interrupts(dev, GPIO_INT_DISABLE);
}
-static void kscan_gpio_irq_callback_handler(struct device *dev, struct gpio_callback *cb,
+static void kscan_gpio_irq_callback_handler(const struct device *dev, struct gpio_callback *cb,
gpio_port_pins_t pin) {
struct kscan_gpio_irq_callback *data =
CONTAINER_OF(cb, struct kscan_gpio_irq_callback, callback);
@@ -115,12 +115,12 @@ static void kscan_gpio_timer_handler(struct k_timer *timer) {
kscan_gpio_direct_queue_read(&data->work, 0);
}
-static int kscan_gpio_direct_enable(struct device *dev) {
+static int kscan_gpio_direct_enable(const struct device *dev) {
struct kscan_gpio_data *data = dev->data;
k_timer_start(&data->poll_timer, K_MSEC(10), K_MSEC(10));
return 0;
}
-static int kscan_gpio_direct_disable(struct device *dev) {
+static int kscan_gpio_direct_disable(const struct device *dev) {
struct kscan_gpio_data *data = dev->data;
k_timer_stop(&data->poll_timer);
return 0;
@@ -128,7 +128,7 @@ static int kscan_gpio_direct_disable(struct device *dev) {
#endif /* defined(CONFIG_ZMK_KSCAN_DIRECT_POLLING) */
-static int kscan_gpio_direct_configure(struct device *dev, kscan_callback_t callback) {
+static int kscan_gpio_direct_configure(const struct device *dev, kscan_callback_t callback) {
struct kscan_gpio_data *data = dev->data;
if (!callback) {
return -EINVAL;
@@ -137,13 +137,13 @@ static int kscan_gpio_direct_configure(struct device *dev, kscan_callback_t call
return 0;
}
-static int kscan_gpio_read(struct device *dev) {
+static int kscan_gpio_read(const struct device *dev) {
struct kscan_gpio_data *data = dev->data;
const struct kscan_gpio_config *cfg = dev->config;
uint32_t read_state = data->pin_state;
bool submit_follow_up_read = false;
for (int i = 0; i < cfg->num_of_inputs; i++) {
- struct device *in_dev = kscan_gpio_input_devices(dev)[i];
+ const struct device *in_dev = kscan_gpio_input_devices(dev)[i];
const struct kscan_gpio_item_config *in_cfg = &kscan_gpio_input_configs(dev)[i];
WRITE_BIT(read_state, i, gpio_pin_get(in_dev, in_cfg->pin) > 0);
}
@@ -194,11 +194,11 @@ static const struct kscan_driver_api gpio_driver_api = {
(static struct kscan_gpio_irq_callback irq_callbacks_##n[INST_INPUT_LEN(n)];), ()) \
static struct kscan_gpio_data kscan_gpio_data_##n = { \
.inputs = {[INST_INPUT_LEN(n) - 1] = NULL}}; \
- static int kscan_gpio_init_##n(struct device *dev) { \
+ static int kscan_gpio_init_##n(const struct device *dev) { \
struct kscan_gpio_data *data = dev->data; \
const struct kscan_gpio_config *cfg = dev->config; \
int err; \
- struct device **input_devices = kscan_gpio_input_devices(dev); \
+ const struct device **input_devices = kscan_gpio_input_devices(dev); \
for (int i = 0; i < cfg->num_of_inputs; i++) { \
const struct kscan_gpio_item_config *in_cfg = &kscan_gpio_input_configs(dev)[i]; \
input_devices[i] = device_get_binding(in_cfg->label); \
diff --git a/app/drivers/kscan/kscan_gpio_matrix.c b/app/drivers/kscan/kscan_gpio_matrix.c
index 8412043..6697cf6 100644
--- a/app/drivers/kscan/kscan_gpio_matrix.c
+++ b/app/drivers/kscan/kscan_gpio_matrix.c
@@ -32,11 +32,11 @@ struct kscan_gpio_item_config {
#define _KSCAN_GPIO_COL_CFG_INIT(idx, n) _KSCAN_GPIO_ITEM_CFG_INIT(n, col_gpios, idx)
#if !defined(CONFIG_ZMK_KSCAN_MATRIX_POLLING)
-static int kscan_gpio_config_interrupts(struct device **devices,
+static int kscan_gpio_config_interrupts(const struct device **devices,
const struct kscan_gpio_item_config *configs, size_t len,
gpio_flags_t flags) {
for (int i = 0; i < len; i++) {
- struct device *dev = devices[i];
+ const struct device *dev = devices[i];
const struct kscan_gpio_item_config *cfg = &configs[i];
int err = gpio_pin_interrupt_configure(dev, cfg->pin, flags);
@@ -64,7 +64,7 @@ static int kscan_gpio_config_interrupts(struct device **devices,
struct kscan_gpio_irq_callback_##n { \
struct COND_CODE_0(DT_INST_PROP(n, debounce_period), (k_work), (k_delayed_work)) * work; \
struct gpio_callback callback; \
- struct device *dev; \
+ const struct device *dev; \
}; \
static struct kscan_gpio_irq_callback_##n irq_callbacks_##n[INST_INPUT_LEN(n)]; \
struct kscan_gpio_config_##n { \
@@ -76,46 +76,47 @@ static int kscan_gpio_config_interrupts(struct device **devices,
COND_CODE_1(CONFIG_ZMK_KSCAN_MATRIX_POLLING, (struct k_timer poll_timer;), ()) \
struct COND_CODE_0(DT_INST_PROP(n, debounce_period), (k_work), (k_delayed_work)) work; \
bool matrix_state[INST_MATRIX_ROWS(n)][INST_MATRIX_COLS(n)]; \
- struct device *rows[INST_MATRIX_ROWS(n)]; \
- struct device *cols[INST_MATRIX_COLS(n)]; \
- struct device *dev; \
+ const struct device *rows[INST_MATRIX_ROWS(n)]; \
+ const struct device *cols[INST_MATRIX_COLS(n)]; \
+ const struct device *dev; \
}; \
- static struct device **kscan_gpio_input_devices_##n(struct device *dev) { \
+ static const struct device **kscan_gpio_input_devices_##n(const struct device *dev) { \
struct kscan_gpio_data_##n *data = dev->data; \
return (COND_CODE_0(DT_ENUM_IDX(DT_DRV_INST(n), diode_direction), (data->cols), \
(data->rows))); \
} \
- static const struct kscan_gpio_item_config *kscan_gpio_input_configs_##n(struct device *dev) { \
+ static const struct kscan_gpio_item_config *kscan_gpio_input_configs_##n( \
+ const struct device *dev) { \
const struct kscan_gpio_config_##n *cfg = dev->config; \
return (( \
COND_CODE_0(DT_ENUM_IDX(DT_DRV_INST(n), diode_direction), (cfg->cols), (cfg->rows)))); \
} \
- static struct device **kscan_gpio_output_devices_##n(struct device *dev) { \
+ static const struct device **kscan_gpio_output_devices_##n(const struct device *dev) { \
struct kscan_gpio_data_##n *data = dev->data; \
return (COND_CODE_0(DT_ENUM_IDX(DT_DRV_INST(n), diode_direction), (data->rows), \
(data->cols))); \
} \
static const struct kscan_gpio_item_config *kscan_gpio_output_configs_##n( \
- struct device *dev) { \
+ const struct device *dev) { \
const struct kscan_gpio_config_##n *cfg = dev->config; \
return ( \
COND_CODE_0(DT_ENUM_IDX(DT_DRV_INST(n), diode_direction), (cfg->rows), (cfg->cols))); \
} \
COND_CODE_1(CONFIG_ZMK_KSCAN_MATRIX_POLLING, (), \
( \
- static int kscan_gpio_enable_interrupts_##n(struct device *dev) { \
+ static int kscan_gpio_enable_interrupts_##n(const struct device *dev) { \
return kscan_gpio_config_interrupts( \
kscan_gpio_input_devices_##n(dev), kscan_gpio_input_configs_##n(dev), \
INST_INPUT_LEN(n), GPIO_INT_LEVEL_ACTIVE); \
- } static int kscan_gpio_disable_interrupts_##n(struct device *dev) { \
+ } static int kscan_gpio_disable_interrupts_##n(const struct device *dev) { \
return kscan_gpio_config_interrupts(kscan_gpio_input_devices_##n(dev), \
kscan_gpio_input_configs_##n(dev), \
INST_INPUT_LEN(n), GPIO_INT_DISABLE); \
})) \
- static void kscan_gpio_set_output_state_##n(struct device *dev, int value) { \
+ static void kscan_gpio_set_output_state_##n(const struct device *dev, int value) { \
int err; \
for (int i = 0; i < INST_OUTPUT_LEN(n); i++) { \
- struct device *in_dev = kscan_gpio_output_devices_##n(dev)[i]; \
+ const struct device *in_dev = kscan_gpio_output_devices_##n(dev)[i]; \
const struct kscan_gpio_item_config *cfg = &kscan_gpio_output_configs_##n(dev)[i]; \
if ((err = gpio_pin_set(in_dev, cfg->pin, value))) { \
LOG_DBG("FAILED TO SET OUTPUT %d to %d", cfg->pin, err); \
@@ -130,7 +131,7 @@ static int kscan_gpio_config_interrupts(struct device **devices,
[COND_CODE_0(DT_ENUM_IDX(DT_DRV_INST(n), diode_direction), (input_index), \
(output_index))] = value; \
} \
- static int kscan_gpio_read_##n(struct device *dev) { \
+ static int kscan_gpio_read_##n(const struct device *dev) { \
bool submit_follow_up_read = false; \
struct kscan_gpio_data_##n *data = dev->data; \
static bool read_state[INST_MATRIX_ROWS(n)][INST_MATRIX_COLS(n)]; \
@@ -139,11 +140,11 @@ static int kscan_gpio_config_interrupts(struct device **devices,
/* to get pressed state for each matrix cell. */ \
kscan_gpio_set_output_state_##n(dev, 0); \
for (int o = 0; o < INST_OUTPUT_LEN(n); o++) { \
- struct device *out_dev = kscan_gpio_output_devices_##n(dev)[o]; \
+ const struct device *out_dev = kscan_gpio_output_devices_##n(dev)[o]; \
const struct kscan_gpio_item_config *out_cfg = &kscan_gpio_output_configs_##n(dev)[o]; \
gpio_pin_set(out_dev, out_cfg->pin, 1); \
for (int i = 0; i < INST_INPUT_LEN(n); i++) { \
- struct device *in_dev = kscan_gpio_input_devices_##n(dev)[i]; \
+ const struct device *in_dev = kscan_gpio_input_devices_##n(dev)[i]; \
const struct kscan_gpio_item_config *in_cfg = \
&kscan_gpio_input_configs_##n(dev)[i]; \
kscan_gpio_set_matrix_state_##n(read_state, i, o, \
@@ -181,8 +182,8 @@ static int kscan_gpio_config_interrupts(struct device **devices,
struct kscan_gpio_data_##n *data = CONTAINER_OF(work, struct kscan_gpio_data_##n, work); \
kscan_gpio_read_##n(data->dev); \
} \
- static void kscan_gpio_irq_callback_handler_##n(struct device *dev, struct gpio_callback *cb, \
- gpio_port_pins_t pin) { \
+ static void kscan_gpio_irq_callback_handler_##n( \
+ const struct device *dev, struct gpio_callback *cb, gpio_port_pins_t pin) { \
struct kscan_gpio_irq_callback_##n *data = \
CONTAINER_OF(cb, struct kscan_gpio_irq_callback_##n, callback); \
COND_CODE_1(CONFIG_ZMK_KSCAN_MATRIX_POLLING, (), \
@@ -196,7 +197,7 @@ static int kscan_gpio_config_interrupts(struct device **devices,
\
static struct kscan_gpio_data_##n kscan_gpio_data_##n = { \
.rows = {[INST_MATRIX_ROWS(n) - 1] = NULL}, .cols = {[INST_MATRIX_COLS(n) - 1] = NULL}}; \
- static int kscan_gpio_configure_##n(struct device *dev, kscan_callback_t callback) { \
+ static int kscan_gpio_configure_##n(const struct device *dev, kscan_callback_t callback) { \
struct kscan_gpio_data_##n *data = dev->data; \
if (!callback) { \
return -EINVAL; \
@@ -205,14 +206,14 @@ static int kscan_gpio_config_interrupts(struct device **devices,
LOG_DBG("Configured GPIO %d", n); \
return 0; \
}; \
- static int kscan_gpio_enable_##n(struct device *dev) { \
+ static int kscan_gpio_enable_##n(const struct device *dev) { \
COND_CODE_1(CONFIG_ZMK_KSCAN_MATRIX_POLLING, \
(struct kscan_gpio_data_##n *data = dev->data; \
k_timer_start(&data->poll_timer, K_MSEC(10), K_MSEC(10)); return 0;), \
(int err = kscan_gpio_enable_interrupts_##n(dev); \
if (err) { return err; } return kscan_gpio_read_##n(dev);)) \
}; \
- static int kscan_gpio_disable_##n(struct device *dev) { \
+ static int kscan_gpio_disable_##n(const struct device *dev) { \
COND_CODE_1(CONFIG_ZMK_KSCAN_MATRIX_POLLING, \
(struct kscan_gpio_data_##n *data = dev->data; \
k_timer_stop(&data->poll_timer); return 0;), \
@@ -225,10 +226,10 @@ static int kscan_gpio_config_interrupts(struct device **devices,
k_work_submit(&data->work.work); \
}), \
()) \
- static int kscan_gpio_init_##n(struct device *dev) { \
+ static int kscan_gpio_init_##n(const struct device *dev) { \
struct kscan_gpio_data_##n *data = dev->data; \
int err; \
- struct device **input_devices = kscan_gpio_input_devices_##n(dev); \
+ const struct device **input_devices = kscan_gpio_input_devices_##n(dev); \
for (int i = 0; i < INST_INPUT_LEN(n); i++) { \
const struct kscan_gpio_item_config *in_cfg = &kscan_gpio_input_configs_##n(dev)[i]; \
input_devices[i] = device_get_binding(in_cfg->label); \
@@ -253,7 +254,7 @@ static int kscan_gpio_config_interrupts(struct device **devices,
return err; \
} \
} \
- struct device **output_devices = kscan_gpio_output_devices_##n(dev); \
+ const struct device **output_devices = kscan_gpio_output_devices_##n(dev); \
for (int o = 0; o < INST_OUTPUT_LEN(n); o++) { \
const struct kscan_gpio_item_config *out_cfg = &kscan_gpio_output_configs_##n(dev)[o]; \
output_devices[o] = device_get_binding(out_cfg->label); \
diff --git a/app/drivers/kscan/kscan_mock.c b/app/drivers/kscan/kscan_mock.c
index 0d687a3..8b40ab4 100644
--- a/app/drivers/kscan/kscan_mock.c
+++ b/app/drivers/kscan/kscan_mock.c
@@ -20,17 +20,17 @@ struct kscan_mock_data {
uint32_t event_index;
struct k_delayed_work work;
- struct device *dev;
+ const struct device *dev;
};
-static int kscan_mock_disable_callback(struct device *dev) {
+static int kscan_mock_disable_callback(const struct device *dev) {
struct kscan_mock_data *data = dev->data;
k_delayed_work_cancel(&data->work);
return 0;
}
-static int kscan_mock_configure(struct device *dev, kscan_callback_t callback) {
+static int kscan_mock_configure(const struct device *dev, kscan_callback_t callback) {
struct kscan_mock_data *data = dev->data;
if (!callback) {
@@ -48,7 +48,7 @@ static int kscan_mock_configure(struct device *dev, kscan_callback_t callback) {
uint32_t events[DT_INST_PROP_LEN(n, events)]; \
bool exit_after; \
}; \
- static void kscan_mock_schedule_next_event_##n(struct device *dev) { \
+ static void kscan_mock_schedule_next_event_##n(const struct device *dev) { \
struct kscan_mock_data *data = dev->data; \
const struct kscan_mock_config_##n *cfg = dev->config; \
if (data->event_index < DT_INST_PROP_LEN(n, events)) { \
@@ -70,13 +70,13 @@ static int kscan_mock_configure(struct device *dev, kscan_callback_t callback) {
kscan_mock_schedule_next_event_##n(data->dev); \
data->event_index++; \
} \
- static int kscan_mock_init_##n(struct device *dev) { \
+ static int kscan_mock_init_##n(const struct device *dev) { \
struct kscan_mock_data *data = dev->data; \
data->dev = dev; \
k_delayed_work_init(&data->work, kscan_mock_work_handler_##n); \
return 0; \
} \
- static int kscan_mock_enable_callback_##n(struct device *dev) { \
+ static int kscan_mock_enable_callback_##n(const struct device *dev) { \
kscan_mock_schedule_next_event_##n(dev); \
return 0; \
} \
diff --git a/app/drivers/sensor/battery_voltage_divider/battery_voltage_divider.c b/app/drivers/sensor/battery_voltage_divider/battery_voltage_divider.c
index 87bd1d8..0618687 100644
--- a/app/drivers/sensor/battery_voltage_divider/battery_voltage_divider.c
+++ b/app/drivers/sensor/battery_voltage_divider/battery_voltage_divider.c
@@ -33,8 +33,8 @@ struct bvd_config {
};
struct bvd_data {
- struct device *adc;
- struct device *gpio;
+ const struct device *adc;
+ const struct device *gpio;
struct adc_channel_cfg acc;
struct adc_sequence as;
uint16_t adc_raw;
@@ -55,7 +55,7 @@ static uint8_t lithium_ion_mv_to_pct(int16_t bat_mv) {
return bat_mv * 2 / 15 - 459;
}
-static int bvd_sample_fetch(struct device *dev, enum sensor_channel chan) {
+static int bvd_sample_fetch(const struct device *dev, enum sensor_channel chan) {
struct bvd_data *drv_data = dev->data;
const struct bvd_config *drv_cfg = dev->config;
struct adc_sequence *as = &drv_data->as;
@@ -113,7 +113,8 @@ static int bvd_sample_fetch(struct device *dev, enum sensor_channel chan) {
return rc;
}
-static int bvd_channel_get(struct device *dev, enum sensor_channel chan, struct sensor_value *val) {
+static int bvd_channel_get(const struct device *dev, enum sensor_channel chan,
+ struct sensor_value *val) {
struct bvd_data *drv_data = dev->data;
switch (chan) {
@@ -139,7 +140,7 @@ static const struct sensor_driver_api bvd_api = {
.channel_get = bvd_channel_get,
};
-static int bvd_init(struct device *dev) {
+static int bvd_init(const struct device *dev) {
struct bvd_data *drv_data = dev->data;
const struct bvd_config *drv_cfg = dev->config;
diff --git a/app/drivers/sensor/ec11/ec11.c b/app/drivers/sensor/ec11/ec11.c
index 80e75aa..38a0578 100644
--- a/app/drivers/sensor/ec11/ec11.c
+++ b/app/drivers/sensor/ec11/ec11.c
@@ -18,7 +18,7 @@
LOG_MODULE_REGISTER(EC11, CONFIG_SENSOR_LOG_LEVEL);
-static int ec11_get_ab_state(struct device *dev) {
+static int ec11_get_ab_state(const struct device *dev) {
struct ec11_data *drv_data = dev->data;
const struct ec11_config *drv_cfg = dev->config;
@@ -26,7 +26,7 @@ static int ec11_get_ab_state(struct device *dev) {
gpio_pin_get(drv_data->b, drv_cfg->b_pin);
}
-static int ec11_sample_fetch(struct device *dev, enum sensor_channel chan) {
+static int ec11_sample_fetch(const struct device *dev, enum sensor_channel chan) {
struct ec11_data *drv_data = dev->data;
const struct ec11_config *drv_cfg = dev->config;
uint8_t val;
@@ -68,7 +68,7 @@ static int ec11_sample_fetch(struct device *dev, enum sensor_channel chan) {
return 0;
}
-static int ec11_channel_get(struct device *dev, enum sensor_channel chan,
+static int ec11_channel_get(const struct device *dev, enum sensor_channel chan,
struct sensor_value *val) {
struct ec11_data *drv_data = dev->data;
@@ -90,7 +90,7 @@ static const struct sensor_driver_api ec11_driver_api = {
.channel_get = ec11_channel_get,
};
-int ec11_init(struct device *dev) {
+int ec11_init(const struct device *dev) {
struct ec11_data *drv_data = dev->data;
const struct ec11_config *drv_cfg = dev->config;
diff --git a/app/drivers/sensor/ec11/ec11.h b/app/drivers/sensor/ec11/ec11.h
index 029f66b..1cb9c5f 100644
--- a/app/drivers/sensor/ec11/ec11.h
+++ b/app/drivers/sensor/ec11/ec11.h
@@ -23,8 +23,8 @@ struct ec11_config {
};
struct ec11_data {
- struct device *a;
- struct device *b;
+ const struct device *a;
+ const struct device *b;
uint8_t ab_state;
int8_t pulses;
int8_t ticks;
@@ -33,7 +33,7 @@ struct ec11_data {
#ifdef CONFIG_EC11_TRIGGER
struct gpio_callback a_gpio_cb;
struct gpio_callback b_gpio_cb;
- struct device *dev;
+ const struct device *dev;
sensor_trigger_handler_t handler;
const struct sensor_trigger *trigger;
@@ -51,8 +51,8 @@ struct ec11_data {
#ifdef CONFIG_EC11_TRIGGER
-int ec11_trigger_set(struct device *dev, const struct sensor_trigger *trig,
+int ec11_trigger_set(const struct device *dev, const struct sensor_trigger *trig,
sensor_trigger_handler_t handler);
-int ec11_init_interrupt(struct device *dev);
+int ec11_init_interrupt(const struct device *dev);
#endif
diff --git a/app/drivers/sensor/ec11/ec11_trigger.c b/app/drivers/sensor/ec11/ec11_trigger.c
index c4934fb..00bebb1 100644
--- a/app/drivers/sensor/ec11/ec11_trigger.c
+++ b/app/drivers/sensor/ec11/ec11_trigger.c
@@ -19,7 +19,7 @@ extern struct ec11_data ec11_driver;
#include <logging/log.h>
LOG_MODULE_DECLARE(EC11, CONFIG_SENSOR_LOG_LEVEL);
-static inline void setup_int(struct device *dev, bool enable) {
+static inline void setup_int(const struct device *dev, bool enable) {
struct ec11_data *data = dev->data;
const struct ec11_config *cfg = dev->config;
@@ -36,7 +36,8 @@ static inline void setup_int(struct device *dev, bool enable) {
}
}
-static void ec11_a_gpio_callback(struct device *dev, struct gpio_callback *cb, uint32_t pins) {
+static void ec11_a_gpio_callback(const struct device *dev, struct gpio_callback *cb,
+ uint32_t pins) {
struct ec11_data *drv_data = CONTAINER_OF(cb, struct ec11_data, a_gpio_cb);
LOG_DBG("");
@@ -50,7 +51,8 @@ static void ec11_a_gpio_callback(struct device *dev, struct gpio_callback *cb, u
#endif
}
-static void ec11_b_gpio_callback(struct device *dev, struct gpio_callback *cb, uint32_t pins) {
+static void ec11_b_gpio_callback(const struct device *dev, struct gpio_callback *cb,
+ uint32_t pins) {
struct ec11_data *drv_data = CONTAINER_OF(cb, struct ec11_data, b_gpio_cb);
LOG_DBG("");
@@ -65,7 +67,7 @@ static void ec11_b_gpio_callback(struct device *dev, struct gpio_callback *cb, u
}
static void ec11_thread_cb(void *arg) {
- struct device *dev = arg;
+ const struct device *dev = arg;
struct ec11_data *drv_data = dev->data;
drv_data->handler(dev, drv_data->trigger);
@@ -75,7 +77,7 @@ static void ec11_thread_cb(void *arg) {
#ifdef CONFIG_EC11_TRIGGER_OWN_THREAD
static void ec11_thread(int dev_ptr, int unused) {
- struct device *dev = INT_TO_POINTER(dev_ptr);
+ const struct device *dev = INT_TO_POINTER(dev_ptr);
struct ec11_data *drv_data = dev->data;
ARG_UNUSED(unused);
@@ -97,7 +99,7 @@ static void ec11_work_cb(struct k_work *work) {
}
#endif
-int ec11_trigger_set(struct device *dev, const struct sensor_trigger *trig,
+int ec11_trigger_set(const struct device *dev, const struct sensor_trigger *trig,
sensor_trigger_handler_t handler) {
struct ec11_data *drv_data = dev->data;
@@ -113,7 +115,7 @@ int ec11_trigger_set(struct device *dev, const struct sensor_trigger *trig,
return 0;
}
-int ec11_init_interrupt(struct device *dev) {
+int ec11_init_interrupt(const struct device *dev) {
struct ec11_data *drv_data = dev->data;
const struct ec11_config *drv_cfg = dev->config;
diff --git a/app/include/drivers/behavior.h b/app/include/drivers/behavior.h
index 56ff7af..bc135fd 100644
--- a/app/include/drivers/behavior.h
+++ b/app/include/drivers/behavior.h
@@ -23,7 +23,8 @@
typedef int (*behavior_keymap_binding_callback_t)(struct zmk_behavior_binding *binding,
struct zmk_behavior_binding_event event);
typedef int (*behavior_sensor_keymap_binding_callback_t)(struct zmk_behavior_binding *binding,
- struct device *sensor, int64_t timestamp);
+ const struct device *sensor,
+ int64_t timestamp);
__subsystem struct behavior_driver_api {
behavior_keymap_binding_callback_t binding_pressed;
@@ -48,7 +49,7 @@ __syscall int behavior_keymap_binding_pressed(struct zmk_behavior_binding *bindi
static inline int z_impl_behavior_keymap_binding_pressed(struct zmk_behavior_binding *binding,
struct zmk_behavior_binding_event event) {
- struct device *dev = device_get_binding(binding->behavior_dev);
+ const struct device *dev = device_get_binding(binding->behavior_dev);
const struct behavior_driver_api *api = (const struct behavior_driver_api *)dev->api;
if (api->binding_pressed == NULL) {
@@ -71,7 +72,7 @@ __syscall int behavior_keymap_binding_released(struct zmk_behavior_binding *bind
static inline int z_impl_behavior_keymap_binding_released(struct zmk_behavior_binding *binding,
struct zmk_behavior_binding_event event) {
- struct device *dev = device_get_binding(binding->behavior_dev);
+ const struct device *dev = device_get_binding(binding->behavior_dev);
const struct behavior_driver_api *api = (const struct behavior_driver_api *)dev->api;
if (api->binding_released == NULL) {
@@ -92,12 +93,13 @@ static inline int z_impl_behavior_keymap_binding_released(struct zmk_behavior_bi
* @retval Negative errno code if failure.
*/
__syscall int behavior_sensor_keymap_binding_triggered(struct zmk_behavior_binding *binding,
- struct device *sensor, int64_t timestamp);
+ const struct device *sensor,
+ int64_t timestamp);
static inline int
z_impl_behavior_sensor_keymap_binding_triggered(struct zmk_behavior_binding *binding,
- struct device *sensor, int64_t timestamp) {
- struct device *dev = device_get_binding(binding->behavior_dev);
+ const struct device *sensor, int64_t timestamp) {
+ const struct device *dev = device_get_binding(binding->behavior_dev);
const struct behavior_driver_api *api = (const struct behavior_driver_api *)dev->api;
if (api->sensor_binding_triggered == NULL) {
diff --git a/app/include/drivers/ext_power.h b/app/include/drivers/ext_power.h
index ddc85a3..b422750 100644
--- a/app/include/drivers/ext_power.h
+++ b/app/include/drivers/ext_power.h
@@ -22,9 +22,9 @@ extern "C" {
* (Internal use only.)
*/
-typedef int (*ext_power_enable_t)(struct device *dev);
-typedef int (*ext_power_disable_t)(struct device *dev);
-typedef int (*ext_power_get_t)(struct device *dev);
+typedef int (*ext_power_enable_t)(const struct device *dev);
+typedef int (*ext_power_disable_t)(const struct device *dev);
+typedef int (*ext_power_get_t)(const struct device *dev);
__subsystem struct ext_power_api {
ext_power_enable_t enable;
@@ -42,9 +42,9 @@ __subsystem struct ext_power_api {
* @retval 0 If successful.
* @retval Negative errno code if failure.
*/
-__syscall int ext_power_enable(struct device *dev);
+__syscall int ext_power_enable(const struct device *dev);
-static inline int z_impl_ext_power_enable(struct device *dev) {
+static inline int z_impl_ext_power_enable(const struct device *dev) {
const struct ext_power_api *api = (const struct ext_power_api *)dev->api;
if (api->enable == NULL) {
@@ -61,9 +61,9 @@ static inline int z_impl_ext_power_enable(struct device *dev) {
* @retval 0 If successful.
* @retval Negative errno code if failure.
*/
-__syscall int ext_power_disable(struct device *dev);
+__syscall int ext_power_disable(const struct device *dev);
-static inline int z_impl_ext_power_disable(struct device *dev) {
+static inline int z_impl_ext_power_disable(const struct device *dev) {
const struct ext_power_api *api = (const struct ext_power_api *)dev->api;
if (api->disable == NULL) {
@@ -81,9 +81,9 @@ static inline int z_impl_ext_power_disable(struct device *dev) {
* @retval 1 if ext power is enabled.
* @retval Negative errno code if failure.
*/
-__syscall int ext_power_get(struct device *dev);
+__syscall int ext_power_get(const struct device *dev);
-static inline int z_impl_ext_power_get(struct device *dev) {
+static inline int z_impl_ext_power_get(const struct device *dev) {
const struct ext_power_api *api = (const struct ext_power_api *)dev->api;
if (api->get == NULL) {
diff --git a/app/include/zmk/events/sensor-event.h b/app/include/zmk/events/sensor-event.h
index d1d72f4..0bd3ccf 100644
--- a/app/include/zmk/events/sensor-event.h
+++ b/app/include/zmk/events/sensor-event.h
@@ -13,7 +13,7 @@
struct sensor_event {
struct zmk_event_header header;
uint8_t sensor_number;
- struct device *sensor;
+ const struct device *sensor;
int64_t timestamp;
};
diff --git a/app/src/battery.c b/app/src/battery.c
index e78b2fb..777dbdb 100644
--- a/app/src/battery.c
+++ b/app/src/battery.c
@@ -17,9 +17,9 @@ LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL);
#include <zmk/event-manager.h>
#include <zmk/events/battery-state-changed.h>
-struct device *battery;
+const struct device *battery;
-static int zmk_battery_update(struct device *battery) {
+static int zmk_battery_update(const struct device *battery) {
struct sensor_value state_of_charge;
int rc = sensor_sample_fetch_chan(battery, SENSOR_CHAN_GAUGE_STATE_OF_CHARGE);
@@ -64,7 +64,7 @@ static void zmk_battery_timer(struct k_timer *timer) { k_work_submit(&battery_wo
K_TIMER_DEFINE(battery_timer, zmk_battery_timer, NULL);
-static int zmk_battery_init(struct device *_arg) {
+static int zmk_battery_init(const struct device *_arg) {
battery = device_get_binding("BATTERY");
if (battery == NULL) {
diff --git a/app/src/behaviors/behavior_bt.c b/app/src/behaviors/behavior_bt.c
index 066c437..bfafc4b 100644
--- a/app/src/behaviors/behavior_bt.c
+++ b/app/src/behaviors/behavior_bt.c
@@ -35,7 +35,7 @@ static int on_keymap_binding_pressed(struct zmk_behavior_binding *binding,
return -ENOTSUP;
}
-static int behavior_bt_init(struct device *dev) { return 0; };
+static int behavior_bt_init(const struct device *dev) { return 0; };
static int on_keymap_binding_released(struct zmk_behavior_binding *binding,
struct zmk_behavior_binding_event event) {
diff --git a/app/src/behaviors/behavior_ext_power.c b/app/src/behaviors/behavior_ext_power.c
index 825f983..dbc6fd9 100644
--- a/app/src/behaviors/behavior_ext_power.c
+++ b/app/src/behaviors/behavior_ext_power.c
@@ -18,7 +18,7 @@ LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL);
static int on_keymap_binding_pressed(struct zmk_behavior_binding *binding,
struct zmk_behavior_binding_event event) {
- struct device *ext_power = device_get_binding("EXT_POWER");
+ const struct device *ext_power = device_get_binding("EXT_POWER");
if (ext_power == NULL) {
LOG_ERR("Unable to retrieve ext_power device: %d", binding->param1);
return -EIO;
@@ -46,7 +46,7 @@ static int on_keymap_binding_released(struct zmk_behavior_binding *binding,
return 0;
}
-static int behavior_ext_power_init(struct device *dev) { return 0; };
+static int behavior_ext_power_init(const struct device *dev) { return 0; };
static const struct behavior_driver_api behavior_ext_power_driver_api = {
.binding_pressed = on_keymap_binding_pressed,
diff --git a/app/src/behaviors/behavior_hold_tap.c b/app/src/behaviors/behavior_hold_tap.c
index 44a5117..556273e 100644
--- a/app/src/behaviors/behavior_hold_tap.c
+++ b/app/src/behaviors/behavior_hold_tap.c
@@ -304,7 +304,7 @@ static void decide_hold_tap(struct active_hold_tap *hold_tap, enum decision_mome
static int on_hold_tap_binding_pressed(struct zmk_behavior_binding *binding,
struct zmk_behavior_binding_event event) {
- struct device *dev = device_get_binding(binding->behavior_dev);
+ const struct device *dev = device_get_binding(binding->behavior_dev);
const struct behavior_hold_tap_config *cfg = dev->config;
if (undecided_hold_tap != NULL) {
@@ -479,7 +479,7 @@ void behavior_hold_tap_timer_work_handler(struct k_work *item) {
}
}
-static int behavior_hold_tap_init(struct device *dev) {
+static int behavior_hold_tap_init(const struct device *dev) {
static bool init_first_run = true;
if (init_first_run) {
diff --git a/app/src/behaviors/behavior_key_press.c b/app/src/behaviors/behavior_key_press.c
index 8559a51..aa19ca9 100644
--- a/app/src/behaviors/behavior_key_press.c
+++ b/app/src/behaviors/behavior_key_press.c
@@ -16,7 +16,7 @@
LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL);
-static int behavior_key_press_init(struct device *dev) { return 0; };
+static int behavior_key_press_init(const struct device *dev) { return 0; };
static int on_keymap_binding_pressed(struct zmk_behavior_binding *binding,
struct zmk_behavior_binding_event event) {
diff --git a/app/src/behaviors/behavior_momentary_layer.c b/app/src/behaviors/behavior_momentary_layer.c
index b1fb14b..2b0206d 100644
--- a/app/src/behaviors/behavior_momentary_layer.c
+++ b/app/src/behaviors/behavior_momentary_layer.c
@@ -18,7 +18,7 @@ LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL);
struct behavior_mo_config {};
struct behavior_mo_data {};
-static int behavior_mo_init(struct device *dev) { return 0; };
+static int behavior_mo_init(const struct device *dev) { return 0; };
static int mo_keymap_binding_pressed(struct zmk_behavior_binding *binding,
struct zmk_behavior_binding_event event) {
diff --git a/app/src/behaviors/behavior_none.c b/app/src/behaviors/behavior_none.c
index 96ea9d5..12542f0 100644
--- a/app/src/behaviors/behavior_none.c
+++ b/app/src/behaviors/behavior_none.c
@@ -18,7 +18,7 @@ LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL);
struct behavior_none_config {};
struct behavior_none_data {};
-static int behavior_none_init(struct device *dev) { return 0; };
+static int behavior_none_init(const struct device *dev) { return 0; };
static int on_keymap_binding_pressed(struct zmk_behavior_binding *binding,
struct zmk_behavior_binding_event event) {
diff --git a/app/src/behaviors/behavior_outputs.c b/app/src/behaviors/behavior_outputs.c
index e5182bd..3a45b7f 100644
--- a/app/src/behaviors/behavior_outputs.c
+++ b/app/src/behaviors/behavior_outputs.c
@@ -34,7 +34,7 @@ static int on_keymap_binding_pressed(struct zmk_behavior_binding *binding,
return -ENOTSUP;
}
-static int behavior_out_init(struct device *dev) { return 0; }
+static int behavior_out_init(const struct device *dev) { return 0; }
static const struct behavior_driver_api behavior_outputs_driver_api = {
.binding_pressed = on_keymap_binding_pressed,
diff --git a/app/src/behaviors/behavior_reset.c b/app/src/behaviors/behavior_reset.c
index 97d0a1d..cb77a83 100644
--- a/app/src/behaviors/behavior_reset.c
+++ b/app/src/behaviors/behavior_reset.c
@@ -19,11 +19,11 @@ struct behavior_reset_config {
int type;
};
-static int behavior_reset_init(struct device *dev) { return 0; };
+static int behavior_reset_init(const struct device *dev) { return 0; };
static int on_keymap_binding_pressed(struct zmk_behavior_binding *binding,
struct zmk_behavior_binding_event event) {
- struct device *dev = device_get_binding(binding->behavior_dev);
+ const struct device *dev = device_get_binding(binding->behavior_dev);
const struct behavior_reset_config *cfg = dev->config;
// TODO: Correct magic code for going into DFU?
diff --git a/app/src/behaviors/behavior_rgb_underglow.c b/app/src/behaviors/behavior_rgb_underglow.c
index 80839a7..a0db9a9 100644
--- a/app/src/behaviors/behavior_rgb_underglow.c
+++ b/app/src/behaviors/behavior_rgb_underglow.c
@@ -16,7 +16,7 @@
LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL);
-static int behavior_rgb_underglow_init(struct device *dev) { return 0; }
+static int behavior_rgb_underglow_init(const struct device *dev) { return 0; }
static int on_keymap_binding_pressed(struct zmk_behavior_binding *binding,
struct zmk_behavior_binding_event event) {
diff --git a/app/src/behaviors/behavior_sensor_rotate_key_press.c b/app/src/behaviors/behavior_sensor_rotate_key_press.c
index 85af24a..a0e0acc 100644
--- a/app/src/behaviors/behavior_sensor_rotate_key_press.c
+++ b/app/src/behaviors/behavior_sensor_rotate_key_press.c
@@ -16,10 +16,10 @@
LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL);
-static int behavior_sensor_rotate_key_press_init(struct device *dev) { return 0; };
+static int behavior_sensor_rotate_key_press_init(const struct device *dev) { return 0; };
-static int on_sensor_binding_triggered(struct zmk_behavior_binding *binding, struct device *sensor,
- int64_t timestamp) {
+static int on_sensor_binding_triggered(struct zmk_behavior_binding *binding,
+ const struct device *sensor, int64_t timestamp) {
struct sensor_value value;
int err;
uint32_t keycode;
diff --git a/app/src/behaviors/behavior_sticky_key.c b/app/src/behaviors/behavior_sticky_key.c
index 51c78ff..920f6f2 100644
--- a/app/src/behaviors/behavior_sticky_key.c
+++ b/app/src/behaviors/behavior_sticky_key.c
@@ -127,7 +127,7 @@ static int stop_timer(struct active_sticky_key *sticky_key) {
static int on_sticky_key_binding_pressed(struct zmk_behavior_binding *binding,
struct zmk_behavior_binding_event event) {
- struct device *dev = device_get_binding(binding->behavior_dev);
+ const struct device *dev = device_get_binding(binding->behavior_dev);
const struct behavior_sticky_key_config *cfg = dev->config;
struct active_sticky_key *sticky_key;
sticky_key = find_sticky_key(event.position);
@@ -242,7 +242,7 @@ void behavior_sticky_key_timer_handler(struct k_work *item) {
}
}
-static int behavior_sticky_key_init(struct device *dev) {
+static int behavior_sticky_key_init(const struct device *dev) {
static bool init_first_run = true;
if (init_first_run) {
for (int i = 0; i < ZMK_BHV_STICKY_KEY_MAX_HELD; i++) {
diff --git a/app/src/behaviors/behavior_toggle_layer.c b/app/src/behaviors/behavior_toggle_layer.c
index b3c6961..3283377 100644
--- a/app/src/behaviors/behavior_toggle_layer.c
+++ b/app/src/behaviors/behavior_toggle_layer.c
@@ -18,7 +18,7 @@ LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL);
struct behavior_tog_config {};
struct behavior_tog_data {};
-static int behavior_tog_init(struct device *dev) { return 0; };
+static int behavior_tog_init(const struct device *dev) { return 0; };
static int tog_keymap_binding_pressed(struct zmk_behavior_binding *binding,
struct zmk_behavior_binding_event event) {
diff --git a/app/src/behaviors/behavior_transparent.c b/app/src/behaviors/behavior_transparent.c
index cede369..17a5e43 100644
--- a/app/src/behaviors/behavior_transparent.c
+++ b/app/src/behaviors/behavior_transparent.c
@@ -18,7 +18,7 @@ LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL);
struct behavior_transparent_config {};
struct behavior_transparent_data {};
-static int behavior_transparent_init(struct device *dev) { return 0; };
+static int behavior_transparent_init(const struct device *dev) { return 0; };
static int on_keymap_binding_pressed(struct zmk_behavior_binding *binding,
struct zmk_behavior_binding_event event) {
diff --git a/app/src/ble.c b/app/src/ble.c
index 5f5f94a..d335f94 100644
--- a/app/src/ble.c
+++ b/app/src/ble.c
@@ -509,7 +509,7 @@ static void zmk_ble_ready(int err) {
update_advertising();
}
-static int zmk_ble_init(struct device *_arg) {
+static int zmk_ble_init(const struct device *_arg) {
int err = bt_enable(NULL);
if (err) {
diff --git a/app/src/display/main.c b/app/src/display/main.c
index d64fb2a..3683897 100644
--- a/app/src/display/main.c
+++ b/app/src/display/main.c
@@ -18,7 +18,7 @@ LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL);
#define ZMK_DISPLAY_NAME CONFIG_LVGL_DISPLAY_DEV_NAME
-static struct device *display;
+static const struct device *display;
static lv_obj_t *screen;
diff --git a/app/src/endpoints.c b/app/src/endpoints.c
index 030b27a..f432ac2 100644
--- a/app/src/endpoints.c
+++ b/app/src/endpoints.c
@@ -156,7 +156,7 @@ static int endpoints_handle_set(const char *name, size_t len, settings_read_cb r
struct settings_handler endpoints_handler = {.name = "endpoints", .h_set = endpoints_handle_set};
#endif /* IS_ENABLED(CONFIG_SETTINGS) */
-static int zmk_endpoints_init(struct device *_arg) {
+static int zmk_endpoints_init(const struct device *_arg) {
#if IS_ENABLED(CONFIG_SETTINGS)
settings_subsys_init();
diff --git a/app/src/ext_power_generic.c b/app/src/ext_power_generic.c
index ca44d20..71d1209 100644
--- a/app/src/ext_power_generic.c
+++ b/app/src/ext_power_generic.c
@@ -26,7 +26,7 @@ struct ext_power_generic_config {
};
struct ext_power_generic_data {
- struct device *gpio;
+ const struct device *gpio;
bool status;
#if IS_ENABLED(CONFIG_SETTINGS)
bool settings_init;
@@ -36,7 +36,7 @@ struct ext_power_generic_data {
#if IS_ENABLED(CONFIG_SETTINGS)
static void ext_power_save_state_work(struct k_work *work) {
char setting_path[40];
- struct device *ext_power = device_get_binding(DT_INST_LABEL(0));
+ const struct device *ext_power = device_get_binding(DT_INST_LABEL(0));
struct ext_power_generic_data *data = ext_power->data;
snprintf(setting_path, 40, "ext_power/state/%s", DT_INST_LABEL(0));
@@ -55,7 +55,7 @@ int ext_power_save_state() {
#endif
}
-static int ext_power_generic_enable(struct device *dev) {
+static int ext_power_generic_enable(const struct device *dev) {
struct ext_power_generic_data *data = dev->data;
const struct ext_power_generic_config *config = dev->config;
@@ -67,7 +67,7 @@ static int ext_power_generic_enable(struct device *dev) {
return ext_power_save_state();
}
-static int ext_power_generic_disable(struct device *dev) {
+static int ext_power_generic_disable(const struct device *dev) {
struct ext_power_generic_data *data = dev->data;
const struct ext_power_generic_config *config = dev->config;
@@ -79,7 +79,7 @@ static int ext_power_generic_disable(struct device *dev) {
return ext_power_save_state();
}
-static int ext_power_generic_get(struct device *dev) {
+static int ext_power_generic_get(const struct device *dev) {
struct ext_power_generic_data *data = dev->data;
return data->status;
}
@@ -91,7 +91,7 @@ static int ext_power_settings_set(const char *name, size_t len, settings_read_cb
int rc;
if (settings_name_steq(name, DT_INST_LABEL(0), &next) && !next) {
- struct device *ext_power = device_get_binding(DT_INST_LABEL(0));
+ const struct device *ext_power = device_get_binding(DT_INST_LABEL(0));
struct ext_power_generic_data *data = ext_power->data;
if (len != sizeof(data->status)) {
@@ -124,7 +124,7 @@ struct settings_handler ext_power_conf = {.name = "ext_power/state",
.h_set = ext_power_settings_set};
#endif
-static int ext_power_generic_init(struct device *dev) {
+static int ext_power_generic_init(const struct device *dev) {
struct ext_power_generic_data *data = dev->data;
const struct ext_power_generic_config *config = dev->config;
diff --git a/app/src/keymap.c b/app/src/keymap.c
index 0dc7c1a..cab6d47 100644
--- a/app/src/keymap.c
+++ b/app/src/keymap.c
@@ -121,7 +121,7 @@ bool is_active_layer(uint8_t layer, zmk_keymap_layers_state layer_state) {
int zmk_keymap_apply_position_state(int layer, uint32_t position, bool pressed, int64_t timestamp) {
struct zmk_behavior_binding *binding = &zmk_keymap[layer][position];
- struct device *behavior;
+ const struct device *behavior;
struct zmk_behavior_binding_event event = {
.layer = layer,
.position = position,
@@ -168,13 +168,14 @@ int zmk_keymap_position_state_changed(uint32_t position, bool pressed, int64_t t
}
#if ZMK_KEYMAP_HAS_SENSORS
-int zmk_keymap_sensor_triggered(uint8_t sensor_number, struct device *sensor, int64_t timestamp) {
+int zmk_keymap_sensor_triggered(uint8_t sensor_number, const struct device *sensor,
+ int64_t timestamp) {
for (int layer = ZMK_KEYMAP_LAYERS_LEN - 1; layer >= _zmk_keymap_layer_default; layer--) {
if (((_zmk_keymap_layer_state & BIT(layer)) == BIT(layer) ||
layer == _zmk_keymap_layer_default) &&
zmk_sensor_keymap[layer] != NULL) {
struct zmk_behavior_binding *binding = &zmk_sensor_keymap[layer][sensor_number];
- struct device *behavior;
+ const struct device *behavior;
int ret;
LOG_DBG("layer: %d sensor_number: %d, binding name: %s", layer, sensor_number,
diff --git a/app/src/kscan.c b/app/src/kscan.c
index b6ffc37..c22d71b 100644
--- a/app/src/kscan.c
+++ b/app/src/kscan.c
@@ -30,7 +30,8 @@ struct zmk_kscan_msg_processor {
K_MSGQ_DEFINE(zmk_kscan_msgq, sizeof(struct zmk_kscan_event), CONFIG_ZMK_KSCAN_EVENT_QUEUE_SIZE, 4);
-static void zmk_kscan_callback(struct device *dev, uint32_t row, uint32_t column, bool pressed) {
+static void zmk_kscan_callback(const struct device *dev, uint32_t row, uint32_t column,
+ bool pressed) {
struct zmk_kscan_event ev = {
.row = row,
.column = column,
@@ -58,7 +59,7 @@ void zmk_kscan_process_msgq(struct k_work *item) {
}
int zmk_kscan_init(char *name) {
- struct device *dev = device_get_binding(name);
+ const struct device *dev = device_get_binding(name);
if (dev == NULL) {
LOG_ERR("Failed to get the KSCAN device");
return -EINVAL;
diff --git a/app/src/rgb_underglow.c b/app/src/rgb_underglow.c
index b2943e6..f5ed9ce 100644
--- a/app/src/rgb_underglow.c
+++ b/app/src/rgb_underglow.c
@@ -46,14 +46,14 @@ struct rgb_underglow_state {
bool on;
};
-static struct device *led_strip;
+static const struct device *led_strip;
static struct led_rgb pixels[STRIP_NUM_PIXELS];
static struct rgb_underglow_state state;
#if IS_ENABLED(CONFIG_ZMK_RGB_UNDERGLOW_EXT_POWER)
-static struct device *ext_power;
+static const struct device *ext_power;
#endif
static struct led_rgb hsb_to_rgb(struct led_hsb hsb) {
@@ -238,7 +238,7 @@ static void zmk_rgb_underglow_save_state_work() {
static struct k_delayed_work underglow_save_work;
#endif
-static int zmk_rgb_underglow_init(struct device *_arg) {
+static int zmk_rgb_underglow_init(const struct device *_arg) {
led_strip = device_get_binding(STRIP_LABEL);
if (led_strip) {
LOG_INF("Found LED strip device %s", STRIP_LABEL);
diff --git a/app/src/sensors.c b/app/src/sensors.c
index 5bccc85..5b4f683 100644
--- a/app/src/sensors.c
+++ b/app/src/sensors.c
@@ -20,7 +20,7 @@ LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL);
struct sensors_data_item {
uint8_t sensor_number;
- struct device *dev;
+ const struct device *dev;
struct sensor_trigger trigger;
};
@@ -32,7 +32,7 @@ struct sensors_data_item {
static struct sensors_data_item sensors[] = {UTIL_LISTIFY(ZMK_KEYMAP_SENSORS_LEN, SENSOR_ITEM, 0)};
-static void zmk_sensors_trigger_handler(struct device *dev, struct sensor_trigger *trigger) {
+static void zmk_sensors_trigger_handler(const struct device *dev, struct sensor_trigger *trigger) {
int err;
struct sensors_data_item *item = CONTAINER_OF(trigger, struct sensors_data_item, trigger);
struct sensor_event *event;
@@ -72,7 +72,7 @@ static void zmk_sensors_init_item(const char *node, uint8_t i, uint8_t abs_i) {
COND_CODE_1(DT_NODE_HAS_STATUS(ZMK_KEYMAP_SENSORS_BY_IDX(idx), okay), \
(_SENSOR_INIT(ZMK_KEYMAP_SENSORS_BY_IDX(idx))), (absolute_index++;))
-static int zmk_sensors_init(struct device *_arg) {
+static int zmk_sensors_init(const struct device *_arg) {
int local_index = 0;
int absolute_index = 0;
diff --git a/app/src/settings.c b/app/src/settings.c
index 8914ccc..9366dd2 100644
--- a/app/src/settings.c
+++ b/app/src/settings.c
@@ -3,6 +3,6 @@
#include <kernel.h>
#include <settings/settings.h>
-static int zmk_settings_init(struct device *_arg) { return settings_load(); }
+static int zmk_settings_init(const struct device *_arg) { return settings_load(); }
SYS_INIT(zmk_settings_init, APPLICATION, CONFIG_APPLICATION_INIT_PRIORITY);
diff --git a/app/src/split/bluetooth/central.c b/app/src/split/bluetooth/central.c
index f3c860f..c41894f 100644
--- a/app/src/split/bluetooth/central.c
+++ b/app/src/split/bluetooth/central.c
@@ -315,7 +315,7 @@ static struct bt_conn_cb conn_callbacks = {
.disconnected = split_central_disconnected,
};
-int zmk_split_bt_central_init(struct device *_arg) {
+int zmk_split_bt_central_init(const struct device *_arg) {
bt_conn_cb_register(&conn_callbacks);
return start_scan();
diff --git a/app/src/usb.c b/app/src/usb.c
index d0253b5..009d7af 100644
--- a/app/src/usb.c
+++ b/app/src/usb.c
@@ -21,7 +21,7 @@ static enum usb_dc_status_code usb_status = USB_DC_UNKNOWN;
#ifdef CONFIG_ZMK_USB
-static struct device *hid_dev;
+static const struct device *hid_dev;
static K_SEM_DEFINE(hid_sem, 1, 1);
@@ -83,7 +83,7 @@ void usb_status_cb(enum usb_dc_status_code status, const uint8_t *params) {
raise_usb_status_changed_event();
};
-static int zmk_usb_init(struct device *_arg) {
+static int zmk_usb_init(const struct device *_arg) {
int usb_enable_ret;
#ifdef CONFIG_ZMK_USB