diff options
author | Nick <nick.win999@gmail.com> | 2020-09-19 19:15:05 -0500 |
---|---|---|
committer | Nick <nick.win999@gmail.com> | 2020-09-19 19:15:05 -0500 |
commit | da0fb965f6b6a67154e20a3fddda48f5bc392d77 (patch) | |
tree | f7f9aa9a45b39bb4d943eb7d2ba6e71d516ab40c /app/src/kscan_composite.c | |
parent | 844f2c76749cbc5ff611d8e69819af82b698089a (diff) | |
parent | c0806d27f1d048db335ecc854eab61b59e23ea7a (diff) |
Merge remote-tracking branch 'upstream/main' into bluetooth/battery-reporting
Diffstat (limited to 'app/src/kscan_composite.c')
-rw-r--r-- | app/src/kscan_composite.c | 65 |
1 files changed, 26 insertions, 39 deletions
diff --git a/app/src/kscan_composite.c b/app/src/kscan_composite.c index d46484b..0249140 100644 --- a/app/src/kscan_composite.c +++ b/app/src/kscan_composite.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 Peter Johanson <peter@peterjohanson.com> + * Copyright (c) 2020 The ZMK Contributors * * SPDX-License-Identifier: MIT */ @@ -15,37 +15,31 @@ LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL); #define MATRIX_ROWS DT_PROP(MATRIX_NODE_ID, rows) #define MATRIX_COLS DT_PROP(MATRIX_NODE_ID, columns) -struct kscan_composite_child_config -{ +struct kscan_composite_child_config { char *label; u8_t row_offset; u8_t column_offset; }; -#define CHILD_CONFIG(inst) \ - { \ - .label = DT_LABEL(DT_PHANDLE(inst, kscan)), \ - .row_offset = DT_PROP(inst, row_offset), \ - .column_offset = DT_PROP(inst, column_offset)}, +#define CHILD_CONFIG(inst) \ + {.label = DT_LABEL(DT_PHANDLE(inst, kscan)), \ + .row_offset = DT_PROP(inst, row_offset), \ + .column_offset = DT_PROP(inst, column_offset)}, const struct kscan_composite_child_config kscan_composite_children[] = { DT_FOREACH_CHILD(MATRIX_NODE_ID, CHILD_CONFIG)}; -struct kscan_composite_config -{ -}; +struct kscan_composite_config {}; -struct kscan_composite_data -{ +struct kscan_composite_data { kscan_callback_t callback; struct device *dev; }; -static int kscan_composite_enable_callback(struct device *dev) -{ - for (int i = 0; i < sizeof(kscan_composite_children) / sizeof(kscan_composite_children[0]); i++) - { +static int kscan_composite_enable_callback(struct device *dev) { + for (int i = 0; i < sizeof(kscan_composite_children) / sizeof(kscan_composite_children[0]); + i++) { const struct kscan_composite_child_config *cfg = &kscan_composite_children[i]; kscan_enable_callback(device_get_binding(cfg->label)); @@ -53,10 +47,9 @@ static int kscan_composite_enable_callback(struct device *dev) return 0; } -static int kscan_composite_disable_callback(struct device *dev) -{ - for (int i = 0; i < sizeof(kscan_composite_children) / sizeof(kscan_composite_children[0]); i++) - { +static int kscan_composite_disable_callback(struct device *dev) { + for (int i = 0; i < sizeof(kscan_composite_children) / sizeof(kscan_composite_children[0]); + i++) { const struct kscan_composite_child_config *cfg = &kscan_composite_children[i]; kscan_disable_callback(device_get_binding(cfg->label)); @@ -64,18 +57,17 @@ static int kscan_composite_disable_callback(struct device *dev) return 0; } -static void kscan_composite_child_callback(struct device *child_dev, u32_t row, u32_t column, bool pressed) -{ +static void kscan_composite_child_callback(struct device *child_dev, u32_t row, u32_t column, + 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; - for (int i = 0; i < sizeof(kscan_composite_children) / sizeof(kscan_composite_children[0]); i++) - { + for (int i = 0; i < sizeof(kscan_composite_children) / sizeof(kscan_composite_children[0]); + i++) { const struct kscan_composite_child_config *cfg = &kscan_composite_children[i]; - if (device_get_binding(cfg->label) != child_dev) - { + if (device_get_binding(cfg->label) != child_dev) { continue; } @@ -83,17 +75,15 @@ static void kscan_composite_child_callback(struct device *child_dev, u32_t row, } } -static int kscan_composite_configure(struct device *dev, kscan_callback_t callback) -{ +static int kscan_composite_configure(struct device *dev, kscan_callback_t callback) { struct kscan_composite_data *data = dev->driver_data; - if (!callback) - { + if (!callback) { return -EINVAL; } - for (int i = 0; i < sizeof(kscan_composite_children) / sizeof(kscan_composite_children[0]); i++) - { + for (int i = 0; i < sizeof(kscan_composite_children) / sizeof(kscan_composite_children[0]); + i++) { const struct kscan_composite_child_config *cfg = &kscan_composite_children[i]; kscan_config(device_get_binding(cfg->label), &kscan_composite_child_callback); @@ -104,8 +94,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(struct device *dev) { struct kscan_composite_data *data = dev->driver_data; data->dev = dev; @@ -123,8 +112,6 @@ static const struct kscan_composite_config kscan_composite_config = {}; static struct kscan_composite_data kscan_composite_data; -DEVICE_AND_API_INIT(kscan_composite, DT_INST_LABEL(0), kscan_composite_init, - &kscan_composite_data, - &kscan_composite_config, - APPLICATION, CONFIG_KERNEL_INIT_PRIORITY_DEFAULT, +DEVICE_AND_API_INIT(kscan_composite, DT_INST_LABEL(0), kscan_composite_init, &kscan_composite_data, + &kscan_composite_config, APPLICATION, CONFIG_KERNEL_INIT_PRIORITY_DEFAULT, &mock_driver_api); |