Address further review by @petejohanson

This commit is contained in:
Kurtis Lew 2022-05-17 22:27:26 -07:00 committed by Pete Johanson
parent 4dfcadb1ed
commit 6f1adfbe14
1 changed files with 7 additions and 7 deletions

View File

@ -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;