Address further review by @petejohanson
This commit is contained in:
parent
4dfcadb1ed
commit
6f1adfbe14
1 changed files with 7 additions and 7 deletions
|
@ -125,7 +125,7 @@ static void kscan_direct_irq_callback_handler(const struct device *port, struct
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static gpio_flags_t kscan_gpio_get_flags(const struct gpio_dt_spec *gpio, bool active) {
|
static gpio_flags_t kscan_gpio_get_extra_flags(const struct gpio_dt_spec *gpio, bool active) {
|
||||||
gpio_flags_t flags = BIT(0) & gpio->dt_flags;
|
gpio_flags_t flags = BIT(0) & gpio->dt_flags;
|
||||||
if (!active) {
|
if (!active) {
|
||||||
flags |= flags ? GPIO_PULL_UP : GPIO_PULL_DOWN;
|
flags |= flags ? GPIO_PULL_UP : GPIO_PULL_DOWN;
|
||||||
|
@ -135,13 +135,13 @@ static gpio_flags_t kscan_gpio_get_flags(const struct gpio_dt_spec *gpio, bool a
|
||||||
|
|
||||||
static int kscan_inputs_set_flags(const struct kscan_gpio_list *inputs,
|
static int kscan_inputs_set_flags(const struct kscan_gpio_list *inputs,
|
||||||
const struct gpio_dt_spec *active_gpio) {
|
const struct gpio_dt_spec *active_gpio) {
|
||||||
gpio_flags_t updated_flags;
|
gpio_flags_t extra_flags;
|
||||||
for (int i = 0; i < inputs->len; i++) {
|
for (int i = 0; i < inputs->len; i++) {
|
||||||
updated_flags =
|
extra_flags = GPIO_INPUT | kscan_gpio_get_extra_flags(&inputs->gpios[i],
|
||||||
GPIO_INPUT | kscan_gpio_get_flags(&inputs->gpios[i], &inputs->gpios[i] == active_gpio);
|
&inputs->gpios[i] == active_gpio);
|
||||||
LOG_DBG("Updated flags equal to: %d", updated_flags);
|
LOG_DBG("Extra flags equal to: %d", extra_flags);
|
||||||
|
|
||||||
int err = gpio_pin_configure(inputs->gpios[i].port, inputs->gpios[i].pin, updated_flags);
|
int err = gpio_pin_configure_dt(&inputs->gpios[i], extra_flags);
|
||||||
if (err) {
|
if (err) {
|
||||||
LOG_ERR("Unable to configure flags on pin %d on %s", inputs->gpios[i].pin,
|
LOG_ERR("Unable to configure flags on pin %d on %s", inputs->gpios[i].pin,
|
||||||
inputs->gpios[i].port->name);
|
inputs->gpios[i].port->name);
|
||||||
|
@ -265,7 +265,7 @@ static int kscan_direct_init_input_inst(const struct device *dev, const struct g
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
}
|
}
|
||||||
int err = gpio_pin_configure_dt(
|
int err = gpio_pin_configure_dt(
|
||||||
gpio, GPIO_INPUT | (toggle_mode ? kscan_gpio_get_flags(gpio, false) : 0));
|
gpio, GPIO_INPUT | (toggle_mode ? kscan_gpio_get_extra_flags(gpio, false) : 0));
|
||||||
if (err) {
|
if (err) {
|
||||||
LOG_ERR("Unable to configure pin %u on %s for input", gpio->pin, gpio->port->name);
|
LOG_ERR("Unable to configure pin %u on %s for input", gpio->pin, gpio->port->name);
|
||||||
return err;
|
return err;
|
||||||
|
|
Loading…
Reference in a new issue