@@ -386,15 +386,19 @@ static int twl_to_irq(struct gpio_chip *chip, unsigned offset)
: -EINVAL;
}
-static struct gpio_chip template_chip = {
- .label = "twl4030",
- .owner = THIS_MODULE,
+const struct gpio_chip_ops ops = {
.request = twl_request,
.free = twl_free,
.direction_input = twl_direction_in,
.get = twl_get,
.direction_output = twl_direction_out,
.set = twl_set,
+};
+
+static struct gpio_chip template_chip = {
+ .label = "twl4030",
+ .owner = THIS_MODULE,
+ .ops = &ops,
.to_irq = twl_to_irq,
.can_sleep = true,
};
The GPIO controller operations has been split to be stored on a separate struct gpio_chip_ops virtual function table. Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk> --- drivers/gpio/gpio-twl4030.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-)