summaryrefslogtreecommitdiff
path: root/app/drivers/zephyr
diff options
context:
space:
mode:
authorPete Johanson <peter@peterjohanson.com>2020-08-18 11:20:15 -0400
committerPete Johanson <peter@peterjohanson.com>2020-08-18 13:17:10 -0400
commit4402e4fbc7bc79206589d3006fde802c4ba70ec7 (patch)
treebdbff3b1edb4b62d8d1dc32c0d640bb6b8fa1ef0 /app/drivers/zephyr
parentd7dee20e8d9b0b566859304063df2176aef8c057 (diff)
feeature(bt): Add "unpair combo" on startup.
* Especially for splits, we need the ability to unpair all paired devices as sledgehammer if we need to "reset things", and doing so via keymaps isn't suitable. * Allows shields to define a collection of key positions that if all held 2 seconds after startup, will unpair all existing pairs for the device.
Diffstat (limited to 'app/drivers/zephyr')
-rw-r--r--app/drivers/zephyr/kscan_gpio_matrix.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/app/drivers/zephyr/kscan_gpio_matrix.c b/app/drivers/zephyr/kscan_gpio_matrix.c
index baaca30..b19c492 100644
--- a/app/drivers/zephyr/kscan_gpio_matrix.c
+++ b/app/drivers/zephyr/kscan_gpio_matrix.c
@@ -205,7 +205,13 @@ static int kscan_gpio_config_interrupts(struct device **devices,
} \
data->callback = callback; \
return 0; \
- } \
+ }; \
+ static int kscan_gpio_enable_##n(struct device *dev) \
+ { \
+ int err = kscan_gpio_enable_interrupts_##n(dev); \
+ if (err) { return err; } \
+ return kscan_gpio_read_##n(dev); \
+ }; \
static int kscan_gpio_init_##n(struct device *dev) \
{ \
struct kscan_gpio_data_##n *data = dev->driver_data; \
@@ -258,7 +264,7 @@ static int kscan_gpio_config_interrupts(struct device **devices,
} \
static const struct kscan_driver_api gpio_driver_api_##n = { \
.config = kscan_gpio_configure_##n, \
- .enable_callback = kscan_gpio_enable_interrupts_##n, \
+ .enable_callback = kscan_gpio_enable_##n, \
.disable_callback = kscan_gpio_disable_interrupts_##n, \
}; \
static const struct kscan_gpio_config_##n kscan_gpio_config_##n = { \