forked from kofal.net/zmk
refactor(app): replace driver_data with data
See: https://docs.zephyrproject.org/latest/releases/release-notes-2.4.html PR: #467
This commit is contained in:
@@ -59,7 +59,7 @@ static void kscan_composite_child_callback(struct device *child_dev, uint32_t ro
|
||||
bool pressed) {
|
||||
// TODO: Ideally we can get this passed into our callback!
|
||||
struct device *dev = device_get_binding(DT_INST_LABEL(0));
|
||||
struct kscan_composite_data *data = dev->driver_data;
|
||||
struct kscan_composite_data *data = dev->data;
|
||||
|
||||
for (int i = 0; i < ARRAY_SIZE(kscan_composite_children); i++) {
|
||||
const struct kscan_composite_child_config *cfg = &kscan_composite_children[i];
|
||||
@@ -73,7 +73,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) {
|
||||
struct kscan_composite_data *data = dev->driver_data;
|
||||
struct kscan_composite_data *data = dev->data;
|
||||
|
||||
if (!callback) {
|
||||
return -EINVAL;
|
||||
@@ -91,7 +91,7 @@ static int kscan_composite_configure(struct device *dev, kscan_callback_t callba
|
||||
}
|
||||
|
||||
static int kscan_composite_init(struct device *dev) {
|
||||
struct kscan_composite_data *data = dev->driver_data;
|
||||
struct kscan_composite_data *data = dev->data;
|
||||
|
||||
data->dev = dev;
|
||||
|
||||
|
||||
@@ -69,7 +69,7 @@ struct kscan_gpio_item_config {
|
||||
/* IO/GPIO SETUP */ \
|
||||
/* gpio_input_devices are PHYSICAL IO devices */ \
|
||||
static struct device **kscan_gpio_input_devices_##n(struct device *dev) { \
|
||||
struct kscan_gpio_data_##n *data = dev->driver_data; \
|
||||
struct kscan_gpio_data_##n *data = dev->data; \
|
||||
return data->rows; \
|
||||
} \
|
||||
\
|
||||
@@ -80,7 +80,7 @@ struct kscan_gpio_item_config {
|
||||
\
|
||||
/* gpio_output_devices are PHYSICAL IO devices */ \
|
||||
static struct device **kscan_gpio_output_devices_##n(struct device *dev) { \
|
||||
struct kscan_gpio_data_##n *data = dev->driver_data; \
|
||||
struct kscan_gpio_data_##n *data = dev->data; \
|
||||
return data->cols; \
|
||||
} \
|
||||
\
|
||||
@@ -101,7 +101,7 @@ struct kscan_gpio_item_config {
|
||||
/* This is the core matrix_scan func */ \
|
||||
static int kscan_gpio_read_##n(struct device *dev) { \
|
||||
bool submit_follow_up_read = false; \
|
||||
struct kscan_gpio_data_##n *data = dev->driver_data; \
|
||||
struct kscan_gpio_data_##n *data = dev->data; \
|
||||
static bool read_state[INST_MATRIX_INPUTS(n)][INST_MATRIX_OUTPUTS(n)]; \
|
||||
for (int o = 0; o < INST_MATRIX_OUTPUTS(n); o++) { \
|
||||
/* Iterate over bits and set GPIOs accordingly */ \
|
||||
@@ -153,7 +153,7 @@ struct kscan_gpio_item_config {
|
||||
/* KSCAN API configure function */ \
|
||||
static int kscan_gpio_configure_##n(struct device *dev, kscan_callback_t callback) { \
|
||||
LOG_DBG("KSCAN API configure"); \
|
||||
struct kscan_gpio_data_##n *data = dev->driver_data; \
|
||||
struct kscan_gpio_data_##n *data = dev->data; \
|
||||
if (!callback) { \
|
||||
return -EINVAL; \
|
||||
} \
|
||||
@@ -165,7 +165,7 @@ struct kscan_gpio_item_config {
|
||||
/* KSCAN API enable function */ \
|
||||
static int kscan_gpio_enable_##n(struct device *dev) { \
|
||||
LOG_DBG("KSCAN API enable"); \
|
||||
struct kscan_gpio_data_##n *data = dev->driver_data; \
|
||||
struct kscan_gpio_data_##n *data = dev->data; \
|
||||
/* TODO: we might want a follow up to hook into the sleep state hooks in Zephyr, */ \
|
||||
/* and disable this timer when we enter a sleep state */ \
|
||||
k_timer_start(&data->poll_timer, K_MSEC(POLL_INTERVAL(n)), K_MSEC(POLL_INTERVAL(n))); \
|
||||
@@ -175,7 +175,7 @@ struct kscan_gpio_item_config {
|
||||
/* KSCAN API disable function */ \
|
||||
static int kscan_gpio_disable_##n(struct device *dev) { \
|
||||
LOG_DBG("KSCAN API disable"); \
|
||||
struct kscan_gpio_data_##n *data = dev->driver_data; \
|
||||
struct kscan_gpio_data_##n *data = dev->data; \
|
||||
k_timer_stop(&data->poll_timer); \
|
||||
return 0; \
|
||||
}; \
|
||||
@@ -183,7 +183,7 @@ struct kscan_gpio_item_config {
|
||||
/* GPIO init function*/ \
|
||||
static int kscan_gpio_init_##n(struct device *dev) { \
|
||||
LOG_DBG("KSCAN GPIO init"); \
|
||||
struct kscan_gpio_data_##n *data = dev->driver_data; \
|
||||
struct kscan_gpio_data_##n *data = dev->data; \
|
||||
int err; \
|
||||
/* configure input devices*/ \
|
||||
struct device **input_devices = kscan_gpio_input_devices_##n(dev); \
|
||||
|
||||
@@ -44,7 +44,7 @@ struct kscan_gpio_data {
|
||||
};
|
||||
|
||||
static struct device **kscan_gpio_input_devices(struct device *dev) {
|
||||
struct kscan_gpio_data *data = dev->driver_data;
|
||||
struct kscan_gpio_data *data = dev->data;
|
||||
return data->inputs;
|
||||
}
|
||||
|
||||
@@ -116,12 +116,12 @@ static void kscan_gpio_timer_handler(struct k_timer *timer) {
|
||||
}
|
||||
|
||||
static int kscan_gpio_direct_enable(struct device *dev) {
|
||||
struct kscan_gpio_data *data = dev->driver_data;
|
||||
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) {
|
||||
struct kscan_gpio_data *data = dev->driver_data;
|
||||
struct kscan_gpio_data *data = dev->data;
|
||||
k_timer_stop(&data->poll_timer);
|
||||
return 0;
|
||||
}
|
||||
@@ -129,7 +129,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) {
|
||||
struct kscan_gpio_data *data = dev->driver_data;
|
||||
struct kscan_gpio_data *data = dev->data;
|
||||
if (!callback) {
|
||||
return -EINVAL;
|
||||
}
|
||||
@@ -138,7 +138,7 @@ static int kscan_gpio_direct_configure(struct device *dev, kscan_callback_t call
|
||||
}
|
||||
|
||||
static int kscan_gpio_read(struct device *dev) {
|
||||
struct kscan_gpio_data *data = dev->driver_data;
|
||||
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;
|
||||
@@ -195,7 +195,7 @@ static const struct kscan_driver_api gpio_driver_api = {
|
||||
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) { \
|
||||
struct kscan_gpio_data *data = dev->driver_data; \
|
||||
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); \
|
||||
|
||||
@@ -81,7 +81,7 @@ static int kscan_gpio_config_interrupts(struct device **devices,
|
||||
struct device *dev; \
|
||||
}; \
|
||||
static struct device **kscan_gpio_input_devices_##n(struct device *dev) { \
|
||||
struct kscan_gpio_data_##n *data = dev->driver_data; \
|
||||
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))); \
|
||||
} \
|
||||
@@ -91,7 +91,7 @@ static int kscan_gpio_config_interrupts(struct device **devices,
|
||||
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) { \
|
||||
struct kscan_gpio_data_##n *data = dev->driver_data; \
|
||||
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))); \
|
||||
} \
|
||||
@@ -132,7 +132,7 @@ static int kscan_gpio_config_interrupts(struct device **devices,
|
||||
} \
|
||||
static int kscan_gpio_read_##n(struct device *dev) { \
|
||||
bool submit_follow_up_read = false; \
|
||||
struct kscan_gpio_data_##n *data = dev->driver_data; \
|
||||
struct kscan_gpio_data_##n *data = dev->data; \
|
||||
static bool read_state[INST_MATRIX_ROWS(n)][INST_MATRIX_COLS(n)]; \
|
||||
/* Disable our interrupts temporarily while we scan, to avoid */ \
|
||||
/* re-entry while we iterate columns and set them active one by one */ \
|
||||
@@ -197,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) { \
|
||||
struct kscan_gpio_data_##n *data = dev->driver_data; \
|
||||
struct kscan_gpio_data_##n *data = dev->data; \
|
||||
if (!callback) { \
|
||||
return -EINVAL; \
|
||||
} \
|
||||
@@ -207,14 +207,14 @@ static int kscan_gpio_config_interrupts(struct device **devices,
|
||||
}; \
|
||||
static int kscan_gpio_enable_##n(struct device *dev) { \
|
||||
COND_CODE_1(CONFIG_ZMK_KSCAN_MATRIX_POLLING, \
|
||||
(struct kscan_gpio_data_##n *data = dev->driver_data; \
|
||||
(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) { \
|
||||
COND_CODE_1(CONFIG_ZMK_KSCAN_MATRIX_POLLING, \
|
||||
(struct kscan_gpio_data_##n *data = dev->driver_data; \
|
||||
(struct kscan_gpio_data_##n *data = dev->data; \
|
||||
k_timer_stop(&data->poll_timer); return 0;), \
|
||||
(return kscan_gpio_disable_interrupts_##n(dev);)) \
|
||||
}; \
|
||||
@@ -226,7 +226,7 @@ static int kscan_gpio_config_interrupts(struct device **devices,
|
||||
}), \
|
||||
()) \
|
||||
static int kscan_gpio_init_##n(struct device *dev) { \
|
||||
struct kscan_gpio_data_##n *data = dev->driver_data; \
|
||||
struct kscan_gpio_data_##n *data = dev->data; \
|
||||
int err; \
|
||||
struct device **input_devices = kscan_gpio_input_devices_##n(dev); \
|
||||
for (int i = 0; i < INST_INPUT_LEN(n); i++) { \
|
||||
|
||||
@@ -24,14 +24,14 @@ struct kscan_mock_data {
|
||||
};
|
||||
|
||||
static int kscan_mock_disable_callback(struct device *dev) {
|
||||
struct kscan_mock_data *data = dev->driver_data;
|
||||
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) {
|
||||
struct kscan_mock_data *data = dev->driver_data;
|
||||
struct kscan_mock_data *data = dev->data;
|
||||
|
||||
if (!callback) {
|
||||
return -EINVAL;
|
||||
@@ -49,7 +49,7 @@ static int kscan_mock_configure(struct device *dev, kscan_callback_t callback) {
|
||||
bool exit_after; \
|
||||
}; \
|
||||
static void kscan_mock_schedule_next_event_##n(struct device *dev) { \
|
||||
struct kscan_mock_data *data = dev->driver_data; \
|
||||
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)) { \
|
||||
uint32_t ev = cfg->events[data->event_index]; \
|
||||
@@ -71,7 +71,7 @@ static int kscan_mock_configure(struct device *dev, kscan_callback_t callback) {
|
||||
data->event_index++; \
|
||||
} \
|
||||
static int kscan_mock_init_##n(struct device *dev) { \
|
||||
struct kscan_mock_data *data = dev->driver_data; \
|
||||
struct kscan_mock_data *data = dev->data; \
|
||||
data->dev = dev; \
|
||||
k_delayed_work_init(&data->work, kscan_mock_work_handler_##n); \
|
||||
return 0; \
|
||||
|
||||
Reference in New Issue
Block a user