drivers: gpio: fix optional operations usage

Only provide implementations for optional operations if needed. This
patch deletes quite a few dummy `pin_interrupt_configure` ops (now
optional), and adjusts ifdeffery on some drivers so that optional ops
are only provided if they implement real functionality.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
This commit is contained in:
Gerard Marull-Paretas 2023-09-07 12:50:06 +02:00 committed by Carles Cufí
commit 64968d7402
21 changed files with 16 additions and 247 deletions

View file

@ -104,14 +104,6 @@ static int port_toggle_bits(const struct device *dev,
return port_write(dev, 0, 0, pins);
}
static int pin_interrupt_configure(const struct device *dev,
gpio_pin_t pin,
enum gpio_int_mode mode,
enum gpio_int_trig trig)
{
return -ENOTSUP;
}
static int pin_config(const struct device *dev,
gpio_pin_t pin,
gpio_flags_t flags)
@ -163,7 +155,6 @@ static const struct gpio_driver_api api_table = {
.port_set_bits_raw = port_set_bits,
.port_clear_bits_raw = port_clear_bits,
.port_toggle_bits = port_toggle_bits,
.pin_interrupt_configure = pin_interrupt_configure,
};
static const struct creg_gpio_config creg_gpio_cfg = {