chained_irq_exit(irq_chip, desc);
 }
 
-static void ingenic_gpio_set(struct gpio_chip *gc,
-               unsigned int offset, int value)
+static int ingenic_gpio_set(struct gpio_chip *gc, unsigned int offset,
+                           int value)
 {
        struct ingenic_gpio_chip *jzgc = gpiochip_get_data(gc);
 
        ingenic_gpio_set_value(jzgc, offset, value);
+
+       return 0;
 }
 
 static int ingenic_gpio_get(struct gpio_chip *gc, unsigned int offset)
        jzgc->gc.fwnode = fwnode;
        jzgc->gc.owner = THIS_MODULE;
 
-       jzgc->gc.set = ingenic_gpio_set;
+       jzgc->gc.set_rv = ingenic_gpio_set;
        jzgc->gc.get = ingenic_gpio_get;
        jzgc->gc.direction_input = pinctrl_gpio_direction_input;
        jzgc->gc.direction_output = ingenic_gpio_direction_output;